You are on page 1of 4

Dynamic Actions

Agenda
About Dynamic Actions
Creating a Dynamic Action
Live Scenarios to Practice
About Dynamic Actions
What is a Dynamic Action ?
Dynamic actions are triggered automatically without any user interaction i.e., system will display
second infotype.
Eg: When we are maintaining the Personal Data (IT 0002) system will automatically maintain
Communication Infotype (IT 0105)
What can you achieve using a Dynamic Action ?
You can control the initiation of actions when maintaining an infotype record. This can be the
maintenance of an additional infotype record or performing a routine.
For each action, you can determine whether it is always carried out when you change an
infotype or a subtype or whether it is only carried out if you change certain fields.
You can state whether the action is to be carried out for "Change", "Create" and/or "Delete"
record.
You can store the conditions for executing the action, for example, the comparison of the old
and new value of a field.
Finally, you can also specify default values for a record that is to be created.
IMG Path
SPRO -> PM-> PA-> Customizing procedure-> Dynamic Actions
Dynamic Actions Table V_T588Z
TCode: SM30 -> v_T588Z and Press Display button
Creating a Dynamic Action
Activities
Determine which infotype, subtype or field is to trigger a dynamic action.
Determine the infotype operation
You can now set up different actions using a sequential number:

d) F - access for internal or external routines
Calling up an internal routine: just specify the name of the routine, this must be in the infotype's
module pool "MPmmmm00". You cannot assign using-parameters.
Calling up external routines: specify the name of the routine and, in parentheses, the name of
the program in which the routine can be found. You cannot assign using-parameters.
Creating a Date/Deadline Record
Dynamic actions are normally used for creating date/deadline records. However, the date of the
deadline does not have to match the initializing date, but can be varied by a certain time
interval.
You can add or subtract a number of time units for an outgoing date. The time units "days"
(internal 010), "weeks" (011), "months" (012) and "years" (013) are supported.
Example:
A year after an examination infotype Internal Medical Service (0028)), the employee is to
undergo a subsequent examination.
You must then call up infotype Monitoring of Date (0019) using the date/deadline type "follow-up
examination" (30).

I INS,0019,30
Assignment of default values:
W P0019-TERMN=P0028-BEGDA
W P0019-VTRAN='1' number
W P0019-VTRZH='013' time unit from table T538T
W P0019-VTROP='+' operation '+' or '-'
Calling up an External Routine
In an external routine, you can check additional conditions, even for other infotypes:
Data definition
Include a statement for the current infotype structure (for example: TABLES: P0006.)
In include MPPDAT00, the fields required for flow control of an infotype dialog are defined in
the common part. If you have this include in your program, some fields are available
immediately: The field string CSAVE refers in each case to the old record whose values can be
compared with the new values in the plausibility checks. To do this, define a second work area
for the infotype structure that is used to store the contents of CSAVE. This means that the
individual names of the infotypes are given.
SAP recommends that you use the *-workarea for the infotype structure in each case (for
example: *P0006).
Internal table DYNMEAS: contains the infotype accesses (see indicator 'I').
Internal table INITIAL_VALUES: contains the default values for an infotype that is created or
copied. (see indicator 'W').
You want to call up a report - for example, the writing of a letter.
Include a submit statement for this report in your routine.
Creating a Batch Input Session
Dynamic actions are not processed in a batch input session.
In batch input, you must specify the exact sequence of the screens. To ensure this is the case,
you must have already programmed the dynamic action checks before you create the batch
input session.
To avoid errors only the static actions are processed when you program and process a session.
Infotypes that usually only appear in the system as a result of a dynamic action should be
updated by calling up the transaction separately.
Live Scenarios to Practice
Scenario 1:
Residence Visa expires:
Triggered by IT0094 creation and Expiry date not blank
Fed by expiry date of the residence ID in it0094
The reminder will be activated 2 weeks before the issue.
These created occurrences of it0019 will always be presented to the user (not handled in
background).
The dynamic actions have to deal with modifications and deletions of the related infotype.
Scenario 2:
Work permit expiration date:
Triggered by IT0094 creation and WP Expiry date not blank
Fed by expiry date of the work permit in it0094
The reminder will be activated 2 weeks before the issue.
These created occurrences of it0019 will always be presented to the user (not handled in
background).
The dynamic actions have to deal with modifications and deletions of the related infotype.
Scenario 3:
Subtype Grievance record to be deleted of It0019 to be created:
Triggered by IT0102 creation
Check country (MOLGA) = Poland
Fed by end date of Infotype + 1 year
The reminder will be activated 4 weeks before the issue.
These created occurrences of it0019 will always be presented to the user (not handled in
background).
The dynamic actions have to deal with modifications and deletions of the related infotype.
Thank You !!

You might also like