2020-08-17 16:38发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
pr.txt 嗨,
我是BAPI的新手,我已经使用'BAPI_PR_CREATE'创建了PR,但是却遇到了运行时错误。" 在FM中,您只能指定特定长度且位于PR标头下的字段
请帮助我解决这个问题。
我在这里粘贴了一段代码:-
你好森提尔·加延德兰
这是我对您的代码的评论。
数据:wa_header TYPE bapimereqheader-preq_no VALUE'0010000004', wa_headerx TYPE bapimereqheaderx-preq_no VALUE'X',
应将WA_HEADER和WA_HEADERX定义为结构。
数据:wa_header TYPE bapimereqheader, wa_headerx TYPE bapimereqheaderx。
在这些结构中,您应该提供与整个PR文档创建相关的任何必需和重要信息。 在大多数情况下,您不应提供PR文档编号(除非此文档类型的编号范围定义为外部)。 文件编号将由系统自动生成。
您已经正确定义了项目结构。 另外,项目的内部表也很好。
it_item bapimereqitemimp的类型表, wa_item TYPE bapimereqitemimp, it_itemx bapimereqitemx的类型表, wa_itemx TYPE bapimereqitemx, **为商品的...指定值 wa_item-preq_item ='10'。 wa_item-pur_group ='WIN'。 wa_item-material ='E001789'。 wa_item-plant ='1000'。 wa_item-store_loc ='9000'。 wa_item-preq_item ='X'。 wa_item-pur_group ='X'。 wa_item-material ='X'。 wa_item-plant ='X'。 wa_item-store_loc ='X'。
但是,您不会在填充结构后将项目结构添加到项目表中。
您需要使用APPEND或INSERT语句。 例如:
APPEND wa_item到it_item。
此外,您还为分配给修改字段的信息分配了不正确的结构。 您应该使用WA_ITEM结构,而应该使用WA_ITEMX结构。
WA_ITEMX结构的PREQ_ITEM字段应具有该结构用于保存其信息的项目编号。
wa_itemx-preq_item ='10'。 wa_itemx-pur_group ='X'。 wa_itemx-material ='X'。 wa_itemx-plant ='X'。 wa_itemx-store_loc ='X'。 将wa_itemx附加到it_itemx。
如果要获取已创建文档的编号,则需要取消注释该函数的NUMBER参数。 如果要获取有关文档标题的更多详细信息,请使用PRHEADEREXP参数。
通话功能" BAPI_PR_CREATE" 出口 prheader = wa_header prheaderx = wa_headerx * TESTRUN = 输入 NUMBER = lv_number prheaderexp = wa_doc 桌子 返回= it_return pritem = it_item pritemx = it_itemx。 * PRITEMEXP = * PRITEMSOURCE = * PRACCOUNT = * PRACCOUNTPROITSEGMENT = * PRACCOUNTX = * PRADDRDELIVERY = * PRITEMTEXT = * PRHEADERTEXT = * EXTENSIONIN = * EXTENSIONOUT = * PRVERSION = * PRVERSIONX = * ALLVERSIONS =
NUMBER是BANFN类型,而PRHEADEREXP是BAPIMEREQHEADER类型的结构。
数据: lv_number TYPE banfn, wa_doc TYPE bapimereqheader。
这里是如何使用BAPI的另一个示例: https://answers.sap .com/answers/7128805/view.html
亲切的问候,
将您的代码作为一个表彰,以便清晰可见:
表:eban。 数据:wa_header TYPE bapimereqheader-preq_no VALUE'0010000004', wa_headerx TYPE bapimereqheaderx-preq_no VALUE'X', * wa_doc TYPE bapimereqheader-pr_type VALUE'NS', it_item bapimereqitemimp的类型表, wa_item TYPE bapimereqitemimp, it_itemx bapimereqitemx的类型表, wa_itemx TYPE bapimereqitemx, it_return bapiret2的类型表, wa_return TYPE bapiret2。 **为商品的...指定值 wa_item-preq_item ='10'。 wa_item-pur_group ='WIN'。 wa_item-material ='E001789'。 wa_item-plant ='1000'。 wa_item-store_loc ='9000'。 wa_item-preq_item ='X'。 wa_item-pur_group ='X'。 wa_item-material ='X'。 wa_item-plant ='X'。 wa_item-store_loc ='X'。 BREAK-POINT。 通话功能'BAPI_PR_CREATE' 出口 prheader = wa_header prheaderx = wa_headerx * TESTRUN = *重要 * NUMBER = * prheaderexp = wa_doc 桌子 返回= it_return pritem = it_item pritemx = it_itemx。 * PRITEMEXP = * PRITEMSOURCE = * PRACCOUNT = * PRACCOUNTPROITSEGMENT = * PRACCOUNTX = * PRADDRDELIVERY = * PRITEMTEXT = * PRHEADERTEXT = * EXTENSIONIN = * EXTENSIONOUT = * PRVERSION = * PRVERSIONX = * ALLVERSIONS = WRITE:/'TYPE:',wa_return-type, /'Id:',wa_return-id, /'消息:',wa_return-message。 通话功能'BAPI_TRANSACTION_COMMIT' *出口 *等待= 输入 return = wa_return。
你好 senthil gajendran
这里的明显错误是 您不填写it_item或it_itemx内部表并将其空传递给BAPI_PR_CREATE。 您只需维护表的工作区域,即wa_item结构。
此外,您在以下位置使用wa_item而不是wa_itemx:
wa_item-preq_item ='X'。 wa_item-pur_group ='X'。 wa_item-material ='X'。 wa_item-plant ='X'。 wa_item-store_loc ='X'。
最诚挚的问候
Dominik Tylczynski
谢谢。
Dominik Tylczynski。 感谢您的回复...
我如下更改了" wa_itemx"。
wa_itemx-preq_item ='X'.wa_itemx-pur_group ='X'。 wa_itemx-material ='X'。 wa_itemx-plant ='X'。 wa_itemx-store_loc ='X'。 但是如上所述," <我的错误在PR标头中"" 在FM中,您只能指定特定长度且在PR标头下的字段... "请帮助...
您好森提尔·加杰德兰(senthil gajendran)
请使用"评论"选项来询问或向其添加其他信息 问题/答案。
最多设置5个标签!
你好森提尔·加延德兰
这是我对您的代码的评论。
应将WA_HEADER和WA_HEADERX定义为结构。
在这些结构中,您应该提供与整个PR文档创建相关的任何必需和重要信息。 在大多数情况下,您不应提供PR文档编号(除非此文档类型的编号范围定义为外部)。 文件编号将由系统自动生成。
您已经正确定义了项目结构。 另外,项目的内部表也很好。
但是,您不会在填充结构后将项目结构添加到项目表中。
您需要使用APPEND或INSERT语句。 例如:
此外,您还为分配给修改字段的信息分配了不正确的结构。 您应该使用WA_ITEM结构,而应该使用WA_ITEMX结构。
WA_ITEMX结构的PREQ_ITEM字段应具有该结构用于保存其信息的项目编号。
如果要获取已创建文档的编号,则需要取消注释该函数的NUMBER参数。 如果要获取有关文档标题的更多详细信息,请使用PRHEADEREXP参数。
NUMBER是BANFN类型,而PRHEADEREXP是BAPIMEREQHEADER类型的结构。
这里是如何使用BAPI的另一个示例: https://answers.sap .com/answers/7128805/view.html
亲切的问候,
Mateusz将您的代码作为一个表彰,以便清晰可见:
你好 senthil gajendran
这里的明显错误是 您不填写it_item或it_itemx内部表并将其空传递给BAPI_PR_CREATE。 您只需维护表的工作区域,即wa_item结构。
此外,您在以下位置使用wa_item而不是wa_itemx:
最诚挚的问候
Dominik Tylczynski
谢谢。
敬上,Mateusz
Dominik Tylczynski。 感谢您的回复...
我如下更改了" wa_itemx"。
wa_itemx-preq_item ='X'.wa_itemx-pur_group ='X'。 wa_itemx-material ='X'。 wa_itemx-plant ='X'。 wa_itemx-store_loc ='X'。 但是如上所述," <我的错误在PR标头中"" 在FM中,您只能指定特定长度且在PR标头下的字段... "请帮助...
您好森提尔·加杰德兰(senthil gajendran)
请使用"评论"选项来询问或向其添加其他信息 问题/答案。
亲切的问候,Mateusz
一周热门 更多>