点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨!
我正在更新价格和数量,但它们没有更新我所期望的。 如果数量最初是10,而我想将其更新为5,我将得到15(它在我想要的数量上增加了数量),价格也相同。
我要填写以下字段:
请告诉我该怎么办?
参数:p_qty类型bapisditm-target_qty, p_price TYPE bapisditm-currency。
* Head
gs_order_headerx-updateflag ='U'。 *填写逻辑------------------------------------ gs_logic_switch-pricing ='B'。 gs_logic_switch-cond_handl ='X'。 *填写时间表-------------------------------- gt_schedules-req_qty = p_qty。 gt_schedules-itm_number ='10'。 附加gt_schedules。 清除gt_schedules。 *填充条件 gt_condition-itm_number ='10'。 gt_condition-currency ='TRY'。 gt_condition-cond_type ='ZTA'。 gt_condition-cond_value = p_price。 附加gt_condition。 清除gt_condition。 gt_conditionx-itm_number ='10'。 gt_conditionx-updateflag ='I'。 gt_conditionx-cond_value ='X'。 gt_conditionx-cond_type ='ZTA'。 gt_conditionx-currency ='X'。 附加gt_conditionx。 清除gt_conditionx。 *致电Bapi ---------------------------------------- 通话功能'BAPI_SALESORDER_CHANGE' 出口 salesdocument = p_vbeln order_header_in = gs_order_header order_header_inx = gs_order_headerx logic_switch = gs_logic_switch 桌子 返回= gt_return schedule_lines = gt_schedules CONDITIONS_IN = gt_condition CONDITIONS_INX = gt_conditionx 。 读取表gt_return with key type ='E'。 如果sy-subrc EQ 0。 通话功能" BAPI_TRANSACTION_ROLLBACK"。 讯息e003(zmessage)。 其他。 通话功能'BAPI_TRANSACTION_COMMIT' 出口 等待='X'。 使用p_vbeln的消息s002(zmessage)。 万一。
您好
这是您的完整代码吗?
我看到的是-您仅添加了计划行..您没有在修改现有行。
您需要获取项目行并也更新该数量。
或者您需要将值(p_qty)分配为公式(your_new_value-Existing_value)
请参考此链接-使用bapi更改销售订单的示例代码
http://codingthis.com/uncategorized/example-of-bapi_salesorder_change-in-sales-order-related-change/
您好
可能的UPDATEFLAGS:
尝试'U',希望它能正常工作。
嗨
检查此行
谢谢您的建议,我已更改为
尝试在gt_schedules中传递计划行号(SCHED_LINE)。
嗨
请阅读FM文档以获取更多信息,如下所示。
您可以更改
例如时间表行日期
谢谢您的链接,先生
我用该解决方案解决了定价问题,仍然是数量问题。 但我对此很满意
一周热门 更多>