Saturday, May 11, 2024

Send Email with Attachment

 

REPORT zsendemail.


TABLES: TRDIR, USR02.
DATA: MARK,CNTR TYPE I,
      ACCNT 
LIKE USR02-ACCNT, ERDAT LIKE USR02-ERDAT,
      ANAME 
LIKE USR02-ANAME, CLI(3) VALUE 'AAA', SZIN TYPE I,
      SYDATUM 
LIKE SY-DATUM, FLAG(3).
TABLES: UINFO.
DATA: OPCODE TYPE X VALUE 2.
DATA: BEGIN OF USR_TABL OCCURS 10.
        
INCLUDE STRUCTURE UINFO.
DATA: END OF USR_TABL.

START-OF-SELECTION.
  
CALL 'ThUsrInfo' ID 'OPCODE' FIELD OPCODE
    
ID 'TAB' FIELD USR_TABL-*SYS*.
  
SELECT * FROM USR02 CLIENT SPECIFIED ORDER BY MANDT BNAME.
    
IF USR02-MANDT <> CLI.
      SZIN 
= SZIN + 1. SZIN = SZIN MOD 2.
      CLI 
= USR02-MANDT.
    
ENDIF.
    
IF USR02-UFLAG = 0.
      MARK 
= ' '.
    
ELSE.
      MARK 
= 'X'.
    
ENDIF.
    
CLEAR FLAG.
    
LOOP AT USR_TABL.
      
IF USR_TABL-BNAME = USR02-BNAME AND USR_TABL-MANDT = USR02-MANDT.
        FLAG 
= '!!!'.
      
ENDIF.
    
ENDLOOP.
    SYDATUM 
= SY-DATUM - 30.
    
IF SYDATUM < USR02-TRDAT.
      
IF SZIN = 0.
        
WRITE:/ ' ', MARK AS CHECKBOX,' ', USR02-BNAME COLOR 2,
              
' ',USR02-MANDT COLOR 2,
              
'   ',USR02-USTYP COLOR 2,
              
' ',USR02-TRDAT COLOR 2, USR02-LTIME COLOR 2,
              
' ',FLAG COLOR 6.
      
ELSE.
        
WRITE:/ ' ', MARK AS CHECKBOX,' ', USR02-BNAME COLOR 3,
              
' ',USR02-MANDT COLOR 2,
              
'   ',USR02-USTYP COLOR 2,
              
' ',USR02-TRDAT COLOR 2, USR02-LTIME COLOR 2,
              
' ',FLAG COLOR 6.
      
ENDIF.
    
ELSE.
      
IF SZIN = 0.
        
WRITE:/ ' ', MARK AS CHECKBOX,' ', USR02-BNAME COLOR 2,
              
' ',USR02-MANDT COLOR 2,
              
'   ',USR02-USTYP COLOR 2,
              
' ',USR02-TRDAT COLOR 4, USR02-LTIME COLOR 4,
              
' ',FLAG COLOR 6.
      
ELSE.
        
WRITE:/ ' ', MARK AS CHECKBOX,' ', USR02-BNAME COLOR 3,
              
' ',USR02-MANDT COLOR 2,
              
'   ',USR02-USTYP COLOR 2,
              
' ',USR02-TRDAT COLOR 4, USR02-LTIME COLOR 4,
              
' ',FLAG COLOR 6.
      
ENDIF.
    
ENDIF.
    
HIDE: USR02-BNAME, USR02-MANDT.
  
ENDSELECT.
  
CLEAR USR02.

TOP-OF-PAGE.
 
WRITE:/ 'LOCK   USER         CLIENT  TYPE     LAST lOGIN     ' COLOR 6.
  
SKIP.

AT USER-COMMAND.
  
IF SY-UCOMM = 'SEL'.
    
DO.
      
CLEAR MARK.
      
READ LINE SY-INDEX FIELD VALUE MARK.
      
IF SY-SUBRC NE 0.  EXIT. ENDIF.
      
IF USR02-BNAME IS INITIAL.CONTINUE.ENDIF.
      
SELECT SINGLE * FROM USR02 CLIENT SPECIFIED WHERE
      MANDT 
= USR02-MANDT AND BNAME = USR02-BNAME.
      
IF MARK = 'X' AND USR02-UFLAG = 0.
        USR02
-UFLAG = 64.
        
UPDATE USR02 CLIENT SPECIFIED SET: UFLAG = 64 WHERE
        MANDT 
= USR02-MANDT AND
        BNAME 
= USR02-BNAME.
        
COMMIT WORK.
      
ENDIF.
      
IF MARK = ' ' AND USR02-UFLAG = 64.
        USR02
-UFLAG = 0.
        
UPDATE USR02 CLIENT SPECIFIED SET: UFLAG = 0 WHERE
        MANDT 
= USR02-MANDT AND
        BNAME 
= USR02-BNAME.
        
COMMIT WORK.
      
ENDIF.
    
ENDDO.
    
CLEAR USR02.
  
ENDIF.

No comments:

Post a Comment