Application Development and Automation 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: 
Read only

check for Authorization object

Former Member
0 Likes
45,648

Hi All,

I have a report which will authorize the person running the report.

I have been given a requirement which is to not accept some users and accept some users.

Now I know this is possible with authorization object but as I never worked with it so I exactly kind of getting in confusion as to how to go about it.

Could some one let me know how to go about it. I have few questions.

1. what is the exact use of authorization object.

2. I can build in the logic but what all should one start with before going for before implementing authorization object for the report.

3. I know there is some basis work involved in this but what is that ?

Thanks,

Mahen

2 REPLIES 2
Read only

Former Member
0 Likes
34,729

Hi,

In order to perform an authorisation check you have to find the appropriate authorisation object. An authorisation object consist from a table field and an activity field.

You can search for authorisation objects in SE84 -> Other Objects -> Authorisation Objects.

For example let-s say you want to check authorisation for field BUKRS.

You can take a look at authorisation object F_FEBC_BUK. Here you can find fields BUKRS and ACTVT. If you press on permited activities you will see three activities defined for this field: create, change, display.

After this, in your program, you can use the AUTHORITY-CHECK statement with this authirisation object. See documentation for this statement.

Also, if you cannot find an appropriate object, you can create your own authorisation object in transaction SU21.

Hope this helps.

Read only

Former Member
0 Likes
34,729

Hi,

In general different users will be given different authorizations based on their role in the orgn.

We create ROLES and assign the Authorization and TCODES for that role, so only that user can have access to those T Codes.

USe SUIM and SU21 T codes for this.

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

To ensure that a user has the appropriate authorizations when he or she performs an action, users are subject to authorization checks.

Authorization : An authorization enables you to perform a particular activity in the SAP System, based on a set of authorization object field values.

You program the authorization check using the ABAP statement AUTHORITY-CHECK.

AUTHORITY-CHECK OBJECT 'S_TRVL_BKS'

ID 'ACTVT' FIELD '02'

ID 'CUSTTYPE' FIELD 'B'.

IF SY-SUBRC <> 0.

MESSAGE E...

ENDIF.

'S_TRVL_BKS' is a auth. object

ID 'ACTVT' FIELD '02' in place 2 you can put 1,2, 3 for change create or display.

The AUTHORITY-CHECK checks whether a user has the appropriate authorization to execute a particular activity.

This Authorization concept is somewhat linked with BASIS people.

As a developer you may not have access to access to SU21 Transaction where you have to define, authorizations, Objects and for nthat object you assign fields and values. Another Tcode is PFCG where you can assign these authrization objects and TCodes for a profile and that profile in turn attached to a particular user.

Take the help of the basis Guy and create and use.

Reward points if useful

Regards

Anji