您的位置:首页 > 编程语言

如何编程实现删除一个SAP的在线用户

2008-06-25 17:26 621 查看
REPORT zgan_show MESSAGE-ID zz.

TABLES: v_username,
        sscrfields.

DATA: BEGIN OF usr_tabl OCCURS 10.
        INCLUDE STRUCTURE uinfo.
DATA: END OF usr_tabl.

DATA: opcode TYPE x,
      slave_mode TYPE x,
      loc_utid LIKE usr_tabl-tid.

CONSTANTS: c_fcode_slon LIKE sy-ucomm VALUE 'SLON',
           c_fcode_slof LIKE sy-ucomm VALUE 'SLOF'.

SELECTION-SCREEN BEGIN OF BLOCK userid WITH FRAME.
PARAMETERS: p_userid LIKE uinfo-bname.
SELECTION-SCREEN END OF BLOCK userid.
SELECTION-SCREEN BEGIN OF BLOCK show WITH FRAME.
SELECTION-SCREEN PUSHBUTTON /10(25) slon USER-COMMAND slon.
SELECTION-SCREEN PUSHBUTTON  45(25) slof USER-COMMAND slof.
SELECTION-SCREEN END OF BLOCK show.

INITIALIZATION.
  MOVE 'On Screen Flow Show' TO slon.
  MOVE 'Off Screen Flow Show' TO slof.

AT SELECTION-SCREEN ON p_userid.
  IF NOT p_userid IS INITIAL.
    SELECT SINGLE bname
           INTO v_username-bname
           FROM v_username
           WHERE bname = p_userid.
    IF sy-subrc <> 0.
      MESSAGE e999 WITH 'Invalid User Id'.
    ENDIF.
  ELSE.
    MESSAGE e999 WITH 'Specify the User Id'.
  ENDIF.

AT SELECTION-SCREEN.
  FREE usr_tabl.
  opcode = 2.
  CALL 'ThUsrInfo' ID 'OPCODE' FIELD opcode ID 'TAB' FIELD usr_tabl-*sys*.

  READ TABLE usr_tabl WITH KEY bname = p_userid TRANSPORTING tid.
  IF sy-subrc <> 0.
    MESSAGE e999 WITH 'Requested User Id is not available'.
  ENDIF.

  loc_utid = usr_tabl-tid.
  slave_mode = 5.

  IF sscrfields-ucomm = c_fcode_slon.
    opcode = 14.
    CALL 'ThUsrInfo' ID 'OPCODE' FIELD opcode ID 'S_TID' FIELD loc_utid
       ID 'S_MODE' FIELD slave_mode.
  ELSEIF sscrfields-ucomm = c_fcode_slof.
    opcode = 15.
    CALL 'ThUsrInfo' ID 'OPCODE' FIELD opcode ID 'S_TID' FIELD loc_utid.
  ENDIF. 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