如何在用户登录时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.
相关文章
|
8月前
|
前端开发 API
SAP Fiori Elements 应用的 annotation 文件的触发源代码位置讲解
SAP Fiori Elements 应用的 annotation 文件的触发源代码位置讲解
59 0
|
8月前
|
存储 Java BI
如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能试读版
如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能试读版
105 0
|
9月前
SAP 电商云 Spartacus UI set delivery mode HTTP put 请求的触发时机
SAP 电商云 Spartacus UI set delivery mode HTTP put 请求的触发时机
23 0
|
19天前
|
网络安全
实战分析 - 为什么有些 SAP ABAP 程序,启动之后界面有些按钮是灰色的试读版
实战分析 - 为什么有些 SAP ABAP 程序,启动之后界面有些按钮是灰色的试读版
17 0
|
19天前
|
BI
什么是 SAP Dynpro 程序的 GUI Status
什么是 SAP Dynpro 程序的 GUI Status
10 1
|
19天前
|
数据处理
关于 SAP Dynpro 程序里的 OK_CODE 和 SAVE_OK 这两个全局变量
关于 SAP Dynpro 程序里的 OK_CODE 和 SAVE_OK 这两个全局变量
22 0
关于 SAP Dynpro 程序里的 OK_CODE 和 SAVE_OK 这两个全局变量
|
8月前
|
存储 Java BI
如何使用 Java 程序通过 SAP Java Connector 调用 ABAP 系统的函数试读版
如何使用 Java 程序通过 SAP Java Connector 调用 ABAP 系统的函数试读版
59 0
|
8月前
|
Web App开发 开发者
SAP UI5 应用开发教程之三十八 - 使用 Chrome 开发者工具查看程序执行出错时的上下文信息
SAP UI5 应用开发教程之三十八 - 使用 Chrome 开发者工具查看程序执行出错时的上下文信息
52 0
|
9月前
|
Java Android开发 iOS开发
SAPGUI 里运行的老程序,如何对新的 SAP Fiori Belize Theme 进行适配?
SAPGUI 里运行的老程序,如何对新的 SAP Fiori Belize Theme 进行适配?
63 0
|
19天前
|
存储 数据库
SAP ABAP 里如何高效找到修改某个数据库表字段的 ABAP 程序的三种思路介绍试读版
SAP ABAP 里如何高效找到修改某个数据库表字段的 ABAP 程序的三种思路介绍试读版
27 0