点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我需要通过BAPI BAPI_CUSTOMERQUOTATION_CHANGE更新商品的条件值。
我已经使用SE37的测试序列执行了此任务,并依次调用了该BAPI和BAPI_TRANSACTION_COMMIT,它可以正确更新标签。
但是,尽管我使用的是该类的方法,但它并未更新数据库。 但这表明lt_retuen中的条件已成功更新。
我什至尝试在BAPI调用之前调用SET UPDATE TASK LOCAL,但没有用。
请提出我在这里还想念的东西。
谢谢
Bhavyasri M
您是否同时传递了CONDITIONS_IN和CONDITIONS_INX? 尝试尽可能多地传递CONDITIONS_IN表中的所有字段。
我正在从应用程序传递以下两个结构的值。
ls_cond-itm_number =
ls_cond-cond_st_no ='005'。
ls_cond-cond_count ='01'。
ls_cond-cond_type ='ZOPP'。
ls_cond-cond_value = <金额>
ls_cond-currency = <货币>
附录ls_cond TO lt_cond。
ls_condx-itm_number = <商品编号>
ls_condx-cond_st_no ='005'。
ls_condx-cond_count ='01'。
ls_condx-cond_type ='ZOPP'。
ls_condx-updateflag ='U'。
ls_condx-cond_value ='X'。
ls_condx-currency = abap_true。
附加ls_condx到lt_condx。
ls_cond-itm_number =
ls_cond-cond_st_no ='006'。
ls_cond-cond_count ='01'。
ls_cond-cond_type ='ZAOP'。
ls_cond-cond_value = <数量>
ls_cond-currency = <货币>
附加ls_cond至lt_cond。
ls_condx-itm_number =
ls_condx-cond_st_no ='006'。
ls_condx-cond_count ='01'。
ls_condx-cond_type ='ZAOP'。
ls_condx-updateflag ='U'。
ls_condx-cond_value ='X'。
ls_condx-currency = abap_true。
附加ls_condx到lt_condx。
设置更新任务本地。
调用功能'BAPI_CUSTOMERQUOTATION_CHANGE'
导出
salesdocument =我-> ms_data-id
quotation_header_inx = ls_flag_fields
逻辑开关= ls_cond_switch
表格
return = lt_quote < lt_item
quotation_item_inx = lt_itemx
conditions_in = lt_cond
conditions_inx = lt_condx
schedule_lines = lt_sched
schedule_linesx = lt_schedx
* quotation_text = lt_text
* ref> = lt_bapicuref
* quotation_cfgs_inst = lt_bapicuins
* quotation_cfgs_value = lt_bapicuval
extensionin = lt_extended_in
。
读取表lt_return。
,键类型='E'
分配
如果不是sy-subrc EQ0。
调用函数'BAPI_TRANSACTION_COMMIT'
导出
等待= abap_true。
但是当我从SE37调用它们时,它们工作正常并正在更新条件。
请提供其他建议。
一周热门 更多>