BAPI-销售订单错误

2020-08-18 19:05发布

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

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


嗨,

我已经使用" BAPI_SALESORDER_CREATEFROMDAT2"创建了用于创建销售订单的BAPI

&带有'NO'语法或转储。

但是,我无法在IT_return中看到VA03(我默认存储的位置)中的记录,我可以看到成功创建了销售单据。 但是我无法检查我在这里缺少什么。

我已附加了源代码,调试屏幕和VA03中的错误。

非常感谢您的帮助!

我的代码:

报告zbapi_test06。

数据:v_vbeln TYPE bapivbeln-vbeln。

数据:wa_order_header_in LIKE bapisdhd1,
wa_order_header_inx LIKE bapisdhd1x。
_TYPE TABLE:数据: OF bapisditm,
wa_order_items_in TYPE bapisditm。
数据:it_order_items_inx bapisditmx TYPE表,
wa_order_items_inx TYPE bapisditmx。


DATA:b_order_partr,
数据:it_order_part bapiparnr。

数据:it_return bapiret2的类型表,
wa_return bapiret2的类型。

开始选择。

wa_order_header_in-doc_type ='RO'。< br> wa_order_header_in-doc_date = '24 .02.1998'。
wa_order_header_in-sales_org ='1000'。
wa_order_header_in-distr_chan ='10'。
wa_order_header_in-divvision ='00'。


> wa_order_header_inx-doc_type ='X'。
wa_order_header_inx-doc_date ='X'。
wa_order_header_inx-sales_org ='X'。
wa_order_header_inerx-distr_chan ='X'。 X'。

wa _order_items_in-itm_number ='000010'。
wa_order_items_in-material ='M-15'。
wa_order_items_in-target_qty ='25'。
* wa_order_items_in-t_unit_iso ='KG'。
wa_order_items_in-short_text ='SEC Multisync XV15'。
wa_order_items_in-item_categ ='TAN'。
APPEND wa_order_items_in移至it_order_items_in。
CLEAR wa_order_items_in。
000010'。
wa_order_items_inx-material ='X'。
wa_order_items_inx-target_qty ='X'。
* wa_order_items_inx-t_unit_iso ='X'。
wa_order_items_inx-short_text ='X'。
wa_order_items_inx-item_categ ='X'。
APPEND wa_order_items_inx TO it_order_items_inx。 ='0000001360'。
* wa_order_partners-name ='Flatter&Asche AG'。
* wa_order_partners-street ='Daimlerstrasse 35'。
* wa_order_partners-postl_code ='40235'。
* wa_order_part ners-city ='Duesseldorf'。
附加wa_order_partners至it_order_partners。
清除wa_order_partners。

wa_order_partners-partn_role ='SP'。
wa_order_partners-partn_numb ='000000
APPEND wa_order_partners到it_order_partners。
清除wa_order_partners。


* BREAK-POINT。
通话功能'BAPI_SALESORDER_CREATEFROMDAT2'
导出
> * salesdocumentin = v_vbeln
order_header_in = wa_order_header_in
order_header_inx = wa_order_header_inx
* testrun ='X'
convert ='X'
导入
salesdocument = v_vbeln
表格
return = it_return
order_items_in = it_order_items_in
order_items_inx = it_order_items_inx
order_partners = it_order_partners。

如果不是it_return,则
不是INIT。 br>读取表it_​​return密钥类型为'E'的运输没有字段。
如果SY-SUBRC =0。

呼叫功能'BAPI_TRANSACTION_COMMIT'
导出
等待='X'。

ENDIF。
ENDIF。

错误消息和Deb屏幕:

dispaly.jpg deb.jpg

dispaly.jpg (36.9 kB)

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

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


嗨,

我已经使用" BAPI_SALESORDER_CREATEFROMDAT2"创建了用于创建销售订单的BAPI

&带有'NO'语法或转储。

但是,我无法在IT_return中看到VA03(我默认存储的位置)中的记录,我可以看到成功创建了销售单据。 但是我无法检查我在这里缺少什么。

我已附加了源代码,调试屏幕和VA03中的错误。

