ABAP 新建session会话的函数

来源:互联网 发布:车载舞曲视频软件 编辑:程序博客网 时间:2024/06/16 18:13
在程序中使用 
call TRANSFORMATION和SUBMIT语法是直接跳到对应的事务代码或者程序,如果需要保持当前会话而且新开会话的话,上述两个语法就不满足了。系统提供了直接创建session的函数

函数1.TH_CREATE_FOREIGN_MODE
"创建新session 的函数
CALL FUNCTION 'TH_CREATE_FOREIGN_MODE'
  EXPORTING
    client           sy-mandt
    user             'ZUSER_TEST'
    tcode            'SESSION_MANAGER'
    return_error     1
    create_exclusive 0
  EXCEPTIONS
    user_not_found   1
    cant_create_mode 2
    OTHERS           3.
IF sy-subrc <> 0.

  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.


函数2. TH_CREATE_MODE 会进行权限检查
CALL FUNCTION 'TH_CREATE_MODE'
 EXPORTING
   transaktion          'SESSION_MANAGER'
 EXCEPTIONS
   max_sessions         1
   internal_error       2
   no_authority         3
   OTHERS               4
          .
IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.