如何在用户登录时sap时触发一特定程序执行

简介: 如何在用户登录时sap时触发一特定程序执行

有时候需要在用户登录时sap时触发一特定程序去执行,sap提供了两种方法t.

1) 使用函数 'NAVIGATION_SET_START_TCODE' ,用该函数可以设置用户和一个TCODE,该TCODE当用户登录sap系统后就可以自动执行。sap对应的程序:ADMIN_SET_START_TRANSACTION_FO

这个相对比较简单实用。

同时在客户端主界面上也可以设置运行什么t-code这个更加简单,同时可以设置是否显示技术名称

2)使用用户出口

该用户出口的模块名称是:SUSR0001,你可以在该单元里增加你的代码进行相应的控制。.

SAP用户登录增强示例

* Transaction CMOD -> Utiliteis -> SAP Enhancements* Exit Name SUSR0001* Double click EXIT_SAPLSUSF_001* Double click ZXUSRU01* Insert -> include zsesschk.** zsesschk limits the number of login sessions per user* in a certain client* It runs from user exit SUSR0001 after the SAP Login* n-1 is the number of concurrent sessions allowed

TABLES: UINFO.

DATA: N TYPE I VALUE 2.              "Upper limit of login sessions
DATA: OPCODE TYPE X VALUE 2, I TYPE I, A(60).
DATA: BEGIN OF BDC_TAB1 OCCURS 5.
        INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDC_TAB1.
DATA: BEGIN OF USR_TABL OCCURS 10.
        INCLUDE STRUCTURE UINFO.
DATA: END OF USR_TABL.
* Exclude Limit login by Users
IF SY-UNAME <> 'XXX'
AND SY-UNAME <> 'XXX'.
CALL 'ThUsrInfo' ID 'OPCODE' FIELD OPCODE
ID 'TAB' FIELD USR_TABL-*SYS*.
LOOP AT USR_TABL.
IF SY-UNAME = USR_TABL-BNAME AND SY-MANDT = USR_TABL-MANDT.
    I = I + 1.
ENDIF.
ENDLOOP.
IF I >= N.
A = 'You have already '.
A+17(2) = I - 1.
A+19(25) = 'login sessions in client '.
A+44(4) = SY-MANDT.
CALL FUNCTION 'POPUP_TO_INFORM'
       EXPORTING
            TITEL = 'UNSUCCESSFUL LOGIN'
            TXT1 = A
            TXT2 = 'You are not allowed to log in'.
MOVE: 'SAPMSSY0' TO BDC_TAB1-PROGRAM,
          '120' TO BDC_TAB1-DYNPRO,
          'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
         '/nex' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
CALL TRANSACTION 'SM04' USING BDC_TAB1 MODE 'N'.
ENDIF.
ENDIF.
相关文章
|
12月前
|
前端开发 API
SAP Fiori Elements 应用的 annotation 文件的触发源代码位置讲解
SAP Fiori Elements 应用的 annotation 文件的触发源代码位置讲解
|
存储 Java BI
如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能试读版
如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能试读版
SAP 电商云 Spartacus UI set delivery mode HTTP put 请求的触发时机
SAP 电商云 Spartacus UI set delivery mode HTTP put 请求的触发时机
|
5月前
|
网络安全
实战分析 - 为什么有些 SAP ABAP 程序,启动之后界面有些按钮是灰色的试读版
实战分析 - 为什么有些 SAP ABAP 程序,启动之后界面有些按钮是灰色的试读版
|
5月前
|
BI
什么是 SAP Dynpro 程序的 GUI Status
什么是 SAP Dynpro 程序的 GUI Status
|
5月前
|
数据处理
关于 SAP Dynpro 程序里的 OK_CODE 和 SAVE_OK 这两个全局变量
关于 SAP Dynpro 程序里的 OK_CODE 和 SAVE_OK 这两个全局变量
关于 SAP Dynpro 程序里的 OK_CODE 和 SAVE_OK 这两个全局变量
|
存储 Java BI
如何使用 Java 程序通过 SAP Java Connector 调用 ABAP 系统的函数试读版
如何使用 Java 程序通过 SAP Java Connector 调用 ABAP 系统的函数试读版
|
Web App开发 开发者
SAP UI5 应用开发教程之三十八 - 使用 Chrome 开发者工具查看程序执行出错时的上下文信息
SAP UI5 应用开发教程之三十八 - 使用 Chrome 开发者工具查看程序执行出错时的上下文信息
|
Java Android开发 iOS开发
SAPGUI 里运行的老程序,如何对新的 SAP Fiori Belize Theme 进行适配?
SAPGUI 里运行的老程序,如何对新的 SAP Fiori Belize Theme 进行适配?
|
5月前
|
存储 数据库
SAP ABAP 里如何高效找到修改某个数据库表字段的 ABAP 程序的三种思路介绍试读版
SAP ABAP 里如何高效找到修改某个数据库表字段的 ABAP 程序的三种思路介绍试读版

热门文章

最新文章

下一篇
无影云桌面