点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我想通过bapi更改货件:" BAPI_SHIPMENT_CHANGE"。 我毫无疑问地更改了与aaa不同的信息,但是当我尝试更改状态时会显示一条错误消息。
当我必须更改STATUS_SHPMNT_START时。 它显示以下错误消息:
无法设置状态,因为尚未设置状态"计划中" BAPI无法更改货件xxxxxx
即使我的目标是激活计划的状态,它也会向我显示此消息。
当我必须更改 STATUS_LOAD_END.it 时,显示以下错误消息:
使用事务ZSAPMSSY4
更改STATUS_SHPMNT_START的代码:
数据:ls_header TYPE bapishipmentheader, ls_headera TYPE bapishipmentheaderaction, lt_return TYPE bapiret2_t。 ls_header-SHIPMENT_NUM ='0004000142'。 ls_header-STATUS_SHPMNT_START ='X'。 ls_headera-STATUS_SHPMNT_START ='C'。 通话功能" BAPI_SHIPMENT_CHANGE" 出口 headerdata = ls_header headerdataaction = ls_headera 桌子 return = lt_return。 通话功能'BAPI_TRANSACTION_COMMIT' 出口 等待= abap_true。 执行display_messages表lt_return。
更改STATUS_LOAD_END的代码:
数据:ls_header TYPE bapishipmentheader, ls_headera TYPE bapishipmentheaderaction, lt_return TYPE bapiret2_t。 ls_header-SHIPMENT_NUM ='0004000142'。 ls_header-STATUS_LOAD_END ='X'。 ls_headera-STATUS_LOAD_END ='C'。 通话功能" BAPI_SHIPMENT_CHANGE" 出口 headerdata = ls_header headerdataaction = ls_headera 桌子 return = lt_return。 通话功能'BAPI_TRANSACTION_COMMIT' 出口 等待= abap_true。 执行display_messages表lt_return。
最诚挚的问候,
(25.7 kB)
,最后我们给出了第一个建议:
答案是..是的,因为您发现了包含ZXREPU01的产品,听起来对客户功能影响很大。
在调试中检查调用堆栈,以便可以识别客户功能,并查看是否可以通过某种解决方法对其进行修复(或询问开发该功能的人为什么要这样做)。
我设法解决了第一个问题。 我仍然有第二个问题,当我尝试更新以下三个之一时,出现错误消息" Use Transaction ZSAPMSSY4":加载结束(STATUS_LOAD_END),shpmt完成(STATUS_COMPL),发货开始(STATUS_SHPMNT_START)。
Simone Milesi ,非常抱歉,我没有注意您的请求
当我点击"?"时 他向我显示此屏幕(消息为IEQ127):
,以及当我在调试中的消息处执行断点时。 该程序,我发现显示错误消息的条件(在程序中:ZXREPU01)
这是变量的值:
问题来自通过SE38执行更新。 但是,当我通过包含装运更改代码的ALV事务执行时,它运行得很好,没有问题。
但是我想通过接收IDOC之后运行的程序进行更改,而不是通过事务进行更改。
那么如何通过程序(非事务性)进行更改呢?
Simone Milesi ,我设法解决了这个问题很好。 我无法通过se38开始修改。 但是激活该程序后,更新就可以继续进行。
感谢您的帮助:)
一周热门 更多>