CN22设置网络系统状态或用户状态 - BAPI_BUS2002_SET_STATUS

BAPI: BAPI_BUS2002_SET_STATUS

具体用法注意事项可以参看BAP参考文档

调用BAPI之前,首先调用BAPI_PS_INITIALIZATION

调用BAPI之后,如果调用成功,首先执行操作CALL FUNCTION 'BAPI_PS_PRECOMMIT'.

然后再      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
                    EXPORTING
                       wait = 'X'.

  METHOD mt_set_network_sys_status.

*The following system statuses are supported for the network header:
*•'REL' Released (I0002) set
*•'LKD' Locked (I0043) set/revoke
*•'TECO' Technically completed (I0045) set/revoke
*•'CLSD' Closed (I0046) set/revoke
*•'AALK' Account Assignment locked (I0064) set/revoke
*•'DLFL' Deletion flag (I0076) set/revoke

    DATA: lv_aufnr      TYPE bapi_network_list-network,
          lv_sys_status TYPE bapi_system_status-system_status,
          ls_return     TYPE bapireturn1,
          lt_result     TYPE TABLE OF bapi_status_result,
          lv_message    TYPE string.

    CLEAR: es_return.

    CHECK iv_aufnr IS NOT INITIAL AND iv_sys_status IS NOT INITIAL.

    lv_aufnr = |{ iv_aufnr ALPHA = IN }|.

    lv_sys_status = iv_sys_status.

    CALL FUNCTION 'BAPI_PS_INITIALIZATION'.

    CALL FUNCTION 'BAPI_BUS2002_SET_STATUS'
      EXPORTING
        number            = lv_aufnr
*       UNDO_SYSTEM_STATUS             =
*       UNDO_USER_STATUS  =
        set_system_status = lv_sys_status
*       SET_USER_STATUS   =
      IMPORTING
        return            = es_return
      TABLES
*       I_ACTIVITY_SYSTEM_STATUS       =
*       I_ACTIVITY_USER_STATUS         =
        e_result          = lt_result.

    IF es_return-type CA 'AEX'.
      lv_message = es_return-message.
    ENDIF.

    IF lv_message IS INITIAL.
      CALL FUNCTION 'BAPI_PS_PRECOMMIT'.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
      es_return-type = 'S'.
      es_return-message = '系统状态更新成功'.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      IF iv_popup_flag = 'X'.
        MESSAGE i001(00) WITH '网络系统状态更新失败,请到CN22中手动设置删除状态,网络号' lv_aufnr DISPLAY LIKE 'E'.
      ENDIF.
    ENDIF.

  ENDMETHOD.

上述代码,传入参数如下

效果如下

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王小磊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值