Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

COM ****************************************
COM Payroll Schema for India
COM ****************************************
COPY XIN0 * Initialisation of payroll
COM Initialization INTERNATIONAL
BLOCK BEG Initialization of Payroll
PGM ABR Program type for payroll
UPD YES Update database (YES/NO)
OPT INFT Read used infotypes only
OPT TIME Import all time infotypes
CHECK ABR Check against PA03
BLOCK END Initialization of Payroll
* END OF COPY XIN0
COPY INBD * Read basic data
COM Basic data India
BLOCK BEG Edit basic data
ENAME Determine name of EE (infotype 0001)
INCHD To implement changed data
WPBP Read work center/basic pay data
ININI Set FY Dates and ALGRP tables
IF SP=B * If Correction run
ELSE * else
P0580 Read Previous Employment Tax Details
P0581 Read Read Housing(HRA / CLA / COA)
P0582 Read Read Exemptions
P0584 Read Read Income From Other Sources
P0585 Read Read Section 80 Deductions
P0586 Read Investment Details (Sec88)
P0587 Read Provident Fund Contribution
P0588 Read Other Statutory Deductions
P0583 Read Car & Conveyance
P0590 Read Long term reimbursements
P185I Read ID Details
ENDIF * End
GON Continue if data complete
XGP * Global Employment Payroll
BLOCK END
* END OF COPY INBD
IF SPRN If special run
RFRSH IT Clear internal table IT
ENDIF Endif
COPY XPR0 * Import previous result current period
BLOCK BEG Get previous result of period for V0
IF R Retro Calculation?
LPBEG RC Loop at prev. results ( still valid
IMPRT O Import old result
PITAB M OV0 Merge OV0, V0znr with V0, V0ZNR
LPEND End Loop at ...
ENDIF To: Retro Calculation?
BLOCK END
* END OF COPY XPR0
COPY XLR0 * Import last payroll results
BLOCK BEG Import last payroll result
COM Import last payroll result
IMPRT L Import last result
PORT X006 P06 NOAB Transfer relevant data to LRT
SETCU Prepare CRT (old results)
BLOCK END Import last payroll result
* END OF COPY XLR0
COPY INR0 * Import last payroll results
Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

COPY XT00 * General processing of time data


COM Processing of Time Data INTERN.
COM ***************************************
BLOCK BEG Processing of time data
GENPS Generate Personal Work Schedule PWS
GENPS S** * Generate PWS with shift substitutions
PARTT Partial period parameter
IF X064 Carry Out Shift Change Compensation
PITAB D DPS Initialize table DPS
P2003 S** DPS Insert Shift Substitutions in PWS
ELSE Do not Perform Shift Change Compensation
P2003 S** Import shift substitutions into PWS
ENDIF End shift change compensation
PARTT PSP * Partial Period Param.With Substs in DIVI
PIT X010 P01 Create valuation bases (addition)
PIT ZCK1 NOAB gratuity check yearly
PIT ZCI7 NOAB * WELFARE TURST DEDUCTION
DATES service bonus
PIT ZCJ2 NOAB * service bonus
PIT ZCJ3 NOAB * Semi Yearly Bonus Calculation
PIT X013 P01 Create valuation bases (division)
MOD XMOD GEN Determine payroll modifiers
RAB Import absences
XNAB * Processing the AB acc.to coverage hist.
IF PDC Is PDC active in period?
IMPRT B2 Import cluster B2
PRINT NP ZL Print table of time wage types
DAYPR TC00 PDC Day processing of time data
ELSE PDC Not Active in Period
DAYPR TC00 Day Processing of Time Data
ENDIF Endif PDC
COPY XCOM * Process Shift Change Compensation
BLOCK BEG Shift Change Compensation
IF X064 Perform shift change compensation ?
PITAB S ZPS Save PWS in ZPS
PITAB S ZZL Save ZL in ZZL
PITAB D ZL Delete ZL
PITAB L DPS Load PWS from DPS
DAYPR TC00 * Generate wage types for DPS
PITAB S AZL Save ZL from DPS in AZL
PITAB L ZZL Load ZL from ZZL
PLRT X068 NOAB * Read wage types for shift change comp.
MCOMP X067 GEN NOAB * Weekly comparison AZL/ZL - wage types
MCOMP X066 GEN NOAB Daily comparison AZL/ZL - wage types
PITAB L ZPS Save PWS from ZPS
SORT ZL Sort ZL
ENDIF End shift change compensation
BLOCK END Shift Change Compensation
Sort ZL
End shift change compensation
* END OF COPY XCOM
COPY XT01 * * Weekly overtime Analysis
PAB Edit absence data
PRINT NP PART Print partial period parameter
P2010 X930 GEN NOAB Edit employee remuneration information
PALP X012 GEN Valuation Bases for Different Payments
PIT XALP NOAB Higher val. basis + extra pay + premium
PIT ZY90 NOAB * Attendance Bonus
ZLIT AMS Place summarized ZL entries in IT
P0416 Processing Quota Compensation
Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

PIT X015 GEN Valuation of time wage types


AVERA Calculation of averages
PIT X009 GEN NOAB Remove val. bases with ALP split
COPY XIW9 * Incentive wages
COM Edit incentive wage data
BLOCK BEG Incentive wages
ACTIO XW3 A * Acc.to employee subgroup -> set var.INCW
IF XW4 * Query var.INCW -> incentive wages active
PW1 XW8 GEN 3 Individual incentive wage time tickets
PW2 XW9 GEN 3 Group incentive wage time tickets
ACTIO XW6 AR Incentive wages monthly statement
PRINT NP LS Print subsequent time tickets
ENDIF * End of incentive wages
BLOCK END Incentive wages
* END OF COPY XIW9
PIT X020 P03 Gross and RT storage for time wage types
BLOCK END Processing of time data
* END OF COPY XT00
COPY INLN * Loan accounting
BLOCK BEG Loan accounting
IMPRT L Import last payroll result
P0045 GRSS Calculate interest
P0045 XLON NET * Interest/repayment deductions
INPLO INRP * Deferred Interest
P0045 NET Interest/repayment deductions
INPLO INIR * Interest Recovery
PRT XLOZ NOAB * Example: Store user wage types
PRT INBM NOAB * Taxation of Loan interest subsidy
INLON INJ2 Taxation of Loan interest
BLOCK END
* END OF COPY INLN
IF SP=B * If correction payroll run
ELSE * else
COPY INAP * Import further paym./deducs. off
COM Import further paym./deducs. off
BLOCK BEG Process additional payments/deductions
IF SPRN If Offcycle processing
P0267 X011 GEN NOAB Import additional off-cycle payments
ELSE
P0014 X011 GEN NOAB Import recurring benefits/deductions
P0015 IN11 GEN NOAB Import additional payments
PIT ZOO4 NOAB *
PIT ZOO5 NOAB *
PIT Z000 NOAB *
P0579 * Import addtnl pymnts (3rd prty system)
P0057 INTP GEN NOAB Membership Fees
ENDIF
BLOCK END Process additional payments/deductions
* END OF COPY INAP
ENDIF * End if
COPY INAL * Period factoring and storage
COM Monthly factoring and storage India.
BLOCK BEG Factoring and storage
GEN/8 6 Create wage types /801 to /810 in IT
PIT INP1 NOAB Determine monthly factors
PIT ZBC1 NOAB * Determine Monthly Factors
PIT INWT GEN * Create wage type /12N.
PIT IN2N NOAB * Store the last split of /12N in RT.
PIT IN72 P72 Nominal Cumulations
PIT IN77 P77 Nominal Cumulation for 1 day salary Ded.
Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

PIT XCM0 P31 Monthly lump sums for cost accounting


PIT INEX GEN NOAB * Monthly Nominal amount
PIT XVAL P10 Valuate pay elements
ACTIO XCH0 A Hourly rates for cost accounting
PIT INNP Notice Pay Addition / Subtraction
PIT INRT GEN NOAB * Cumulate payments for TDS in regular run
PIT IN80 GEN NOAB Sec 80CCD limit
PIT X023 P20 NOAB Gross input and storage
BLOCK END Factoring and storage
* END OF COPY INAL
COPY INBS * Save tables for iteration
COM Save tables before iteration
BLOCK BEG Save tables for iteration
PITAB S UIT Save IT > UIT before iteration
PITAB S URT Save RT > URT before iteration
PITAB S AOA Save OARRRS > AOA before iteration
PITAB S AV0 Save OV0 > AV0 before iteration
PITAB S AS80 Save S80 > AS80 before iteration
PITAB S AS88 Save S88 > AS88 before iteration
PITAB S APTX Save PTX > APTX before iteration
PITAB S ATAN Save TAN > ATAN before iteration
BLOCK END Save tables for iteration
* END OF COPY INBS
LPBEG Begin Loop
COPY INBL * Import saved tables
COM Reload saved tables
BLOCK BEG Import saved tables
PITAB L UIT Import UIT > IT
PITAB L URT Import URT > RT
PITAB L AOA Import AOA > OARRRS
PITAB L AV0 Import AV0 > OV0
PITAB L AS80 Import AS80 > S80
PITAB L AS88 Import AS88 > S88
PITAB L APTX Import APTX > PTX
PITAB L ATAN Import ATAN > TAN
BLOCK END Import saved tables
* END OF COPY INBL
COPY INDD * Processing deductions and storage
COM Processing INTERNATIONAL deductions
BLOCK BEG Processing deductions and storage
PIT ZCJ1 NOAB * pf calculations2
PIT ZCI9 NOAB * pf calculations3
PRART X014 GEN NOAB ARRRS Table from prev.period (-> in IT)
COPY XDP0 * Process deductions with balances/totals
COM Process deductions with balances
BLOCK BEG Deductions with balances and totals
PIT XRRS GEN NOAB Arrears breakdown using recovery/balance
PLRT XDPM P50 NOAB Transfer balances, totals of deductions
PIT XDPI P50 NOAB Save balances for processing
PIT XDPR P50 NOAB Calculate balance of deductions
PIT XDPT P50 NOAB Determine deduction totals
BLOCK END
* END OF COPY XDP0
COPY XPDD * Modify deductions with values from DDNTK
BLOCK BEG Process table DDNTK (ded.not taken)
IF R Retroactive accounting ?
PITAB D CORT Refresh table CORT (cumulated ORT)
LPBEG RC Loop using original results
IMPRT O Import original result for period
PITAB A CORT Cumulate ORT in CORT
Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

LPEND End of loop


IF LPRC Has loop been processed?
PITAB L CORT Rewrite CORT to ORT
ELSE No original result in cluster
RFRSH ORT Initialize ORT
PITAB D OV0 Initialize OV0 and OV0ZNR
ENDIF to: Has loop been processed ?
ENDIF to: Retroactive accounting ?
PRDNT Modify deductions with values from DDNTK
BLOCK END
* END OF COPY XPDD
PIT X024 P41 NOAB Gross input and storage
PIT X025 P04 NOAB Gross cumulation, cost distribution
BLOCK END Processing deductions and storage
* END OF COPY INDD
IF SP=B * If Correction run
COPY INN3 * Gross to net calculation
ELSE * Else
COPY INN1 * Begin Gross to net Calculations
BLOCK BEG Begin Gross to Net calculation
IF O If Original Run?
PDT IN44 GEN NOAB Provide differences received
PDT INF4 GEN NOAB Read balances carried forward for PF
PDT IN65 GEN NOAB * Process /A60 in current period
SORT IT Sorting IT
PIT IN45 GEN NOAB Add B/F WT to the last split, Put in RT
ENDIF Endif for Original Run
PIT INHA GEN NOAB * Calculate Monthly Irregular HRA Basis
DATES Reading date specification
ACTIO INN0 Setup projection factor
PLRT INTT P41 NOAB B/F Termination exemp for payroll beyond
IF SPRN If offcycle run ?
PIT INPB NOAB * Cum'n of bonus to PTax basis
PIT INPC P51 NOAB New : Cum'n of bonus to PTax basis
INPTB Population of Ptax basis
INBTD BON1 SBON Tax deduction at source for bonus pay
ELSE Else, Regular run (Gross to Net)
INPET Previous employment tax details
PIT INPV GEN NOAB * Previous employment Bonus
INESI Employee state Insurance
IF O If original run (1 Day Sal Ded)
INDSD One day salary deduction
ENDIF End if original run
ACTIO INDR * Challenge Exemptions (Section 80(u))
INTPD Third party deductions
INS80 Section 80 deductions
INIOS Income from other sources
IF ING0 If Eligible for Gratuity
INGRY Gratuity calculations
PIT ZCI3 NOAB * /3g1 wagetype
PIT ZA02 NOAB
ENDIF End if gratuity
INSAN Superannuation calculations
PIT ZCI4 NOAB * /3S1 Calculation
PIT INRM GEN Removal of splits for relevant wagetypes
PIT INLN Last nominal basis
PIT INSA * Ex-gratia check
PIT INPR * Addition of PF Basis
INEPF Provident Fund calculations
PIT ZCI2 NOAB /3F7,/3F8,/3F9 Calculations
Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

PIT ZCJ2 NOAB * FINAL PF Calculation


PIT INED * To modify EDLI Admin /PFAdm to 3 decimal
INS24 Section 24 Deductions
INS88 Section 88 Rebate
INMED Medical Insurance/Reimbursement/Perk
INLWF * Labour welfare fund
INUCD LWF /140 Other Statutory and Non-Statutory ded.
INCEA Children education allowance
INCTX SEXM MCAX A MCMX * Customer specific tax exemption
PIT INCS GEN NOAB Create WPBP splits in wage types
INCCO Company car schemes
ACTIO INCC Add actual cost- fully personal use car
INLTA Leave travel allowance
INHFS Hard Furnishing
PIT INHF NOAB Recovery from Hard furnishing
PIT INLE NOAB *
INLEA MLIN Leave encashment
INGTX MGIN Gratuity taxation
IF INVR If Voluntary Retirement Service ?
INVRS Volunatry retirement service
ENDIF end if voluntary retirement
PIT INS0 GEN NOAB Non 'A' Split removal from exemption WTs
PIT IN76 P76 NOAB Cumulation for Monthly/annual exm, rembs
PIT INCA Monthly basis for COA/CLA
INHRA HRA/CLA/COA
PIT INPT NOAB Profession tax cumulations
PIT INPB NOAB * Cum'n of bonus to PTax basis
PIT INPC P51 NOAB New : Cum'n of bonus to PTax basis
INPTB Population of Ptax basis
INPTX Professional Tax calculations
PIT ZCI8 NOAB * prof.Tax as on march 2020
IF INNT If eligible for NE Tax Exemptio
PIT INNE GEN NOAB NE Tax Exemption related proces
ENDIF end if NE Tax Exemption
PIT INPX * Modify monthly Profession Tax
INS24 * Section 24 Deductions
PIT IN71 P71 NOAB * Customer specific taxabilities
PIT IN70 P70 NOAB Cumulate wage types for tax calculation
IF O If original run? (S89 & TDS on Arrears)
PIT IN89 GEN NOAB Legacy data for Sec 89 Relief Calc.
PDT INAR NOAB * Find Arrears
ACTIO INTD * Compute TDS on Arrears
ENDIF End if original (S89 & TDS on Arrears)
ACTIO IN90 Capture S 89 Relief outside SAP Payroll
INBTD BON1 STDR * TDS payments in regular run
INTAX Income tax calculations
PIT INER NOAB * Average rate of the tax
PIT INET NOAB * Tax paid by the employer
ENDIF Endif OffCycle run
IF O IF Original (Voluntary tax & Rounding)
PIT INV1 GEN NOAB * Add delta tax to the result
PIT INV3 NOAB * Voluntary tax dedcution on Delta tax
PIT INVT NOAB Voluntary tax rule
PIT INTR NOAB Rounding off tax amounts
ELSE Else, retro run (Import ORT wagetypes)
PORT INRE NOAB * Restore the Average rate of tax in retro
COPY INPO * PORT WTs for GRY, SAN, ESI, DSD, LWF, PF
PDT IND1 GEN NOAB * Cumulates delta tax for other company
PIT INT2 NOAB * Stores Recalculated Income Tax
PIT INT1 NOAB Delete recalculated value of tax from IT
Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

LPBEG RC
IMPRT O Import Old results
PORT IN49 GEN NOAB Import 1DSD ROR wage types from ORT
PIT INT1 NOAB * Delete recalculated value of tax from IT
PORT INDT NOAB * Import /460 from ORT
PORT INTX NOAB Import net tax wage type from ORT
IF INES * If ESI contributions are not calculated
PORT IN50 GEN NOAB * Import ESI cont. wage types from ORT
ENDIF *
PORT IN57 GEN NOAB Comparing ESI WT of ORT and IT
IF INGR * If Gratuity contributions are calculated
PORT IN51 GEN NOAB Import gratuity cont. wage type from ORT
ENDIF *
IF INSN * If Superannuation contributions are calc
PORT IN52 GEN NOAB Import SAN cont. wage type from ORT
ENDIF *
IF INLW Check LWF wage type in case of retro
PORT IN53 GEN NOAB Transfer LWF wage types from ORT to IT
ENDIF
LPEND
* END OF COPY INPO
ENDIF Endif for original run
BLOCK END End Gross to Net calculation
* END OF COPY INN1
ENDIF * Endif
COPY INA9 * Cumulation of net amount/payment amount
COM Net cumulation and formation of
COM payment amount India
BLOCK BEG Net cumulation/payment amount
PIT IN30 P05 NOAB Cumulation of net amount
IF O Original period ?
PLRT XADV GEN NOAB Import advance WTs from LRT
PRPRI O Process priorities table
ENDIF
PIT IN40 NOAB Payment amount before transfer
ACTIO X04A Import claim from previous period
BLOCK END Net cumulation/payment amount
* END OF COPY INA9
COPY XDNT * Deductions not taken during loop?
BLOCK BEG Deductions not taken during loop?
IF DDNT Deductions not taken?
ACTIO XLPC PCR for loop condition (1 more pass)
ELSE no more loop
PREND Priority end processing (adjust DDNTK)
ENDIF to: if deductions not taken
BLOCK END
* END OF COPY XDNT
LPEND End Loop
COPY INNR * Retroactive accounting - India
BLOCK BEG Retroactive accounting INDIA
COM Retroactive accounting
IF O Original payroll ?
PDT IN41 GEN NOAB Provide differences received(India)
ELSE Retroactive accounting now
ACTIO X048 Reset BTEX YUI950925
LPBEG RC Loop over old results
IMPRT O Imports last payroll
PORT X042 GEN NOAB Form differences and transfer
PORT IN42 GEN NOAB Form differences and transfer
PORT INF1 GEN NOAB Formation of differences for PF arrears
Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

COM Wage types that cannot be revised


PIT X047 Cumulation of new payment amount
BTFIL Transfer BT from last payroll
XLIDI PUTP * Posting Distribution of liabilities
LPEND End of loop
IF LPRC Did the program run through the loop?
PIT X043 New amount to data medium YUI950925
PRT IN43 GEN NOAB Store the differences in DT (India)
PRT INF2 GEN NOAB Store the differences for PF in DT
ACTIO IN91 Modify the sec89 WT differences
PRT IN55 GEN NOAB Delete recalculated tax wts from RT
PORT IN56 GEN NOAB Import tax wts from ORT
PDT IN54 GEN NOAB Submit B/F wage types to RT
PDT INF3 GEN NOAB Store PF B/F wage types to RT
PDT IN64 GEN NOAB * Copy /A60 to RT in FOR period
PDT IN61 GEN NOAB * Cumulate Delta Tax for company
ELSE No
PIT X047 Cumulation of new payment amount
PIT X043 Write new amount to data medium
PRT IN43 GEN NOAB Store the differences in DT (India)
PRT INF2 GEN NOAB Store the differences for PF in DT
ACTIO IN91 Modify the sec89 WT differences in DT
PRT IN55 GEN NOAB Delete recalculated tax wts from RT
PORT IN56 GEN NOAB Import tax wts from ORT
PDT IN54 GEN NOAB Submit B/F wage types to RT
PDT INF3 GEN NOAB Store PF B/F wage types to RT
ENDIF re.: Did program run through the loop?
ENDIF End of retroactive accounting
BLOCK END Retroactive accounting
* END OF COPY INNR
COPY INRR * Recovery of Rounded Off Amount
COM Calculation of rounding off Recovery amt
BLOCK BEG Rounding off amount calculation
INROR Calculating rounding off amt
IF O If Original
PIT INRR GEN NOAB Moving the Wage type to RT
ENDIF End if
BLOCK END Rounding off Recovery amt
* END OF COPY INRR
COPY XNN0 * Net benefits/deductions and transfer
COM Net payments/deducts. and transfers INT
BLOCK BEG Net payments/deductions and transfer
IF O * Original payroll?
P0011 X055 GEN NOAB Read ex. transfers (Infotype 0011)
PIT X045 P25 Import payments/deduction to RT
ACTIO X046 Check transfers (advance payments)
PIT X047 Cumulation of payment amount
P0009 X050 GEN NOAB Read bank data (infotype 0009)
ENDIF End of original payroll
PIT X060 Storage of payment amount
BLOCK END Net payments/deductions and transfer
* END OF COPY XNN0
COPY INBT * Income Tax Bank Transfer
BLOCK BEG Income Tax Bank Transfer
IF O If Original?
INBTX INBT GEN NOAB IN01 Transfer Wage Type /470
ENDIF
BLOCK END Income Tax Bank Transfer
* END OF COPY INBT
COPY INE0 * Final processing
Schema: ZIY0

Fct Par1 Par2 Par3 Par4 L E Text

COM Final processing India


BLOCK BEG Final processing
XCODI XCD0 * Cost Distribut
COPY XLID * Cost Distribution
PITAB L ATAN Import ATAN > TAN
PIT X070 GEN NOAB * Cancellation if IT is not empty
XGP * * Global Employment Payroll
SORT RT Sort results table
ADDCU P30 Continue cumulation wage types CRT
IF SP=B * If Correction run
ACTIO INAI *
ENDIF * Endif
INEXP Export salary and payroll details to mem
EXPRT IN Export payroll acc. (DB:PCL2 / CL: IN)
BLOCK END Final processing
* END OF COPY INE0

You might also like