REPORT ZBCAUTH1 .
*
************************************************************************
*
* Profile listing according to Erikki Tikka
* user-id or client Sni-Finland
* 150495
************************************************************************
*
TABLES: USR01, USR04.
*
PARAMETERS: CLIENT LIKE SY-MANDT DEFAULT '* ',
USER LIKE USR01-BNAME DEFAULT '*'.
*
DATA:BEGIN OF IUSR01 OCCURS 0.
INCLUDE STRUCTURE USR01.
DATA:END OF IUSR01.
DATA:ED-BNAME LIKE USR01-BNAME.
*
IF CLIENT = '*'.
CASE USER.
WHEN '*'.
PERFORM ALL-ALL.
WHEN OTHERS.
PERFORM ALL-ONE.
ENDCASE.
ELSE.
CASE USER.
WHEN '*'.
PERFORM ONE-ALL.
WHEN OTHERS.
PERFORM ONE-ONE.
ENDCASE.
ENDIF.
*
FORM ALL-ALL.
************************************************************************
* Selection from all excisting Clients / All users
************************************************************************
*
SELECT * FROM USR01
CLIENT SPECIFIED
INTO TABLE IUSR01.
*
SORT IUSR01 BY BNAME MANDT.
*
PERFORM LOOP-IUSR01.
*
ENDFORM.
*
FORM ALL-ONE.
************************************************************************
* Selection from all excisting Clients / One user
************************************************************************
*
SELECT * FROM USR01
CLIENT SPECIFIED
INTO TABLE IUSR01
WHERE BNAME = USER.
*
SORT IUSR01 BY BNAME MANDT.
*
PERFORM LOOP-IUSR01.
*
ENDFORM.
*
FORM ONE-ALL.
************************************************************************
* Selection from one excisting Client / All users
************************************************************************
*
SELECT * FROM USR01
CLIENT SPECIFIED
INTO TABLE IUSR01
WHERE MANDT = CLIENT.
*
SORT IUSR01 BY BNAME MANDT.
*
PERFORM LOOP-IUSR01.
ENDFORM.
*
PERFORM LOOP-IUSR01.
*
FORM ONE-ONE.
************************************************************************
* Selection from one excisting Client / One users
************************************************************************
*
SELECT * FROM USR01
CLIENT SPECIFIED
INTO TABLE IUSR01
WHERE MANDT = CLIENT AND
BNAME = USER.
*
SORT IUSR01 BY BNAME MANDT.
ENDFORM.
*
PERFORM LOOP-IUSR01.
*
FORM LOOP-IUSR01.
************************************************************************
* Loop internal-table / Search valid Profiles
************************************************************************
LOOP AT IUSR01.
IF ED-BNAME <> IUSR01-BNAME.
WRITE /.
WRITE: /2 IUSR01-BNAME.
ENDIF.
ED-BNAME = IUSR01-BNAME.
SELECT * FROM USR04
CLIENT SPECIFIED
WHERE BNAME = IUSR01-BNAME AND
MANDT = IUSR01-MANDT.
PERFORM WRITE-RESULT.
ENDSELECT.
ENDLOOP.
ENDFORM.
*
FORM WRITE-RESULT.
************************************************************************
* Prints out the result
************************************************************************
*
WRITE: /2 IUSR01-MANDT, 6 USR04-NRPRO, 15 USR04-PROFS+2.
ENDFORM.