T-CODE:IE02修改设备数据(一般数据,状态),通过bapi实现

IE02中修改设备数据主要分为两个部分:一般数据+状态(系统状态和用户自定义状态)。

一般数据修改BAPI:BAPI_EQUI_CHANGE

状态数据修改BAPI:  STATUS_CHANGE_EXTERN(用户自定义状态)

                                 STATUS_CHANGE_INTERN (系统状态)

上述BAPI 调用之后都需要CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.


重点介绍STATUS_CHANGE_EXTERN用法

CALL FUNCTION 'STATUS_CHANGE_EXTERN'
            EXPORTING
              objnr               = lv_objnr
              user_status         = lv_estat
              set_inact           = ''
            EXCEPTIONS
              object_not_found    = 1
              status_inconsistent = 2
              status_not_allowed  = 3
              OTHERS              = 4.

lv_objnr获取逻辑:SELECT SINGLE objnr INTO lv_objnr FROM equi WHERE equnr = lv_equnr."Equipment no.;

lv_estat对应TJ30-ESATA值;

参数set_inact很重要,当set_inact = ''时,可以更新设备对应的自定义状态为选择状态(X)并且不会删除原本的选定状态;set_inact = 'X' 无法更新设备自定义状态为选择状态或删除已经选定状态('')。如下示例:


对应上述的两种更新场景如下:

1:追加选定状态‘INIT’,即选定状态=ESD+INIT;

set_inact = ''

2:只选定‘INIT’,即要删除ESD的选定状态并选定INIT,选定状态=INIT;

需要做两次次操作:第一次选择INIT时:set_inact = ''

第二次删除ESD时:set_inact = 'X'


参考链接:https://archive.sap.com/discussions/thread/1151227




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值