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.     
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值