You are on page 1of 8

SAP Knowledge Base Article

2418531 - Termination Organizer - A complex application error has occurred


Component: PY-AU (Payroll > Australia), Version: 3, Released On: 05.07.2018

Symptom
When doing 'Update' run in Termination Organizer, an error message 'Unsuccessful : Creating infotype 0000 with key 0000
xxxxxxxx xxxxxxxx A Complex application error has occurred' is displayed, though the 'Test Update' run performed was
completely successful. Besides, this error message is too general for users to identify the root cause of the issue.

Environment
Human Capital Management (HCM)
SAP R/3
SAP ERP Core Component
SAP ERP
SAP enhancement package for SAP ERP
SAP enhancement package for SAP ERP, version for SAP HANA

Reproducing the Issue


1. Execute T-code PC00_M13_CTO3.
2. Enter Personnel number, Termination date and Termination reason.
3. Execute.
4. Select the employee in 'Multiple Employee Screen', and press the icon of magnifier to employee details screen.
5. Press 'Calc. Pay' to trigger payroll simulation.
6. Payments report is displayed.
7. Click 'Back' button twice so it is back to 'Multiple Employee Screen'.
8. Press 'Test Update', and 'Termination Log' displays successful messages on infotype operations.
9. Click 'Back' button again to back out to 'Multiple Employee Screen'.
10. Press 'Update', and then the error message 'Unsuccessful : Creating infotype 0000 with key 0000 xxxxxxxx xxxxxxxx A
complex application error has occurred.' is displayed in 'Termination Log' like:
Cause
This issue generally happens if Feature 13TRM is configured in a pattern that the 3rd and 4th characters are linked to an
infogroup containing records in V_T588D. An example of such 13TRM is like following:

As a standard, the 1st and 2nd characters of Feature 13TRM point to an infogroup configured in T529A, and this infogroup
contains infotypes to be delimited by Termination Organizer. While the 3rd and 4th characters of Feature 13TRM are used in
creating the IT0000 record for employee's termination, and the relevant code can be found in the Termination Organizer as
below:

Setting the 3rd and 4th characters the same as the 1st and 2nd characters means that the 3rd and 4th characters are also
linked to the infogroup that contains records in V_T588D. As a result, this infogroup is to be processed when the IT0000
record is created in Termination Organizer.
In standard design, Termination Organizer uses FM HR_MAINTAIN_MASTERDATA to create the IT0000 record in either
'Test Update' run or 'Update' run. 'Test Update' and 'Update' is determined by the value of parameter 'p_no_commit'.
Besides, there is one more difference between 'Test Update' run and 'Update' run. The code lines below show the difference
between 'Test Update' run and 'Update' run when creating IT0000 record:
As per above screenshot, when 'Test Update' run ('p_no_commit' is 'X'), the 'Action Type', namely 'massn' is not passed to the
creation of IT0000 record. While for 'Update' run ('p_no_commit' is Blank), 'massn' is passed to the creation of IT0000
record. When MP000000 is initialized to create IT0000, 'massn' provided or not determines whether the infogroup relevant
is processed or not. This can be seen in below code lines of MP000000:

When doing 'Test Update' in Termination Organizer, since 'massn' is not passed to the creation of IT0000 record, so the
infogroup relevant is not processed. In contrast, doing 'Update' run in Termination Organizer, the infogroup is processed in
the creation of IT0000 record. If any record from the infogroup has errors, this can only be reflected back to Termination
Organizer in 'Update' run, but not in 'Test Update' run. Therefore, when 'Test Update' run there is no error message in
Termination Log, but when 'Update' run the error message is shown up.
About the message 'Unsuccessful : Creating infotype 0000 with key 0000 xxxxxxxx xxxxxxxx A Complex application error has
occurred', this is actually a constructed message based on the standard message PG428 - 'A complex application error has
occurred' returned by FM HR_MAINTAIN_MASTERDATA:
Because FM HR_MAINTAIN_MASTERDATA is called in backgroud processing mode (Dialog_Mode is set to value '0') by
Termination Organizer, message PG428 is the only message that can be retrieved by Termination Organizer. So, this is a
technical restriction that it is not able to display a more meaningful message instead.

Resolution

How to prevent the issue ?


The best option to prevent the issue described in 'Symptom' session is to ensure the 3rd and 4th characters of Feature 13TRM
have no link to an infogroup that contains records in table view V_T588D. In this way, when creating the IT0000 record for
employee's termination action in 'Update' run, it will not trigger any infogroup processing. Therefore, 'Test Update' run and
'Update' run can behave consistently.
If customers have requriements to configure an infogroup that links to the 3rd and 4th characters of Feature 13TRM,
customers must then ensure following things:
1. The infogroup must be ensured that no infotype is to be processed by INSERT operation (INS) when the infotype has
mandatory fields to be filled up. Because infotypes are processed by background processing mode in Termination
Organizer, there is no chance to fill up these mandatory fields. An incorrect case could be like:

