点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
- 1,在PDI中,我们可以使用以下代码创建GoodsTag:
var aa = GoodsTagGenerator.Create();
if(aa.GoodsTagSpecification.Count()> 0)
{
foreach(aa.GoodsTagSpecification中的var goodtags)
{
goodtags.GoodsTagTypeCode =" 3";
goodtags.Text = ins_this.ProductDescription;
goodtags.MaterialKey.ProductID.content = ins_this.Product.content;
goodtags.GoodsTagMaterialQuantity.content = 1;
goodtags.GoodsTagMaterialQuantity.unitCode =" EA";
goodtags.IdentifiedStockKey.ID.content = ins_this.BatchCode.content;
goodtags.NextExternalSerialID =" abcdef";
}
}
其他
{
var goodtags = aa.GoodsTagSpecification.Create();
if(goodtags.IsSet())
{
goodtags.GoodsTagTypeCode =" 3";
goodtags.Text = ins_this.ProductDescription;
goodtags.MaterialKey.ProductID.content = ins_this.Product.content;
goodtags.GoodsTagMaterialQuantity.content = 1;
goodtags.GoodsTagMaterialQuantity.unitCode =" EA";
goodtags.IdentifiedStockKey.ID.content = ins_this.BatchCode.content;
goodtags.NextExternalSerialID =" abcdef";
//可疑代码
//goodtags.CreateIndividualMaterials();
//
//foreach(goodtags.GoodsTagSpecificationIndividualDetails.IndividualMaterial中的var ser)
//{
//ser.ServiceProcessInformation.SerialID =" 12345";
//}
//var ser = goodtags.GoodsTagSpecificationIndividualDetails.Create();
//if(ser.IsSet())
//{
//ser.IndividualMaterial.ParentIndividualProduct。 =" 12345";
//}
}
}
aa.GenerateGoodsTags();
- 2,GoodsTag中有外部引用,但没有序列号,我想使用代码添加序列号,怎么办?
- 3,在系统BO(GoodsTag,GoodsTagGenerator)中,节点IndividualMaterial无法使用事件(创建),并且我不知道如何使用函数CreateIndividualMaterials()?
- 问题:如何使用PDI创建带有序列号的GoodsTag?
非常感谢。
Benny Huang
(68.6 kB)
使用代码:
if(goodtags.GoodsTagSpecificationIndividualDetails.Count()> 0)
{
foreach(goodtags.GoodsTagSpecificationIndividualDetails中的可变详细信息)
{
detail.IndividualMaterialSerialID =" 6633123456b";
< br>}
}
goodtags.CreateIndividualMaterials();
写出serialID可以,谢谢Rahul和专家。
最好的问候
Benny
嗨Rahul,
能否请您给我一个PDI示例代码,以便在外向交货中创建GoodsTag(将包装和产品包装成包装)? 我没有找到关于此的任何文档...
谢谢和亲切的问候,
Ó。 Espinar
你好Benny,
适用于不同用例(外向交货)的附加代码。 您需要根据需要进行更改。
BR
Rahul
嗨Rahul,
非常感谢。
我使用补丁进行了测试,当GoodsTagSpecification.Create()和SiteLogisticsLot无法创建时,未设置SiteLogisticsLot,因此我无法添加SiteLogisticsLot的节点实例,因此分配失败。 也许我错过了一些步骤?
那里的东西一样吗?
最好的问候
Benny Huang
你好本恩,
您需要创建" SerialNumberAssignment"的实例。
路径为:
GoodsTagGenerator-> GoodsTagSpecification-> SiteLogisticsLot-> MaterialOutput-> SerialNumberAssignment。 并分配您的序列号。
BR
Rahul
我们可以在后发货屏幕中附加"下一个序列号"字段,该字段来自以下站点物流批次业务对象。
应保留序列号的节点是SerialNumberAssignment节点。
用户需要执行以下提到的以下步骤:-
1。 在"修改现场物流批次,物料输出节点"之后编写脚本。 物料输出节点代表过帐发货屏幕中的行项目。
2。 从MATERIAL_OUTPUT导航到SERIAL _NUMBER_ASSIGNMENT。 BO:SITE_LOGISTICS_LOT节点:MATERIAL_OUTPUT关联:SERIAL _NUMBER_ASSIGNMENT
3。为每个序列号和属性创建SerialNumberAssignment节点的实例。填充SERIALID,MATERIALOUTPUTUUID。
4。 在MATERIAL_OUTPUT上的SerialNumberAssignment节点AFTER_MODIFY上调用Confirm Action可以多次被调用\
/*
为以下项添加SAP Business ByDesign脚本语言实现:
业务对象:SiteLogisticsLot
节点:MaterialOutput
事件:AfterModify
注意:
-要访问业务对象节点的元素,
使用路径表达式,例如this。。
-要使用代码完成功能,请按CTRL + J。
-解决方案在以下情况下使用此脚本:
-修改包含此脚本的节点中任何字段的值。
-节点本身被同一解决方案中的另一个业务对象修改。
*/
导入ABSL;
//var b = 0;
//如果(b == 0)
//{
//如果(this.MTest == false)
//{
//if(!this.ConfirmMainInventorySeparatingValues.MaterialKey.ProductID.content.IsInitial())
//{
////var y = this.ConfirmMainInventorySeparatingValues.MaterialKey.ProductID。
//////var iin = SiteLogisticsLot.Retrieve(this.ID);
////var mat = iin.MaterialOutput.GetFirst();
////var instSerial = mat.SerialNumberAssignment.Create();
//
//
//var rt:SiteLogisticsLot.SerialNumberAssignment的元素;
//rt.SerialID =" 9";
//rt.MaterialOutputUUID.content = this.ConfirmMainInventorySeparatingValues.MaterialUUID.content;//" 00163e6b75071ed8bcf4a7691f622fee";
//var inst = this.SerialNumberAssignment.Create(rt);
//
//var a = 9;
//b = b + 1;
//this.MTest = true;
//
//}
//}
//}
BR
Rahul
你好Benn,
PFA。 15483832611.png
一周热门 更多>