点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在使用FM BAP...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在使用FM BAP...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在使用FM" BAPI_SALESORDER_CHANGE"更改项目级别的拒绝原因。 当我运行以下代码时,它不会更改项目级别的拒绝原因。
报告ZSOCCLOSE。
数据:类似于BAPISDH1X的st_BAPISDH1X,
it_BAPIRET2类型BAPIRET2发生0,
it_BAPISDITMX类型BAPISDITMX OCCURS 0,
wa_BAPISDITMX类型BAPISDITMX,
it_BAPISDITM类型BAPISDITM OCCURS 0,
wa_BAPISDITM类型BAPISDITM。
st_BAPISDH1X-UPDATEFLAG ='U'。
wa_BAPISDITMX-ITM_NUMBER ='000100'。
wa_BAPISDITMX-UPDATEFLAG ='U'。
wa_BAPISDITMX-REASON_REJ ='X'。
APPEND wa_BAPISDITMX到它_BAPISDITMX。
wa_BAPISDITM-ITM_NUMBER ='000100'。
wa_BAPISDITM-REASON_REJ ='03'。
* wa_BAPISDITM-MATERIAL ='J5000032BLCK'。
* wa_BAPISDITM-PLANT ='1000'。
* wa_BAPISDITM-PROD_HIERA ='100012000330000003'。
将wa_BAPISDITM附加到它_BAPISDITM。
通话功能'BAPI_SALESORDER_CHANGE'
导出
SALESDOCUMENT ='0003000153'
ORDER_HEADER_IN =
ORDER_HEADER_INX = st_BAPISDH1X
模拟=
BEHAVE_WHEN_ERROR =''
INT_NUMBER_ASSIGNMENT =''
LOGIC_SWITCH =
表格
RETURN = it_BAPIRET2
ORDER_ITEM_IN = it_BAPISDITM
ORDER_ITEM_INX = it_BAPISDITMX。
合作伙伴=
PARTNERCHANGES =
合作伙伴=
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
SCHEDULE_LINES =
SCHEDULE_LINESX =
ORDER_TEXT =
ORDER_KEYS =
CONDITIONS_IN =
CONDITIONS_INX =
EXTENSIONIN =
谢谢
基山
Hello Geeks,
我正在使用此bapi来更新我的商品数量...。
但是bapi返回msg说tat它没有改变....
我想我可能犯了一些错误,请任何人都可以纠正它....
我在下面附加了我的代码...
*对于订单项
TYPES:开头为y_t_vbap,
vbeln TYPE vbeln_va,"销售文件
posnr TYPE posnr_va," SD文档的项目号
matnr TYPE matnr,"材料编号
zmeng TYPE dzmeng,"销售单位的目标数量
spart TYPE spart,"部门
消息TYPE BAPI_MSG,
kwmeng类型kwmeng,"累积订单数量
y_t_vbap结束。
TYPES:y_t_itemin TYPE bapisditm,
y_t_return TYPE bapiret2,
y_t_headerx TYPE bapisdh1x。
类型:y_t_logdata的开始
lno TYPE lineno," Lineno
字段TYPE字段名称,"字段名称
值类型lmon_fvalue,"字段值
消息类型bapi_msg,"消息
y_t_logdata的结尾。
*************************************************** **********************
内部表声明
*************************************************** **********************
数据:" y_t_vbak的y_i_vbak类型标准表,
y_t_vbap的y_i_vbap类型标准表,
bapisdh1x的y_i_headerx类型标准表,
bapisditm的y_i_itemin类型标准表,
bapisditmx的y_i_iteminx类型标准表,
y_i_return y_t_return的类型标准表,
y_t_logdata的y_i_logdata类型标准表,
bapiret2的y_i_bapiret类型标准表。
*************************************************** **********************
表类型声明
*************************************************** **********************
类型:y_t_vbap的y_tt_vbap类型标准表,
y_t_logdata的y_t_logdata类型标准表。
*************************************************** **********************
工作区声明。
*************************************************** **********************
数据:y_wa_vbap类型y_t_vbap,
y_wa_itemin TYPE bapisditm,
y_wa_iteminx TYPE bapisditmx,
y_wa_headerx TYPE bapisdh1x,
y_wa_return类型y_t_return,
y_wa_logdata类型y_t_logdata,
y_wa_event类型slis_alv_event,
y_wa_event1类型slis_t_event,
y_wa_bapiret TYPE bapiret2。
*************************************************** **********************
变量声明。
*************************************************** **********************
数据:y_i_event类型slis_t_event,
y_v_success TYPE i,"为了成功
y_v_error TYPE i,"对于错误
y_v_sno TYPE char30,
y_v_eno TYPE char30,
y_v_msg类型char100。 "错误消息
*************************************************** ***********************
常量声明。
*************************************************** ************************
常量:y_k_x类型char1值'X',
y_k_u输入char1值'U',
y_k_e输入char1值'E'。
*************************************************** *************************
选择屏幕布局
*************************************************** *************************
SELECTION-SCREEN:b1块的开头(带有框架标题text-001)。
选择屏幕:行的开头。
SELECTION-SCREEN:评论3(18)text-003。
参数:y_p_vbln类型vbak-vbeln强制。
选择屏幕:行尾。
选择屏幕:b1块的结尾。
*************************************************** *************************
选择开始。
*************************************************** *************************
开始选择。
写:text-002。
*************************************************** *************************
选择结束。
*************************************************** *************************
选择结束。
SELECT vbeln
posnr
matnr
zmeng
斯巴达
来自vbap
插入表y_i_vbap
vbeln = y_p_vbln。
将y_i_vbap循环到y_wa_vbap。
y_wa_vbap-zmeng = 2 + y_wa_vbap-zmeng。
从y_wa_vbap索引sy-tabix修改y_i_vbap。
ENDLOOP。
使用y_i_vbap执行y_f_update。
&----
*&y_f_update表格
&----
增加BAPI数据并运行BAPI
----
使用y_p_vbap类型y_tt_vbap形式y_f_update。
清除:y_i_headerx,y_i_iteminx,y_i_iteminx,
y_i_turn,y_i_bapiret。
刷新:y_i_itemin,y_i_iteminx,y_i_return和y_i_bapiret。
将y_i_vbap循环到y_wa_vbap。
将y_wa_vbap-zmeng移动到y_wa_itemin-target_qty。
将y_wa_vbap-posnr移动到y_wa_itemin-itm_number。
APPEND y_wa_itemin到y_i_itemin。
ENDLOOP。
*更新Bapi行程表
y_wa_headerx-updateflag = y_k_u。
APPEND y_wa_headerx到y_i_headerx。
将y_i_vbap循环到y_wa_vbap。
y_wa_iteminx-itm_number = y_wa_vbap-posnr。
y_wa_iteminx-target_qty = y_k_x。
y_wa_iteminx-updateflag = y_k_u。
APPEND y_wa_iteminx到y_i_iteminx。
ENDLOOP。
通话功能'BAPI_SALESORDER_CHANGE'
导出
salesdocument = y_wa_vbap-vbeln
order_header_inx = y_wa_headerx
表格
return = y_i_return
order_item_in = y_i_itemin
order_item_inx = y_i_iteminx。
调用功能'BAPI_TRANSACTION_COMMIT'。
清除y_i_vbap。
如果y_i_return不是初始值。
环回y_i_return INTO y_wa_return,其中TYPE = y_k_e。
将y_wa_return消息移至y_wa_vbap消息。
将y_wa_vbap附加到y_i_vbap。
y_v_success = y_v_success +1。
ENDLOOP。
ENDIF。
y_wa_event-name ='TOP_OF_PAGE'。
y_wa_event-form ='Y_FD_TOP_OF_LIST'。
APPEND y_wa_event到y_i_event。
清除y_wa_event。
通话功能'ALV_LIST_DISPLAY'
导出
i_callback_program = sy-repid
i_tabtypename1 ='Y_T_VBAP'
it_events1 = y_i_event []
表格
t_outtab1 = y_i_vbap []
例外情况
program_error = 1
maximum_of_appends_reached = 2
其他= 3。
IF sy-subrc <> 0。
消息ID sy-msgid类型'S'编号sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
ENDFORM。 " y_f_vbap
&----
*&表格Y_FD_TOP_OF_LIST
&----
----
形成y_fd_top_of_list。
移动:y_v_success到y_v_sno,
y_v_error至y_v_eno。
CONCATENATE text-002 y_v_sno'/'y_v_eno INTO y_v_msg分隔符
空间。
压缩y_v_msg。
写/y_v_msg。
跳过1。
ENDFORM。 " Y_FD_TOP_OF_LIST
一周热门 更多>