非常感谢您的帮助!

我的代码:

报告zbapi_test06。

数据:v_vbeln TYPE bapivbeln-vbeln。

数据:wa_order_header_in LIKE bapisdhd1,
wa_order_header_inx LIKE bapisdhd1x。
_TYPE TABLE:数据: OF bapisditm,
wa_order_items_in TYPE bapisditm。
数据:it_order_items_inx bapisditmx TYPE表,
wa_order_items_inx TYPE bapisditmx。


DATA:b_order_partr,
数据:it_order_part bapiparnr。

数据:it_return bapiret2的类型表,
wa_return bapiret2的类型。

开始选择。

wa_order_header_in-doc_type ='RO'。< br> wa_order_header_in-doc_date = '24 .02.1998'。
wa_order_header_in-sales_org ='1000'。
wa_order_header_in-distr_chan ='10'。
wa_order_header_in-divvision ='00'。


> wa_order_header_inx-doc_type ='X'。
wa_order_header_inx-doc_date ='X'。
wa_order_header_inx-sales_org ='X'。
wa_order_header_inerx-distr_chan ='X'。 X'。

wa _order_items_in-itm_number ='000010'。
wa_order_items_in-material ='M-15'。
wa_order_items_in-target_qty ='25'。
* wa_order_items_in-t_unit_iso ='KG'。
wa_order_items_in-short_text ='SEC Multisync XV15'。
wa_order_items_in-item_categ ='TAN'。
APPEND wa_order_items_in移至it_order_items_in。
CLEAR wa_order_items_in。
000010'。
wa_order_items_inx-material ='X'。
wa_order_items_inx-target_qty ='X'。
* wa_order_items_inx-t_unit_iso ='X'。
wa_order_items_inx-short_text ='X'。
wa_order_items_inx-item_categ ='X'。
APPEND wa_order_items_inx TO it_order_items_inx。 ='0000001360'。
* wa_order_partners-name ='Flatter&Asche AG'。
* wa_order_partners-street ='Daimlerstrasse 35'。
* wa_order_partners-postl_code ='40235'。
* wa_order_part ners-city ='Duesseldorf'。
附加wa_order_partners至it_order_partners。
清除wa_order_partners。

wa_order_partners-partn_role ='SP'。
wa_order_partners-partn_numb ='000000
APPEND wa_order_partners到it_order_partners。
清除wa_order_partners。


* BREAK-POINT。
通话功能'BAPI_SALESORDER_CREATEFROMDAT2'
导出
> * salesdocumentin = v_vbeln
order_header_in = wa_order_header_in
order_header_inx = wa_order_header_inx
* testrun ='X'
convert ='X'
导入
salesdocument = v_vbeln
表格
return = it_return
order_items_in = it_order_items_in
order_items_inx = it_order_items_inx
order_partners = it_order_partners。

如果不是it_return,则
不是INIT。 br>读取表it_​​return密钥类型为'E'的运输没有字段。
如果SY-SUBRC =0。

呼叫功能'BAPI_TRANSACTION_COMMIT'
导出
等待='X'。

ENDIF。
ENDIF。

错误消息和Deb屏幕:

dispaly.jpg deb.jpg

dispaly.jpg (36.9 kB)
付费偷看设置
发送
2条回答
clever101
1楼-- · 2020-08-18 19:24

您好 senthil gajendran

您没有保存创建的文档。 如果IT_RETURN表中有错误,则仅执行BAPI_TRANSACTION_COMMIT。 参见下面的代码。

如果it_return不是INITIAL。
   读取表it_​​return KEY类型='E'的运输没有字段。
   如果SY-SUBRC =0。" <-应为SY-SUBRC <> 0
     通话功能'BAPI_TRANSACTION_COMMIT'
       出口
         等待='X'。
   万一。
 ENDIF。

Mateusz
hongfeng1314
2楼-- · 2020-08-18 19:18

嗨Mateusz,

是的,应该是it_return不是初始的..

对不起,这是我的错。 非常感谢您的回复。.现在我得到了答案..

关于

Senthil.G。

一周热门 更多>