点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
全部
我正在尝试使用bapi_inb_delivery_change BAPI修改内向交货的交货数量。
我到了某种程度,我不知道发生了什么,BAPI返回错误代码004,消息类型为VLBAPI,我想某些信息丢失了,但是我不知道...
我附上我的代码:
TYPES:bapidlvdeadln的lty_dead类型标准表。
数据:lt_header_deadlines类型为lty_dead,
wa_header_deadlines TYPE bapidlvdeadln,
wa_header_control TYPE bapiibdlvhdrctrlchg,
it_return bapiret2的类型标准表,
wa_delivery类型bapiibdlvhdrchg-deliv_numb,
wa_header_data TYPE bapiibdlvhdrchg。
数据:item_data类似于bapiibdlvitemchg OCCURS 0。
数据:wa_item_data类似于bapiibdlvitemchg。
数据:item_control类似于bapiibdlvitemctrlchg OCCURS 0。
数据:wa_item_control类似于bapiibdlvitemctrlchg。
写入:sy-datum。
*限时消费
wa_header_deadlines-deliv_numb ='0180000600'。
wa_header_deadlines-timetype ='WSHDRLFDAT'。 "交货日期
wa_header_deadlines-timestamp_utc =20120909000000。" YYYYMMDDHHMMSS
wa_header_deadlines-timezone ='ALA'。 "西欧
APPEND wa_header_deadlines至lt_header_deadlines。
wa_header_data-deliv_numb ='0180000600'。
wa_header_control-deliv_numb ='0180000600'。
wa_header_control-deliv_date_flg ='X'。
*************************************************** ************************
*数据:ls_item类型bapiibdlvitemchg。
数据:ls_lips类型为LIPSVB。
*选择单个lfimg lgmng lfimg_flo lgmng_flo umvkz umvkn umrev
*从嘴唇上来
* INTO(wa_item_data-dlv_qty,wa_item_data-dlv_qty_imunit,wa_item_data-del_qty_flo,wa_item_data-dlv_qty_st_flo,
* wa_item_data-fact_unit_nom,wa_item_data-fact_unit_denom,wa_item_data-conv_fact)
从嘴唇选择单*到ls_lips
WHERE vbeln ='0180000600'
AND posnr ='000010'。
通话功能'MAP2E_LIPS_TO_BAPIIBDLVITEMCHG'
导出
LIPSVB = ls_lips
改变
BAPIIBDLVITEMCHG = wa_item_data
。
清除:wa_item_data。
wa_item_data-deliv_numb ='0180000600'。
wa_item_data-deliv_item ='000010'。
* wa_item_data-dlv_qty ='3000'。
* wa_item_data-dlv_qty_imunit ='3000'。
* wa_item_data-sales_unit ='KG'。
* wa_item_data-sales_unit_iso ='KG'。
* wa_item_data-base_uom ='KG'。
* wa_item_data-base_uom_iso ='KG'。
* wa_item_data-gross_wt ='3000'。
* wa_item_data-unit_of_wt ='KG'。
* wa_item_data-volume ='1500'。
* wa_item_data-volumeunit ='M3'。
APPEND wa_item_data到item_data。
清除:wa_item_control。
wa_item_control-deliv_numb ='0180000600'。
wa_item_control-deliv_item ='000010'。
wa_item_control-chg_delqty ='X'。
wa_item_control-VOLUME_FLG ='X'。
wa_item_control-NET_WT_FLG ='X'。
wa_item_control-GROSS_WT_FLG ='X'。
APPEND wa_item_control到item_control。
*************************************************** ***********************
通话功能'BAPI_INB_DELIVERY_CHANGE'
导出
header_data = wa_header_data
header_control = wa_header_control
交付= wa_delivery
表格
header_deadlines = lt_header_deadlines
item_data = item_data
item_control = item_control
return = it_return。
IF sy-subrc EQ 0。
调用功能'BAPI_TRANSACTION_COMMIT'。
ENDIF。
致谢
Jon
不是"应该",而是去查看消息并查看其内容(数量一致性检查)。
Rob
我也遇到了同样的问题。
如果要修改数量,则表wa_item_data不够完整。
请遵循以下链接。
马丁
解决了,我看到了消息及其含义,我必须填写此链接上指示的值。
一周热门 更多>