点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我目前正在为输入超大客户退货(几百项)的客户进行定制。 退货单上的许多项目都无法链接到ByDesign中的现有销售订单(即原始销售订单)。
如果无法确定销售订单,则将其填充为 使用返回屏幕上的"分配参考"按钮"不适用"或"未知"。 但是,他们必须一一进行。 但是,只要在前端完成,该方法就可以工作。
我正在尝试编写代码以实现此目的的自动化,但是我希望这两种方法都能返回错误,即使我 填充数据元素的方式与查看手动完成的后端查询中显示的方式相同。
有人知道正确的方法吗?
这是我的代码 到目前为止-在CustomerReturn对象上运行,BeforeSave事件:
import ABSL; 导入AP.CRM.Global; 导入AP.Common.GDT; 导入AP.Common.Global; //对于没有参考的每个项目 foreach(this.Item中的var FoundItemWithoutReference){ //如果基本业务交易文档引用尚不存在 如果(!FoundItemWithoutReference.BaseItemBusinessTransactionDocumentItemReference.IsSet()){ //AddReferenceWithDataProvision不起作用 //下面的代码将返回错误-"无法复制文档;参考文档不存在" var BusinessTransactionDocumentItemKey:BusinessTransactionDocumentItemKey; BusinessTransactionDocumentItemKey.BusinessTransactionDocumentItemID ="未知"; BusinessTransactionDocumentItemKey.BusinessTransactionDocumentKey.BusinessTransactionDocumentID.content ="未知"; BusinessTransactionDocumentItemKey.BusinessTransactionDocumentKey.BusinessTransactionDocumentTypeCode =" 28"; FoundItemWithoutReference.AddReferenceWithDataProvision(BusinessTransactionDocumentItemKey); //下面的代码将返回错误-"无法创建;源对象不一致" //创建空白业务交易凭证参考 var BTDR_TypeCode:BusinessTransactionDocumentTypeCode; var BTDR_ID:BusinessTransactionDocumentID; var BTDR_ItemTypeCode:BusinessTransactionDocumentItemTypeCode; var BTDR_ItemID:BusinessTransactionDocumentItemID; BTDR_TypeCode =" 114"; BTDR_ID.content ="未知"; BTDR_ItemTypeCode =" 28"; BTDR_ItemID ="未知"; //存储要创建的销售订单项目参考的元素 var elemItemBusinessTransactionDocumentReference:CustomerReturn.Item.ItemBusinessTransactionDocumentReference的元素; elemItemBusinessTransactionDocumentReference.BusinessTransactionDocumentRelationshipRoleCode =" 1"; //角色代码1-前身 elemItemBusinessTransactionDocumentReference.BusinessTransactionDocumentReference.TypeCode = BTDR_TypeCode; elemItemBusinessTransactionDocumentReference.BusinessTransactionDocumentReference.ID = BTDR_ID; elemItemBusinessTransactionDocumentReference.BusinessTransactionDocumentReference.ItemTypeCode = BTDR_ItemTypeCode; elemItemBusinessTransactionDocumentReference.BusinessTransactionDocumentReference.ItemID = BTDR_ItemID; elemItemBusinessTransactionDocumentReference.DataProviderIndicator = false; //数据提供者-False,这不是ByDesign事务 FoundItemWithoutReference.ItemBusinessTransactionDocumentReference.Create(elemItemBusinessTransactionDocumentReference); }//如果基本业务交易文档引用尚不存在,则结束 }//结束每个没有引用的项目
你好,丹,
如果没有参考,为什么根本需要创建一个?
如果没有创建" ItemBusinessTransactionDocumentReference",是否也会出错?
再见,
霍斯特
霍斯特,
是的,需要引用-没有引用,返回无效/不一致且无法发布 。
您好,皮埃尔,
对不起,但我离开了这个区域。 :-(
但是AFAI记得在这个方向上没有做任何事情。
再见,
。霍斯特
霍斯特,
好主意,但是我遇到了同样的错误。我想出了很多,但是当我在支持下开立一个案子时,他们告诉我,在考虑之前,我必须在SCN上提问。
感谢您的答复,
-Dan
Hello Dan,
根据您的回复 如果您提交这些数据,则必须使用ID" UNKNOWN"来编码BTD引用。:-(
将ID字段留空怎么办?
再见,
Horst
您好,霍斯特,有关此问题的任何更新?
PDI方法唯一缺少的是"外部指标"复选框,它使您可以将任何信息传递到这些字段中。
致谢,
Pierre
一周热门 更多>