点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用'BAPI_GOODSMVT_GETDETAIL'。
我想向该BAPI返回的表('GOODSMVT_ITEMS')添加物料欺骗,
我将" BAPI_GOODSMVT_GETDETAIL"复制到" ZBAPI_GOODSMVT_GETDETAIL"。
然后添加了以下代码,将材料描述加载到内部表中,我希望将说明放在" material_external"字段中。 但是,当我测试该功能时,内部表中的material_external字段不会更新。 我尝试放入item_text字段,并且它可以正常工作。 为什么material_material字段不起作用?
将LOOP AT GOODSMVT_ITEMS放入WA_GOODSMVT_ITEM中。 从MAKT中选择MAKTX进入MATERIAL_EXTERNAL MATNR = WA_GOODSMVT_ITEM-MATERIAL。 ENDSELECT。 WA_GOODSMVT_ITEM-MATERIAL_EXTERNAL = MATERIAL_EXTERNAL。 从WA_GOODSMVT_ITEM索引MODIFY GOODSMVT_ITEMS sy-tabix 运输MATERIAL_EXTERNAL。 ENDLOOP。
几点。
1。 切勿将标准SAP代码复制到您自己的名称空间中。 比修改SAP代码更危险。 阅读我对这个问题的评论 https://archive.sap.com/discussions/thread/3617361 a>
2。 如果要遍历内部表,请不要使用MODIFY。 而是使用LOOP AT ... ASSIGNING ...搜索有关其工作方式的示例。 或阅读文档。
3。 使用select endselect,您可以遍历MAKT中具有该特定MATNR的所有条目,并最后到达最后一个条目。 在多语言系统上如何工作? 使用SELECT SINGLE并指定完整键。
嗨,马修,
在调试模式下,我确实看到了 -material和 -material_external变量。
我还在循环结束后放置了一个断点,我发现内部表中的material_external是
但是当功能结束时,返回表中的material_external再次为空。
嗨,Pawadee,
外部材料不是描述字段。 资料以内部和外部格式表示。
当您尝试将材料放置在外部时,它将使用现有材料进行验证。
您可以检查MATNR_EXT域以获取有关转化的更多信息。
希望您可以向Matthew建议不要复制标准BAPI。
致谢
Himanshu
Hi Himanshu,
谢谢您的解释,现在我明白了。
我有点想将描述潜入该字段中,这样我就不必使用描述字段来创建自己的结构,因为我看到它具有相同的长度,等等。
是的,我确实听了马修的建议:)
一周热门 更多>