Programme SAP RPISCAI1 - Pay scale jump batch input: infotypes 0000, 0008, and 0159 (I) update

Description
The RPISCAI1 program calculates pay scale jumps in payroll for Italy.
This report generates (when necessary) a batch input session able tofill and update infotypes 0008, 0159, and 0000.
The substantial difference from RPISCAI0 is that this program can avoidupdating infotype 0000 with the standard event 16 (Wage change):RPISCAI1 reads infotype 0159 to check whether a pay scale jump hasoccurred during the month; in this case it rewrites infotype 0159 bycalculating the date of the next pay scale jump and writing infotype0008 with the increase due to the pay scale jump.
The program writes infotype 0000 with event 16 (Wage change) onlyoptionally. The user can decide whether to activate this option bymeans of the checkbox available on the selection screen.
Moreover, it is possible to run the program without generating anybatch input session. In this case the checkboxes on the selectionscreen must be deactivated (not flagged) and the warning "No batchinput session generated" is displayed in the log.
On the contrary, if one or more boxes are flagged, the update of thecorresponding infotype is entered in the generated batch input session,in case a pay scale jump has occurred.
The report must be run before payroll is carried out; in case ofretroactive accounting, the report must be run again for each periodfor which it is planned.
The RPISCAI1 program includes the following steps:
It selects Personnel Numbers and reads data
It calculates increases:
In case of reclassification (employee's category or qualificationchange from the previous month to the current one) the program executessome activities (print, pay scale jump conversion according to the payscale jump type, and so on); no conversion is expected, for instance,for pay scale jumps of type 1 (from 1 to 19).
It revaluates the amount already subject to increase.
If the increase is due during the current month, the corresponding wagetypes are generated or updated in infotype 0008.
It prepares the batch input session and writes a summary list for theuser.
Pay scale jump calculation is processed by reading agreement type,collective agreement rate and individual pay from infotype 0008, aswell as the percentage of the increases accrued up to the time ofcalculation from infotype 0159.

Processing criteria
The procedure for pay scale jump calculation analyzes the date of thenext pay scale jump, the current payment class compared with theprevious year class, and the wage type values with the correspondingtables, and it creates new records for infotype 0008. These records arevalid from the first valid day of the processed month.
The tables in question are T5ITSV (definition of the pay scale jumpvaluation type), T5ITST (pay scale jump indicator definition), T5ITS1,V_T5ITS2_I, V_T5ITS2_N, T5ITS3, V_T5ITS4_C, V_T5ITS4_P, T5ITS7.
Then the process updates infotype 0008.
The master data used for the whole process is the one valid during themonth preceding the processing date, while the table elements are thesame as the processing month elements.
The above-mentioned process is entered in a specific menu and precedesthe calculation of the standard and extra monthly pay amount(preliminary activities).
To fully use the requirements needed by pay scale jump processing, itis necessary to define the employment level in infotype 0008 and themaster data level for each employee (office worker, cadre, etc.).
The data to be entered in the system is included in infotype 0159 (Payscale jumps). The management of this infotype is necessary for acorrect execution of the program.
This data must be interpreted by the RPISCAI0 report, which calculatesthe amount increase. This amount is used to complete the employee'swage recalculation operation made up in compliance with infotype 0008(Basic pay) and to update the date of the subsequent pay scale jump,the number of pay scale jumps, and the pay scale jump percentage fromthe corresponding tables.
In case of revaluations, the RPISCAI0 report must be run for each monthin question.

Main program:
Reading of the selected employees through PNP logical database.
Reading of infotype 0001 - Organizational assignment (current andprevious month) to check possible employee subgroup/group changes.
Reading of infotype 0002 - Personal data to obtain employee name andsurname.
Reading of infotype 0007 - Planned working time to determine theworking percentage.
Reading of infotype 0008 - Basic pay (current and previous month) tocheck possible employee category/level changes.
Reading of infotype 0155 - Supplementary administrative data to obtainpay scale jump accrual.
Reading of infotype 0159 - Pay scale jumps (current and previousmonth).
Reading of T5ITFT table - Allocation indicator with key:
Client from system table SYST-MANDT
Agreement type from infotype 0008 P0008-TRFAR
Pay scale area from infotype 0008 P0008-TRFGB
Allocation indicator from infotype 0155 P0155-CDACC
Read T5ITST table with key:
Client from system table SYST-MANDT
PSJ indicator from infotype 0159 P0159-COSCA
Check for the presence of pay scale jump valuation indicator in T5ITSVtable. Reading of the table with the following key:
Client from system table SYST-MANDT
Valuation indicator from T5ITST table T5ITSV-TPVAL
Reading of the table defining the pay scale jump calculation rulesaccording to the rules:
Client from system table SYST-MANDT
Agreement type from infotype P0001-TRFAR
Pay scale area " P0001-TRFGB
Qualification from table T503-TRFKZ
Category/level from infotype P0008-TRFGR
Sublevel " P0008-TRFST
PSJ valuation ind. from table T5ITSV-TPVAL
PSJ type GENERIC
NOTE: as the information of field 'Pay scale jump type' does not existin the master, it is necessary to perform a research with a partialkey.
Loading of wage type values from infotype 0008 - current and previousmonth.
Category change control.
Reading of corresponding tables. For pay scale jump valuation indicator(from T5ITST) included between:
10-19 = process pay scale jumps as a percentage - table T5ITS1
20-29 = process pay scale jumps as an amount - table T5ITS2
30-39 = process pay scale jumps as an amount - table T5ITS3
40-49 = process pay scale jumps as a percentage (up to 6/99)
/amount (as in case of
blocked and conventional PSJs - table T5ITS4
50-59 = process pay scale jumps by category - table T5ITS5
70 = process standard insurance increments - table T5ITS6
71 = process ins. incr. for managing staff - table T5ITS7
If the category changes:
20-29 = if valuation with the previous month is required from table
T5ITS2 -> reading of previous month's valid tables;
30-39 = the number of accrued pay scale jumps is recalculated by
dividing the already accrued amount of the pay scale jumps
by the amount of the sigle pay scale jump of the new
category;
40-49 = the pay scale jumps are frozen as described below:
It checks for the existence of the wage type to be frozen. If it doesnot exist, freeze is not executed.
It searches for the employee's category in the previous month in"Source category" fields of T5ITS4 table: if it is not specified,freeze is not performed.
It determines the amount to be frozen through the wage type encoded inT5ITS4 table, and sets it to zero.
It sets the number of current, blocked and standard pay scale jumps tozero in infotype 0159.
If "Freeze sign" field is = '-', it deducts the amount not to be frozenfrom the amount to be frozen.
If "Freeze sign" field is = ' ', the amount not to be frozen is notconsidered.
It obtains the amount of the wage type to be frozen through thepercentage encoded in T5ITS4 table.
It moves the next pay scale jump date.
Previous/accrued revaluation:
20-29:
-> Check for pay scale jump accrual from T5ITFT table:
-> if there is no accrual, the date of the subsequent pay scale
jump is put off for one month;
-> if accrual has occurred, it takes place during the pay scale
jump accrual month; in this case, it is not revaluated;
-> Check for table T5ITS2 if percentage calculation is required:
-> if required, the accrued percentage is calculated according to
part-time in infotype 0007;
-> otherwise, 1 is added; the accrued amount is included in
"Part-time percentage/24th" field in infotype 0159.
40-49:
-> Check for pay scale jump accrual in T5ITFT table:
-> if there is no accrual, the date of the next pay scale jump
is put off for one month;
-> if accrual occurs, it takes place in the pay scale jump accrual
month: in this case, no revaluation is performed;
-> Search for the pay scale jump wage type and revaluation according
to the number of previously accrued pay scale jumps multiplied by
the monthly percentage, in compliance with the calculation base of
infotype 0008 for the previous month.

Precondition
Management of infotypes 0008 and 0159 and customizing tables.

Output
Criteria for output generation:
The output is generated by Personnel Number.
The system displays the possible changes the batch input session shouldmake to the infotype data. .
The program reads ITSCA characteristic to learn how the pay scale jump managementsystem works (whether it is an insurance management system - withseveral pay scale jumps simultaneously).
In infotype 0008, the output of this report could be a change in the(insurance) pay scale jumps or a change in the wage type values in thebasic pay. In infotype 0159, the change deriving from the batch inputsession is the change of the subsequent increase date and the change inthe number or percentage of increases.