通过ABSL创建报价无法正常工作

2020-08-30 13:11发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试通过ABSL脚本创建销售报价。

我参考了Studio/存储库中SAP提供的文档,但是遇到了一些错误。

尝试了几种方法,但是似乎没有一种方法可以克服这些错误。

这是代码。

导入ABSL;
 导入AP.CRM.Global;

 var CopiedQuote:CustomerQuote的元素;
 var SalesArea:CustomerQuote.SalesAndServiceBusinessArea的元素;
 CopiedQuote.Name.content = GetOppFirst.Name.content + Context.GetCurrentSystemTime()。ToString();
 CopiedQuote.ProcessingTypeCode =" ZCPQ";
 CopiedQuote.TypeCode =" 30";

 var CreateQuote = CustomerQuote.Create(CopiedQuote);
 CreateQuote.BuyerParty.PartyKey.PartyID.content = AccountID;

 SalesArea.SalesOrganisationID = OrgID
 SalesArea.SalesTerritoryID.content = TerrID
 SalesArea.DistributionChannelCode.content =" 01";
 CreateQuote.SalesAndServiceBusinessArea.Create(SalesArea);
 

错误是

  1. 请输入具有帐户角色的参与方。
  2. 请输入具有销售部门角色的参与方。
  3. 请以卖方角色参加聚会。

请帮助。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试通过ABSL脚本创建销售报价。

我参考了Studio/存储库中SAP提供的文档,但是遇到了一些错误。

尝试了几种方法,但是似乎没有一种方法可以克服这些错误。

这是代码。

导入ABSL;
 导入AP.CRM.Global;

 var CopiedQuote:CustomerQuote的元素;
 var SalesArea:CustomerQuote.SalesAndServiceBusinessArea的元素;
 CopiedQuote.Name.content = GetOppFirst.Name.content + Context.GetCurrentSystemTime()。ToString();
 CopiedQuote.ProcessingTypeCode =" ZCPQ";
 CopiedQuote.TypeCode =" 30";

 var CreateQuote = CustomerQuote.Create(CopiedQuote);
 CreateQuote.BuyerParty.PartyKey.PartyID.content = AccountID;

 SalesArea.SalesOrganisationID = OrgID
 SalesArea.SalesTerritoryID.content = TerrID
 SalesArea.DistributionChannelCode.content =" 01";
 CreateQuote.SalesAndServiceBusinessArea.Create(SalesArea);
 

错误是

  1. 请输入具有帐户角色的参与方。
  2. 请输入具有销售部门角色的参与方。
  3. 请以卖方角色参加聚会。

请帮助。

付费偷看设置
发送
6条回答
当学会了学习
1楼-- · 2020-08-30 13:50

嗨Ajith,

我们在创造机会方面也遇到了类似的问题,我几乎可以肯定第一个错误无法解决。 在机会根的afterModify中解决了两个问题。

 var UnitPty = this.SalesUnitParty;
 var OppUnitPty = Opp.SalesUnitParty;
 如果(OppUnitPty.IsSet()){
 如果(!UnitPty.IsSet()){
 PartyTmpl.Clear();
 PartyTmpl.MainIndicator = OppUnitPty.MainIndicator;
 PartyTmpl.PartyKey.PartyID = OppUnitPty.PartyKey.PartyID;
 PartyTmpl.RoleCode = OppUnitPty.RoleCode;
 this.SalesUnitParty.Create(PartyTmpl);
 }
 其他{
 this.SalesUnitParty.PartyKey.PartyID = OppUnitPty.PartyKey.PartyID;
 }
 if(Opp.SalesAndServiceBusinessArea.IsSet()){//CRM-2742-创建询价时默认销售组织-Shweta Kulkarni-06/05/2019
 if(!this.SalesAndServiceBusinessArea.IsSet()){
 var org = Opp.SalesAndServiceBusinessArea;
 var Sales_Org = org.SalesOrganisationID;
 var SalesOrg:this.SalesAndServiceBusinessArea的元素;
 SalesOrg.SalesOrganisationID = Sales_Org;
 this.SalesAndServiceBusinessArea.Create(SalesOrg);
 }
 其他{
 var org = Opp.SalesAndServiceBusinessArea;
 var Sales_Org = org.SalesOrganisationID;
 this.SalesAndServiceBusinessArea.SalesOrganisationID = Sales_Org;
 }



 }

 

但是应该创建报价,但是var CreateQuote应该具有报价实例,您可以检查是否生成ID吗?

并确保您的操作或事件随后触发保存。

BR

Dhruvin

风早神人
2楼-- · 2020-08-30 13:41

您好 Ajith JS

那么您可以在修改后创建机会并通过潜在客户参加吗?

您可以共享您的代码吗?

Br

Dhruvin

派大星 ヾ
3楼-- · 2020-08-30 13:43

您好,Ajith,

我同意并同意您,ABSL创造机会也没有解决我们的问题。

您可以 检查 https://answers.sap.com/questions /12684466/error-message-for-account-if-opportunity-is-create.html

您能尝试这样吗,如果有帮助,在create上添加一行可能是您的最佳选择?

BR

Dhruvin

闻人可可
4楼-- · 2020-08-30 13:41

嗨Dhr uvin,

这是修改后的代码。

如果(this.ProspectParty.Party.PartyKey.PartyID.content.IsInitial())
 {
 this.ProspectParty.Party.MainIndicator = true;
 this.ProspectParty.Party.PartyKey.PartyID.content = AccountID;
 this.ProspectParty.Party.RoleCode =" 31";
 }
 

由于已经创建了ProspectParty节点,因此您不必创建它。

谢谢。

软件心理学工程师
5楼-- · 2020-08-30 13:40

嗨,达鲁文,

谢谢,我可以使用aftermodify事件删除最后两个错误,但是尽管填充了买方方节点,但我无法删除第一个错误。

由于SAP文档未提及使用after Modify事件,因此我尝试传递create事件中的值,仅导致所有这些错误。

"创建"操作后,生成了报价ID,但随后出现错误,在保存报价之前,保存和验证报价均不会触发。

在执行检查后,我会通过Quote的OWL屏幕中的一个操作(已启用质量)触发该创建脚本。

此致

Ajith

My梦
6楼-- · 2020-08-30 13:47

嗨Dhruvin,

我可以创建机会,尽管我需要在修改后更新准参加者。

但是要引用,即使在修改后进行更新也不起作用。

谢谢。

一周热门 更多>