In this case, an INSERT operation on infotype 0001 is configured in the infogroup. Because some fields of IT0001 are
required to be filled up, it will result in an error 'Unsuccessful : Creating infotype 0000 with key 0000 xxxxxxxx
xxxxxxxx Fill in all required entry fields' in Termination Organizer when doing 'Update' run. This error looks like:

2. The infogroup must be ensured that NO display operation (DIS) is set on any infotype. An incorrect case could be like:
Because Termination Organizer creates IT0000 in background mode, calling a dialogue to display an infotype is
conflicting with background mode.

3. The infogroup must be ensured that the 'Subtype' field is correctly set or left to blank for the relevant infotypes. An
incorrect case could be like:

In this case, subtype 0 is set at 'Subtype' field, but 0 is not a valid subtype for infotype 0002. This will result in an error
'Do not specify an subtype' when the infogroup is processed. If processing the creation of IT0000 in a dialog mode, we
can see this error is shown up when creating IT0000:

4. Customer should also ensure that a correct User Group value is set to users' parameter UGR in users' profile. Otherwise,
unexpected infogroup will be picked up to be processed in creation of IT0000 record. For Termination Organizer, User
Group should be set to 13.

5. Customer should also ensure correct setting on Feature IGMOD if infogroup modifier is used in V_T588D.
6. Must apply Note 2507002 - Vacancies dialog box in background operation, this is to ensure no vacancy popup when
creating IT0000 in background.

How to find out which infotype configured in the infogroup causes issue ?
As mentioned earlier, Termination Organizer uses FM HR_MAINTAIN_MASTERDATA to create the IT0000 termination
action record, and FM HR_MAINTAIN_MASTERDATA is called in background processing mode. As per standard, FM
HR_MAINTAIN_MASTERDATA is able to be called in 3 modes, which are determined by 3 different values of parameter
'DIALOG_MODE' submitted to FM HR_MAINTAIN_MASTERDATA:
Value '0' - The change is processed principally in background. If an error occurs (in other words, an E message or A
message), the entire action is canceled and the module returns a corresponding error message in the 'RETURN'
structure.
Value '1' - The change is processed in the background. If an error occurs, the system switches to a dialog box so that the
user can correct the entries.
Value '2' - The change is processed in dialog box.
When Termination Organizer creates IT0000 termination action record, FM HR_MAINTAIN_MASTERDATA is called with
'DIALOG_MODE' set to value '0'. Therefore, only message PG428 is returned as per standard. In order to see a more
meaningful message rather than message PG428, customers have the following 2 options:
1. Simulate the same termination action via t-code PA40, which is being processed in dialog mode. Hence, if any error
happens when creating IT0000 record, the relevant error message could be shown up in dialog. And then with the
specific error message, customers can check accordingly in the infogroup configured.
2. The parameter 'DIALOG_MODE' submitted to FM HR_MAINTAIN_MASTERDATA can be forced to value '1' or '2'
instead of value '0' during debugging mode. To do this please follow below steps:

Step 1: Go to t-code SE80, and enter program RPCTO2Q0, find UPDATE_IT_0000 in node Subroutines, then set a
breakpoint at the call of FM HR_MAINTAIN_MASTERDATA. Please refer screenshot below:

Step 2: When starting 'Update' run in Termination Organizer, this breakpoint just set will be triggered at the line of
CALL FUNCTION ' HR_MAINTAIN_MASTERDATA'. Then press F5 button to have a single step into the processing of
FM HR_MAINTAIN_MASTERDATA. Please find screenshot below:
Step 3: When it is in FM HR_MAINTAIN_MASTERDATA, enter 'DIALOG_MODE' in variable to see its current value,
which is '0'. Then double click at the pencil icon at column 'Change', so that the value become changeable. Once then,
change the value to '1' or '2' and press Enter to confirm the change. Please find screenshot below:

Step 4: Once 'DIALOG_MODE' has been changed to value '1' or '2', press F8 to continue the processing. If value '1' is
used, the processing will be stopped and changed to dialog box when an error occurs, and the specific error is shown. If
value '2' is used, it is actually working completely like PA40, so if an error occurs it is going to be displayed in dialog box
directly. With the specific error message, customer can check accordingly in the infogroup configured.

Keywords
Termination Organizer; RPCTO2Q0; IT0000; Unsuccessful; A Complex Application Error; All Required Entries Fields;
Infogroup; Delimit

Attributes
Key Value

Other Components Personnel Management > Personnel Administration > Australia (PA-PA-AU)
Products
Products

SAP ERP Central Component all versions

SAP ERP all versions

SAP R/3 all versions

SAP enhancement package for SAP ERP all versions

SAP enhancement package for SAP ERP, version for SAP HANA all versions

You might also like