ACTION LOG

This user exit is called at every time when an entry is tracked in the requests action log. So it can be used to initiate any kind of additional tasks that should be executed after a specific process step in Transport Management.

Location for activation

TM Server

Template function Module

/RTC/TM_TMPL_ACTION_LOG

Interface

Import Parameters

Internal table LT_TEXT

Field

Description

Field

Description

ACTION

Action in TM that triggered the user exit (see detailed list below)

TRKORR

Transport Request

SHORTTEXT

Short text of the Transport Request

LEVEL

Current Transport Level of the Transport Request

SEVERITY

Severity of the corresponding action log entry

Space: Info

1: Warning

2: Error

TEXT

Generated text, based on MSGID, MSGNR, MSGV1, MSGV2, MSGV4 (see below)

 

MSGID: Message area of the corresponding action log entry

MSGNR: Message number of the corresponding action log entry

MSGV1: Message parameter 1 of the corresponding action log entry
(By default: The date of the log entry)

MSGV2: Message parameter 2 of the corresponding action log entry
(By default: The time of the log entry)

MSGV3: Message parameter 3 of the corresponding action log entry
(By default: The user of the action + the SID of the current TM Server in brackets: USER1(RC4))

MSGV4: Message parameter 4 of the corresponding action log entry
Action specific parameter

 

Possible values for “ACTION” are (extracted from source code documentation):

* - 'ADD_REQUEST' " Request was added into TranportManger * - 'DELETE_REQUEST' " Request was deleted * - 'REJECT_REQUEST' " Request was rejected * - 'UNDO_REJECT' " Rejection was revoked * - 'CRITICAL_WARNINGS' " During approval warnings due to security options, critical " objects were ignored * - 'CRITICAL_ERRORS' " During approval errors due to security options, critical " objects were ignored. * - 'COLLISION_WARNINGS' " During approval collision warnings with others requests were " ignored. * - 'COLLISION_ERRORS' " During approval collision errors with others requests were " ignored. * - 'STATUS_WARNINGS' " during status change warnings/errors were ignored. " This entry is made if a request waiting for import is moved " within the workflow monitor. Moving means here to change the " status from 'Current' to 'Queue' of the next transport " level. * - 'STATUS_CHANGE_CURRENT-->QUEUE' " Status change from 'Current --> Queue' * - 'STATUS_CHANGE_QUEUE-->SIGNATURE' " Status change 'Queue --> Signature' * - 'STATUS_CHANGE_QUEUE-->CURRENT' " Status change 'Queue --> Current' * - 'STATUS_CHANGE_CURRENT<--QUEUE' " Status change 'Current <-- Queue' * - 'STATUS_CHANGE_QUEUE<--SIGNATURE' " Status change 'Queue <-- Signature' * - 'STATUS_CHANGE_QUEUE<--CURRENT' " Status change 'Queue <-- Current' * - 'MAKE_CONTENT_APPROVAL_1' " First content approval was made. * - 'MAKE_CONTENT_APPROVAL_1_GRP' " First content approval was made by a group. * - 'MAKE_CONTENT_APPROVAL_2' " Second content approval was made. * - 'MAKE_CONTENT_APPROVAL_2_GRP' " Second content approval was made by a group. * - 'MAKE_TECHNICAL_APPROVAL' " Technical approval was made. * - 'MAKE_TECHNICAL_APPROVAL_GRP' " Technical approval was made by a group. * - 'REVOKE_CONTENT_APPROVAL_1' " First content approval was revoked. * - 'REVOKE_CONTENT_APPROVAL_1_GRP' " First content approval was revoked by a group. * - 'REVOKE_CONTENT_APPROVAL_2' " Second content approval was revoked. * - 'REVOKE_CONTENT_APPROVAL_2_GRP' " Second content approval was revoked by a group. * - 'REVOKE_TECHNICAL_APPROVAL' " Technical approval was revoked. * - 'REVOKE_TECHNICAL_APPROVAL_GRP' " Technical approval was revoked by a group. * - 'AUTOLOADER_ADDS_REQUEST' " Autolader has added request into the TransportManager. * - 'CHANGE2IMPORTED' " Request was added to 'imported requests'. * - 'MODIFY_DEPENDENCY_INFO'. " Dependency infromation were modified. * - 'ADD2PERSONAL_QUEUE'. " Request was added to the personal queue. * - 'DEPENDENCY_INFO_VIOLATION_MAKE'. " During makking approval dependency information violation " has occured. * - 'DEPENDENCY_INFO_VIOLATION_REVOKE'. " During revoking approval dependency information violation " has occured. * - 'DEF_PREDECESSOR'. " Request was defined as predecessor. * - 'DEF_ACCOMP_PRED'. " Request was defined as accompanying predecessor. * - 'DEF_COMPANION'. " Request was defined as companion * - 'DEF_SUCC'. " Request was defined as successor * - 'DEF_ACCOMP_SUCC'. " Request was defined as accompanying successor. * - 'DEL_PRED'. " Predecessor was deleted. * - 'DEL_ACCOMP_PRED'. " Accompanying predecessor was deleted. * - 'DEL_COMPANION'. " Companion was deleted. * - 'DEL_SUCC'. " Successor was deleted. * - 'DEL_ACCOMP_SUCC'. " Accompanying successor was deleted. * - 'PQ_PRED_IGNORED'. " Predecessor was ignored adding request to the personal queue. * - 'PQ_ACCOMP_PRED_IGNORED'. " Accompanying predecessor was ignored adding request to the " personal queue. * - 'PQ_COMPANION_IGNORED'. " Companion was ignored adding request to the personal queue. * - 'PQ_SUCC_IGNORED'. " Successor was ignored adding request to the personal queue. * - 'PQ_ACCOMP_SUCC_IGNORED'. " Accompanying successor was ignored adding request to the perso nal queue. * - 'PQ_INDIRECT_COMPANION_IGNORED'. " Indirect companion was ignored adding request to the personal " queue. * - 'ACCOMP_PRED_NOTICED' " Accompanying predecessor was noticed during making or " revoking approval. * - 'ACCOMP_SUCC_NOTICED' " Accompanying successor was noticed during making or " revoking approval. * - 'COMPANION_NOTICED' " Companion was noticed during making or revoking approval. * - 'INDIRECT_COMPANION_NOTICED' " Indirect companion was noticed during making or revoking appro val.

 

Export Parameters

None

 

Additional Information

Action log entries are stored via an SAP message plus 4 optional message parameters. This ensures the language independency of the stored log entries. If the provided import parameters are not sufficient, the developer should try to identify the right message information in TM standard function module /RTC/TM_WRITE_HISTORY that is related to the action that should trigger the new user exit implementation.

 

Example

The IT Manager wants to be notified at every time, someone ignores collisions of type “ERROR”.

Step 1

Copy the function module /RTC/TM_TMPL_ACTION_LOG to a new function module

Step 2

Identify the right action identifier in the function module source code documentation => here “COLLISION_ERRORS”

Step 3

As the only parameters we want to report are the responsible approver as well as the transport level, there is no need to check function module /RTC/TM_WRITE_HISTORY here as they are provided through:

User: SY-UNAME
Transport Level: LT_TEXT-LEVEL

 

Add the following code to the section “Begin of customer implementation”:

FIELD-SYMBOLS: <lw_text>. LOOP AT lt_text ASSIGNING <lw_text> WHERE action = ‘COLLISION_ERRORS’. * The email notification using SY-UNAME and <lw_text>-level * End of notification ENDLOOP.