您的位置:首页 > 产品设计 > UI/UE

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

2016-11-02 11:52 936 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