TASAUTH: Check transaction start authorization at CALL TRANSACTION

Purpose

In releases prior to release 4.6B, if a transaction was called from within another transaction using the ABAP command CALL TRANSACTION, the system did not check the transaction start authorization of the transaction that was called. As of release 4.6C, the developer of the calling transaction can define whether the transaction start authorization should be checked or not. This setting is made using program TASAUTH or transaction SE97. The developer’s specification is transported as part of the calling transaction.

CAUTION

The statement CALL TRANSACTION without the addition WITH AUTHORITY-CHECK or WITHOUT AUTHORITY-CHECK is now obsolete. Statements with these additions ignore configurations made in SE97. Statements without these additions function as described here.

Prerequisites

The program TASAUTH or transaction SE97 uses the TCDCOUPLES table. A trace function in the kernel enters the call couples in this table. Ideally, the specification whether the authorization is to be checked or not is maintained when the CALL TRANSACTION command is run for that call couple for the first time, since the call is only written in the table at this point. However, if this is not possible, the developer can also enter the call couples manually. He or she can also delete call couples.

Selection

The developer can select the calling transaction(s) in the selection screen. By selecting the corresponding radio buttons, he or she can select according to the transaction name or the development class and person responsible as defined in TADIR.

Output

If the developer has specified selection criteria for the calling transactions that are fulfilled by more than one transaction, the transactions are displayed in a selection list.

A green traffic light in the first column of this list means that either the system did not find any call relationships between the calling transactions and called transactions in the TCDCOUPLES table, or that for all the call relationships found it has already been specified whether the transaction start authorization is to be checked or not. A red traffic light means that there is at least one call relationship which has not been maintained.

Clicking on the name of the calling transaction displays a list of the called transactions.

If the developer only specified one calling transaction on the selection screen, the list of called transactions is displayed immediately.

Activities

In the list of called transactions, the developer should now specify for each called transaction whether the transaction start authorization of the called transaction is to be checked or not. To do this, he or she must click the corresponding column at the beginning of the row. The column headings have the following meanings:

  • U = Not maintained
  • N = Do not check
  • P = Check

If the developer knows for certain that a called transaction is not in the list, he or she can enter the transaction manually using the ‘Add Transaction’ function.

Incorrect entries (transaction is not in fact called) can be deleted from the table using the ‘Delete transaction’ function.

The settings are saved in the TCDCOUPLES table by saving (for example, by choosing the save icon).

Process the dialog boxes of the transport system as you normally would.

Example

A developer wishes to specify for all transactions for which he or she is responsible whether the transaction start authorization is to be checked or not when transactions are called using the CALL TRANSACTION command. He or she has already tested all his transactions, therefore the trace function in the kernel has already entered the call couples in the TCDCOUPLES table.

The developer starts transaction SE97. On the selection screen, he or she selects the radio button ‘Select calling transactions by development class/person responsible’. He or she leaves the ‘Development class’ field empty; his or her own user ID is already entered in the ‘Person responsible’ field. Choosing ‘Execute’ (F8) starts the selection of the calling transactions.

The selection list of the calling transactions is displayed. The developer sees several red traffic light symbols in the left column. He or she clicks the name of the first transaction with a red symbol. A list of the transactions called by this transaction is displayed.

Since this is the first time that the developer is maintaining the transactions, he or she has not yet specified for all transaction calls whether or not the transaction start authorization is to be checked. Therefore, a red cross meaning ‘Not maintained’ (column title ‘U’) is displayed in the left column of all the called transactions. A dot acts as a placeholder in the following two columns (‘N’ for ‘Do not check’ and ‘P’ for ‘Check’). The developer clicks on one of the dots for each called transaction, depending on whether the transaction start authorization is to be checked or not. The red cross then disappears and a green tick appears in the specified column. Once the developer has specified whether or not the check is to take place for each called transaction, he or she saves his settings.

The developer goes back to the list of calling transactions. He or she consecutively selects each calling transaction with a red traffic light symbol and specifies in the list of called transactions whether the authorization is to be checked or not.

You May Also Like

Leave a Reply?