BAPI_SHIPMENT_CHANGE-更新状态

2020-09-12 04:30发布

         点击此处--->   EasySAP.com群内免费提供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)

         点击此处--->   EasySAP.com群内免费提供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)
付费偷看设置
发送
11条回答
葫芦娃快救爷爷
1楼-- · 2020-09-12 05:21

可能是您有一些自定义代码干预状态流(有关更多信息,请此处)?

Nan4612
2楼-- · 2020-09-12 05:18

我不明白。 能不能给我一个例子,因为这是我第一次使用bapi。

注意:我只有这个代码。当我通过vt02n手动更改状态时,我可以毫无问题地更改它们。

渐行渐远_HoldOn
3楼-- · 2020-09-12 05:02

Simone Milesi ,您能看到这个问题吗?

风早神人
4楼-- · 2020-09-12 05:15

问题是我尝试更新时出现错误消息 第一个状态(STATUS_SHPMNT_START),它告诉我尚未设置"计划中"状态。

对于STATUS_LOAD_END,我尝试在手动激活摆在他之前的状态之后修改它。

jovirus
5楼-- · 2020-09-12 05:18

该消息不言自明:您正在设置"加载结束"状态,但自从 您没有设置计划的行为。

我不记得这是否是标准行为,可以通过自定义或完全自定义控件进行设置( Iftah Peretz 指的是最后一个弹出式窗口,该弹出式窗口清楚地说明了Z ..开发,因此很有可能您已激活BADI并实现了执行某些控件的功能。

您应该先检查一下Z的内容

Nir深蓝
6楼-- · 2020-09-12 05:22

zakaria bi 我真的很讨厌 重复一遍,但是... 您是否尝试调试并检查该消息(这是非常自定义的,请尝试按它上的?以查看该消息)在何处出现?

一周热门 更多>