"Checking User Authorizations in your ABAP Program
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.