I have a case from my customer. He wants that in recurring infotype (0014), if these two wage types 3501 & 3510 are not maintained for regular employees only, than the error should be given in payroll simulation. For this purpose, i have to create a new PCR.
Can you please tell me that what should be function in schema and operations to be used in PCR?
SCN Support is for SAP Community Network support related queries only.
To get a quick (or any) response, create your new discussion in a space related to your query. This way it will be visible to topic experts who will then see and reply to it. The SCN Site Index contains a full listing of all SCN spaces.
I'm moving this thread to SAP ERP Human Capital Management (SAP ERP HCM)
The function P0014 is read using the PCR X011, so you need to first copy this PCR to Z* and then perform following steps:-
1. Check for Employee Group to find out "Regular Employees" , if we can find this using Employee subgroup then we can use "OUTWPPERSB".
2. For required Employee groups call an Z operation "ZCHECK" and for other just ADDWT *.
The Z operation will have the logic for checking both the Wage Types within the period for a specific employee, if found then the operation will return the value "1" and if not present then it will return the value '0'.
If Return Value = 1 - Then just do ADDWT *
if Return Value = 0 - Then write "ERROR"
I hope this will help you, do let me know in case you find any difficulty.
In IT0014, what do WTs 3501 & 3510 contain ? A number/unit, an amount, or both?
Execute a Payroll Simulation for an employee who has both IT0014-3501 and IT0014-3510, with the "Display Log" box checked, and look in the Input Table after function P0014 is processed. Do the WTs exist in the IT and with what (anumber/unit, an amount, or both) ?
Let's assume that they both contain an amount, then you could use function PIT to "Process the Input Table", and in a PCR that first looks for "Regular" employees (using operation OUTWPxxxxx), look for these WTs (using operation WTGYP). If the first one does not exist, generate an error, but if the first one exists, look if the second one also exists (and if not generate an error).