货铺QQ群号:834508274
在程序中使用
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.