Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to find whether a program maintains a Authority check

Former Member
0 Kudos

Hi experts..

I had to develop a report which take inputs as a range of programs..

I had to find out that whether program is maintaining Authority Check or not.

I had searched the TRDIR table also but SECU(Auth group) field is present.....and no information about authority check..

WHATS THE LOGIC OF FINDING AUTHORITY-CHECK IN A PROGRAM.

Please help

all answers will be appreciable..

Answers will be rewarded

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

You can find all the programs, which uses a Particular Authorization object using the Transaction <b>SUIM</b>.

In that execute that Authorization Objects.

Using this T Code you will find lot of info based on users, Tcodes , Roles related Info.

reward if useful

regards,

Anji

4 REPLIES 4

Former Member
0 Kudos

Hi Saurabh,

Check this info.

Much of the data in an R/3 system has to be protected so that unauthorized users cannot access it. Therefore the appropriate authorization is required before a user can carry out certain actions in the system. When you log on to the R/3 system, the system checks in the user master record to see which transactions you are authorized to use. An authorization check is implemented for every sensitive transaction.

If you wish to protect a transaction that you have programmed yourself, then you must implement an authorization check.

This means you have to allocate an authorization object in the definition of the transaction.

For example:

program an AUTHORITY-CHECK.

AUTHORITY-CHECK OBJECT <authorization object>

ID <authority field 1> FIELD <field value 1>.

ID <authority field 2> FIELD <field value 2>.

...

ID <authority-field n> FIELD <field value n>.

The OBJECT parameter specifies the authorization object.

The ID parameter specifies an authorization field (in the authorization object).

The FIELD parameter specifies a value for the authorization field.

The authorization object and its fields have to be suitable for the transaction. In most cases you will be able to use the existing authorization objects to protect your data. But new developments may require that you define new authorization objects and fields.

http://help.sap.com/saphelp_nw04s/helpdata/en/52/67167f439b11d1896f0000e8322d00/content.htm

Hope this resolves your query.

Reward all the helpful answers.

Regards

Former Member
0 Kudos

Hi,

You can find all the programs, which uses a Particular Authorization object using the Transaction <b>SUIM</b>.

In that execute that Authorization Objects.

Using this T Code you will find lot of info based on users, Tcodes , Roles related Info.

reward if useful

regards,

Anji

raymond_giuseppi
Active Contributor
0 Kudos

To fin which program use an authorisation object, there is a FM :

          CALL FUNCTION 'RS_EDTR_SEARCH'       
            EXPORTING                          
*             ACTUAL_INCLUDE       = ' '       
*             ACTUAL_LINE          = '000000'  
*             DYNPRO_PART          = 'B'       
*             EXACT_SPELLING       = ' '       
              FINDSTRING           = <object_name>     
              METHOD               = 'AUTHORIT'
              objecttype           = 'R'       
*             DDICTABLE            = ' '       
*           IMPORTING                          
*             O_FCODE              =           
            tables                             
              objecttab            = objecttab 
*             ACTUAL_SOURCE        =           
            EXCEPTIONS                         
              NOT_EXECUTED         = 1         
              NOT_FOUND            = 2         
              OTHERS               = 3         

This program access table CROSS (when called with parameters as shown upper)

               SELECT * FROM CROSS APPENDING TABLE MYCROSS           
                        WHERE TYPE = CROSS_TYPE                      
                        AND   NAME = <object_name>  AND          
                       ( INCLUDE LIKE C_LIKE_METHOD OR               
                         INCLUDE LIKE C_LIKE_LOCAL_CLASS OR          
                         INCLUDE LIKE C_LIKE_CLASS_IMPLEMENTATION   ).

where C_LIKE_METHOD = '______________________________CM%'

C_LIKE_LOCAL_CLASS = '______________________________CL'

C_LIKE_CLASS_IMPLEMENTATION = '______________________________CC%'

Maybe you could reverse the select to find object from program.

Regards.

Former Member
0 Kudos

Try this table tstca.It is for tcode,if u know tcode of the program,can use this table.