KO02-内部订单更改

2020-09-01 15:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我试图使用BAPI' K...

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

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


嗨,

我试图使用BAPI' KAUF_ORDER_STORE'更改内部订单。 但是数据没有更新。 有人可以帮我吗?

我编写的代码:

is_coas-ktext ='更改IO K'。
* is_coas-ltext ='IO的长文本'。
is_coas-aufnr ='1234TEST56'。


is_kauf- auf_index ='1'。
is_kauf-flg_enque ='X'。
is_kauf-flg_erloe ='X'。
is_kauf-flg_obligox ='X'。
is_kauf-old_astnr ='10'。
is_kauf-old_estnr ='00'。
is_kauf-par_actvt ='02'。
is_kauf-par_aprof ='MSAM'。
is_kauf-par_obtyp ='ORC'。
is_kauf-par_busobj ='BUS2075'。
is_kauf-par_layou ='MSAM'。
is_kauf-par_dbmod ='U'。



数据:afko类型afko,
afpo类型afpo。< br>
呼叫功能'KAUF_ORDER_STORE'
导出
i_afko = afko
i_afpo = afpo
* i_check ='A'
i_coas = is_coas
* i_dialog ='X'
i_kauf = is_kauf
* i_save_flag ='X'
* I_AUC_DIALOG_OFF = ABAP_FALSE
例外情况
error_message = 1
其他=2。
如果sy-subrc <> 0。
*在此处实施适当的错误处理
ENDIF。

预先感谢

付费偷看设置
发送
6条回答
奄奄一息的小鱼
1楼-- · 2020-09-01 16:00

嗨,

您需要将I_SAVE_FLAG传递为" X"以保存数据。 另外,请尝试在FM通话后致电BAPI_TRANSACTION_COMMIT。

P.S。 :这是一个"未发布"功能模块,不建议使用。

问候

GK

Nir深蓝
2楼-- · 2020-09-01 15:43

嗨,

您尝试通过将i_save传递为X并在此之后使用提交工作来尝试 ?

compass1988
3楼-- · 2020-09-01 15:57

你好 Sankar Gelivi

成功的FM通话后,请使用BAPI_TRANSACTION_COMMIT。 以下代码供参考。

*成功完成
呼叫功能'BAPI_TRANSACTION_COMMIT'
出口
wait ='X'。

请注意,它没有在我的版本中发布,如下所示,请检查是否在您的版本中发布。

小c菟菟
4楼-- · 2020-09-01 15:42

尽管确实处于发布状态,但该功能仅适用于 在ALE场景中,假设数据已经在发送方进行了验证。

它不包含授权检查,并且仅将非常有限的输入数据检查限制为一个或两个组织数据字段,不考虑 从订单类型配置中选择字段时,始终会停用与预算相关的状态(这可能不是故意的),如果订单先前不存在,则会创建该订单。

调用者还需要做很多事情。

亦是此间程序员
5楼-- · 2020-09-01 15:59

不幸的是,就内部订单修改而言,没有正式发布的供客户使用的BAPI或任何标准功能 。 即使您能够使用KAUF_ORDER_STORE,我也不建议使用KAUF_ORDER_STORE,因为它的编码似乎完全缺少输入验证。

到目前为止,我发现的最好的方法是这种方法 任务的一部分是功能模块KAUF_ORDER_CHANGE_BAPIFIELDS,具有类似于BAPI的参数列表和行为:

 DATA:订单类型aufk-aufnr,
       order_data TYPE aufk,
       测试TYPE abap_bool,
       save_flag TYPE abap_bool,
       ddfldnam的fields_to_change TYPE标准表,
       消息类型为bapirettab。

 订单="测试"。

 "提供新的字段值
 order_data-ktext ='这是一个测试'。

 标记要更改的字段
 fields_to_change = VALUE#((name ='KTEXT'))。

 设置保存标志
 save_flag = boolc(test = abap_false)。

 通话功能'KAUF_ORDER_CHANGE_BAPIFIELDS'
   出口
     i_order =订单
     i_aufk_new = order_data
     i_flag_testrun =测试
     i_flag_save = save_flag
   桌子
     fields_to_change = fields_to_change
     返回=消息
   例外情况
     其他= 1。

 提交工作。
 

如果发生任何错误,它将在参数RETURN中返回。

浮生未央
6楼-- · 2020-09-01 15:59

嗨,

我建议使用FM BAPI_INTERNALORDER_SAVEREPLICA。 该FM已记录在案,并已发布供客户使用

一周热门 更多>