cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Payroll PCR explanation

Former Member
0 Kudos

Hi there,

Can anyone please explain this PCR for me?

AMT=& V29Z

AMT?

  *

  =

    ZERO=&PVAC

    ZERO=&IVAC

    ZERO=&UVAC

    ZERO=&YVAC

    RTE=& LRTE

    AMT=1

    MULTI RAA

    ADDWT&IVAC

    AMT=& MVAC

    AMT/& IVAC

    ADDWT&UVAC

    AMT=& UVAC

    NUM=1

    MULTI ANN

    AMT*0

    ADDWT&MVAC

    AMT=& MVAC

    ADDWT *

    AMT=& MVAC

    AMT*-1

    ADDWT&V29Z

    AMT=& MVAC

    ADDCU

    KADDC

    AMT=*

    AMT*-1

    ADDCU

    KADDC

    AMT=*

    AMT-& YVAC

    NUM=*

    NUM-& YVAC

    ADDWT 5334

    ADDWT&EVAC

Accepted Solutions (0)

Answers (3)

Answers (3)

venkateshorusu
Active Contributor
0 Kudos

We can only say that he is playing around with variables, With out knowing what, Where are they from we just can not predict.

Regards

Venkatesh

Sanky
Active Contributor
0 Kudos

Hi ,

It's quite difficult to say details of step by step because most of the steps are similar.

AMT=& V29Z              Considering amount of the Variable V29Z

AMT?                               Query the amount

  *

  =

    ZERO=&PVAC              Making zero the Variable PVAC

    ZERO=&IVAC

    ZERO=&UVAC

    ZERO=&YVAC

    RTE=& LRTE                taking Rate value of Variable LRTE

    AMT=1                        

    MULTI RAA                    Multiplying operation

    ADDWT&IVAC                Add the wage type

    AMT=& MVAC        

    AMT/& IVAC                    Divide the amount by Variable IVAC

    ADDWT&UVAC

    AMT=& UVAC

    NUM=1

    MULTI ANN

    AMT*0

    ADDWT&MVAC

    AMT=& MVAC

    ADDWT *

    AMT=& MVAC

    AMT*-1

    ADDWT&V29Z

    AMT=& MVAC

    ADDCU

    KADDC

    AMT=*

    AMT*-1

    ADDCU

    KADDC

    AMT=*

    AMT-& YVAC

    NUM=*

    NUM-& YVAC

    ADDWT 5334

    ADDWT&EVAC

Check and tell me.

Regards,

Sankarsan

jagan_gunja
Active Contributor
0 Kudos

AMT=& V29Z                         <amt in variable V29Z is assigned to the current header amt field.

AMT?                                    <This is for comparing the amt field.  You need the right side of

                                             <  comparision, e.g. AMT?0  here you compare the amt with zero..

  *                                          <Comparison results as ELSE or compare is untrue

  =                                         <Compares equal - for this condition do as below

    ZERO=&PVAC                   <  set the variable PVAC to zero.

    ZERO=&IVAC                                               IVAC

    ZERO=&UVAC                                              UVAC

    ZERO=&YVAC                                              YVAC

    RTE=& LRTE                      <assign the rate in var LRTE to the current rate field

    AMT=1                               <assign to current amt field:  1

    MULTI RAA                         <multiply rate by amt and place it in amt field.

    ADDWT&IVAC                     <add the current OT header contents to var IVAC

    AMT=& MVAC                     <set amt to that in var MVAC

    AMT/& IVAC                        <divide the current amt field content by the amt in var UVAC

    ADDWT&UVAC                   <add the current OT header contents to var UVAC

    AMT=& UVAC                     <get amt from var UVAC

    NUM=1                              <assign to NUM field:  1

    MULTI ANN                         <multiply amy by num and place in num

    AMT*0                                <multiply amt by zero.  (result will be zero)

    ADDWT&MVAC                  <add current OT header contents to var MVAC

    AMT=& MVAC                    <set amt to that in var MVAC

    ADDWT *                           <add the OT header contents to the OT table

    AMT=& MVAC                    <set amt to that in var MVAC

    AMT*-1                               <multiply amt by -1

    ADDWT&V29Z                    <add the OT header contents to var V29Z

    AMT=& MVAC                    <set amt to that in var MVAC

    ADDCU                              <Add current OT header contents to CRT (the w/t is in the header)

    KADDC                              ?I am not sure what this does; this seems to be country specific

    AMT=*                                The rest you should be able to make out.

    AMT*-1

    ADDCU

    KADDC

    AMT=*

    AMT-& YVAC

    NUM=*

    NUM-& YVAC

    ADDWT 5334

    ADDWT&EVAC