Step by Step solution for Errors regarding payroll functions PE04: "PERFORM_INDEX_0 CX_SY_DYN_CALL_ILLEGAL_FORM" on HINCALC0 / RPCALCIN0, HXXCALC0 / RPCALCXX0, "Index 0 in PERFORM" Runtime error in HINCALC0 / RPCALCIN0
These errors occur when customer has exhausted all available names in customer namespace in indexed form names for PE04. The function or operation name specified is not valid under the customer namespace defined for table T52A0.
Table T52A0 defines the following customer namespace for customers to create their own payroll functions and operations:
*_*
*-*
*;*
*!*
*?*
*(*
*)*
*§*
*&*
*%*
*^*
*<*
*>*
*$*
*Ä*
*Ö*
*Ü*
For checking the payroll function that are not on the proper namespace please go to transaction se38 enter PCBURZXX0, where XX stands for the country. If it is India enter PCBURZIN0. There you can see the payroll functions and operations not on customer namespace. This ones will fill one position of India payroll functions and there are 50 standard payroll functions, so if you have more than 10 custom outside custom namespace the dump will appear.
So, basically, if we exhausted customer namespace then we have to make use of workaround provided by SAP.
In this, we have to use use "Self Defined" form name "FUXCALL" in PE04.
RPCGET00_FUXCALL is the include in programs HXXCALC0 / RPCALCXX0(replace XX with country code), which is responsible for call to form FUXALL.
Now, we have to implement two forms fuxcall_cust and fuxcall_natio.
these two forms can be defined/implemented at the same enhancement point where we defined our earlier functions.
Steps to follow:
1. run tcode: PE04
2. Specify function name and click create, ignore the warning and proceed further by clicking the highlighted button.
3. Provide description, country assignment. Select "Self Defined" radio button and provide formname as "FUXCALL". It is mandatory to give name as "FUXCALL".
4. Save and Activate.
5. Try to go to source text by click clicking below highlighted button.
6. We will get error "FUXCALL_NATIO" could not be found. This is because we have not yet implemented fuxcall_natio and fuxcall_cust.
7. To implement these routines, open any existing function in PE04 and implement these routines in the same enhancement point. Here we have opened source text of existing function "ZREMT" and implemented routines fuxcall_natio and fuxcall_cust in the same enhancement point.
8. Here we have AS-FUNCO which can be used to identify the name of actual function being called and redirect the execution to the applicable code. Define the called form in the same enhancement point as highlighted below.
This completes the process of defining the customer specific PE04 function after exhausting the predefined name indexes. Now include this at appropriate place in payroll schema as per your requirements.
Comments
Post a Comment
If it resolved your issue, appreciate it in comments. If not, write it in comments, we will come back with better solution.