PE51 - Deduction  Wage Type amount showing with a negative "-" sign

Dear All,
We have pay slip configured for the client in PE51 - HR Foms Editor.
Here, we have added the deduction wage types in Window tab and Cumulations tab.
However, when we generate the pay slip, the custom wage types which are defined in deductions show up the amount with a negative " - " sign.
Please advise how this negative sign can be removed.
Please note that in Cumulations tab, under deductions, the MS value against all the deductions wage type is " +"
Regards,
Reema

Hi,
Write a rule to remove the prefix '-' for the WT's for the STD payslip
Regards,
Hemant V.Mahale

Similar Messages

  • HR-PY: How To Deduct Time Wage Type Amount From Salary?

    Dear All,
    How to deduct a time wage type amount from the total gross?
    Now I have a time wage type, "Unpaid Leave".
    If an employee have an unpaid leave in a month, payroll will calculate the unpaid amount and put it into Wage Type "Unpaid Leave", and the amount will be deducted from his salary.
    What is the approach to deduct the unpaid leave amount from his salary?
    Thanks.

    I've done the part of Absence Valuation.
    During payroll simulation, I can get the correct number of absence day and the correct amount of unpaid absence in the wage type.
    However, I do not know any following steps on how to deduct that amount from the salary.
    Do you mean I should use factoring to do the deduction?
    Thanks.

  • How to get the split period wage type amount in payslip?

    How to get the split period wage type amount in payslip?
    Payroll period for 01.01.09 to 31.01.09.
    1.     Employee is active from 1.1.09 to 10.01.09
    2.     Employee is inactive from 11.01.09 to 20.01.09
    3.     Employee is again active from 21.01.09 to 31.01.09
    In Result Table three split periods are created.
    From 01.01.09 to 10.01.09 u2018Basic Salaryu2019 Wtype  1101 amt is 20.00
    From 11.01.09 to 20.01.09 u2018Basic Salaryu2019 Wtype 1101 amt is 00.00
    From 21.01.09 to 31.01.09 u2018Basic Salaryu2019 Wtype 1101 amt is 10.00
    My requirement is to print only the last split period in payslip from 21.01.09 to 31.01.09. May you please help me in this regard.
    Thanks in advance
    Regards,
    Rajesh.

    Hi
    Try to read the below:
    WPBPC : Distribute Lump Sum Wage Elements to WPBP Periods
      Object
        Operation
      Use
        Operation WPBPC distributes the amount of the current wage type to the
        active WPBP periods in the payroll period.
      Input
        The current wage type in the header entry of table OT is used as input
        for this operation.
      Procedure
        Within payroll, wage types are assigned to a fixed WPBP period by
        infotype 0014 Recurring Payments/Deductions, for example. However, you
        may want to distribute this payment to all active WPBP periods, which is
        what would happen if the wage type were entered in basic pay. Therefore,
        various specifications exist for parameter S:
        o   If the specification is 'A', and if several active WPBP periods
            exist, the amount is simultaneously reduced on a calendar-day basis.
        o   If the specification is 'D', the wage type is distributed to all
            existing WPBP periods without the amount being reduced.
        o   If the specification is 'S', and if the validity period starts or
            ends during the period, the entry in table WPBP is split using this
            date. The wage type is stored in table OT for the corresponding WPBP
            period.
            This parameter is only allowed if processing was accessed using
           function P0014.
           In this case, infotype 0014 must be processed before absence
           valuation and function PARTT. Otherwise, rejections occur during
           payroll processing.
       o   Specification 'X' is the combination of 'A' and 'S'.
           This parameter is only allowed if processing was accessed using
           function P0014.
       o   If the specification is 'W', and if the validity period starts or
           ends during the period, the entry in table WPBP is split using this
           date (as with option 'S'). Unlike 'S', the wage type is not stored
           in table OT.
           This parameter is only allowed if processing was accessed using
           function P0014.
       o   If the specification is ' ', the wage type is stored in table OT for
           each WPBP period in which the validity interval fits.
           This parameter is only allowed if processing was accessed using
           functions P0014 or P0015.
       If the WPBP split is set for a wage type, the wage type is stored
       without changes in table OT. If you specify a different wage type name
       in the second parameter, the wage type is stored with this name in table
       OT. Before you execute operation WPBPC, you may therefore need to delete
       the split using operation ELIMI.
       If a country-specific split (C1, C2, or C3 split) is set, the operation
       interprets it as an error. The employee in question is rejected by
       payroll. All other splits are transferred as they are.
      Output
        The processed wage type, or the wage type specified in the operation
        call, is written to table OT (output table) with the appropriate split
        indicator and reduced amount as operation output for each WPBP period.
        Parameter specification 'W' is the only exception.
      Syntax
        OOOOOSVVVV
        OOOOO       WPBPC       Operation name
        S
                    blank       distribute to all WPBP periods
                    S           split and distribute WPBP
                    W           split but do not distribute WPBP
                    A           distribute to active WPBP periods
                                with calendar-day reductions
                    D           distribute to all existing
                                WPBP periods
                    X           combination of 'S' and 'A'
        VVVV                    Results wage type
                    blank       input wage type = results wage type
                    wage        wage type name of input wage type is replaced
                     type       by wage type name of results wage
                     name       type
        Wage type before operation:
      Example
        M100        02          3000
        WPBP split
        01  June 01 - June 20 active
        02  June 21 - June 30 active
        VVVV                    Results wage type
                    blank       input wage type = results wage type
                    wage        wage type name of input wage type is replaced
                     type       by wage type name of results wage
                     name       type
        Wage type before operation:
      Example
        M100        02          3000
        WPBP split
        01  June 01 - June 20 active
        02  June 21 - June 30 active
        Wage type before operation:
        WType       WPBP        Amount
        M100        00          3000.-
        M200        02          2000.-
        Operation:   WPBPCA
        Wage type after operation:
        WType       WPBP        Amount
        M100        01          2000.-
        M100        02          1000.-
        M200        02          2000.-
        Operation:   WPBPC
        Wage type after operation:
        WType       WPBP        Amount
        M100        01          3000.-
        M100        02          3000.-
        M200        02          2000.-
    Regards
    Team Member.

  • Wage type amounts in cluster PCL4

    Hi all,
    I am trying to capture the wage type amount changes in infotype logging. enables infotype logging. Used function module 'HR_INFOTYPE_LOG_GET_LIST' and HR_INFOTYPE_LOG_GET_DETAIL to retrieve the change data.
    So far so fine. But the structuer returned by these function module contains the amount in some non readable format(this is the value for 4500 --  #E倀ఀ#ఠ ) . Can any one guide me as to how toretrieve the wage amount changes from cluster PCL4
    regards
    sam

    Ahmed,
    thanks for ur reply. I a passing the correct structure. Infact i have retrieved about 20 other fields. I am having problem only with the amount field. As u said my lasyt option woululd be to write maacros as done by the standard program. but was checking whether i can do away without writing a different peice of code altogether.
    I any one has retrieved amount fields from cluster using this FMs, please let me know how.
    Appreictae any suggestions.
    sam

  • Get the wage type, amount and cost center

    Dear Expert,
    Is there any FM to get the payroll result for each wage type, amount, and cost center allocation?
    Example,
    Employee Tom was in cost center A with wage type 1001 ($1000) in Jan.
    But in Feb payroll, we need to retro the cost center for employee Tom to cost center B from 1-jan onwards.
    So after the Feb payroll run, I would like to have the result like below:
    Cost Center A Jan  $1000
    Cost Center A Feb -$1000
    Cost Center B Jan $0
    Cost Center B Feb $2000
    But if I use the FM HR99L00_GET_RETRO_MONTH_DIFF, I cannot get the value like below because the cost center is already replace in infotype 0001
    Cost Center B Jan $1000
    Cost Center B Feb $1000
    Please help.
    Thanks,
    WF

    Hello
    First you can use the FM HR_PT_READ_PAYROLL_RESULT to retrieve the payroll results of an employee. For your purpose you need just the international cluster, so you can use the table type pay99_result.
    Say if you have run the payroll run for the Feb with the new cost center assignment, you can get all these details from the WPBP cluster of the returned result. You'll will have one record in WPBP for each pay period. Using the index of the result you need i.e. for the month of Feb, get the amount value form cluster RT in the same payroll result. Now you should have the amount you are looking for.
    Regards
    Ranganath

  • PCR Social security: want to use wage type amount in decision operation

    PCR Social Security: Want to use wage type amount for comparison  
    Posted: Oct 21, 2010 11:00 AM                                  Reply
    Dear Guru's,
    hope u'll b fine and enjoying good health. Below is PCR for social security that I hav currently configured. Its working fine. However I have another scenario to add in this PCR.
    Existing PCR works on the following logic
    6% of Gross pay if employee's pay less than or equal to 10,000/-.
    KZPESI=10000 from T511K
    KZMESI=6 from T511K
    IZPESI=600 from T511P
    Now i want to add another comparison. also calculate Social security for employee those hire on pay less than or equal to 10,000 but currently have salary greater than 10K. for this I'll enter Social security amount in IT0014 subtype 6004. I
    ZSSM Personnal Calculation Rule ZSSM
    3
    6004 Social security Contrib
    AMT= 0001 Set
    AMT+ 0002 Addition
    AMT+ 0003 Addition
    AMT+ 0004 Addition
    AMT+ 1001 Addition
    ROUNDGK100 Round AMT to next
    AMT?KZPESI Comparison
    <
    AMT*KZMESI Multiplication
    AMT/100 Division
    RTE=TKSOLL Set
    RTE-TKAU** Subtraction
    ROUNDGK100 Round AMT to next
    ADDWT * OT Output table
    =
    AMT/TKDIVI Division
    RTE=TKSOLL Set
    RTE=TKAU** Set
    MULTI ARA Multipl.amt/no/rate
    AMT=IZPESI Set
    ROUNDGK100 Round AMT to next
    ADDWT * OT Output table
    >
    if there is a value in 0014 subtype 6004 then
    AMT/TKDIVI Division
    RTE=TKSOLL Set
    RTE=TKAU** Set
    MULTI ARA Multipl.amt/no/rate
    AMT=IZPESI Set
    ROUNDGK100 Round AMT to next
    ADDWT * OT Output table
    Want to know how I can use wage type amount in comparison. look at the above lines in bold where i want to apply
    kindly help
    Edited by: Imran on Oct 21, 2010 11:40 AM

    You say "if there is a value in 0014 subtype 6004 then...", so I will assume that you are talking of WT 6004 in Infotype 0014.
    So, in a PCR immediately after IT0014 is processed (with function P0014 in your schema), look for WT 6004.  If it exists with a number (or an amount), create a temporary variable to act as a "flag"  (as in ADDWT&6004 or ADDWT&HIRE).
    Then, in PCR ZSSM, you can query that temporary variable with the sequence of operations NUM=& HIRE NUM?0 (or NUM=& 6004 NUM?0 ). If the return value is =, it means that there was no IT0014 with WT 6004, and if the return value is * it means that there was.

  • Infotype 0008 and Wage Type Amount

    Hi ,
    I can see the Wage type in infotype 0008 , but when I input an amount in "Annual salary" , the Wage type Amount is not calulated ( stay blank ) .
    The Wage type Amount should be = Annual salary / PFREQ .
    What did I miss ? Feature PFREQ and LGMST are setup . Can see the Wage Type , but no calculation is done ?
    Help will be rewarded
    Thank you.

    Hello there!
    There are 3 important things to note in ANSAL.
    1. Period Parameters - Table T549R
    2. Annual Salary Wage Type - When you are defining the characteristics you will have to use ANSAL as Indirect evaluation module
    3. Monthly/Period Wage types - the wages which will make the sum for Annual Salary.
    Try to complete all the steps present in PA-> Payroll Data -> Basic Pay -> Define annual salary.
    Thanks
    Yash

  • PCR Social Security: Want to use wage type amount for comparison

    Dear Guru's,
    hope u'll b fine and enjoying good health.  Below is PCR for social security that I hav currently configured. Its working fine. However I have another scenario to add in this PCR. 
    Existing PCR works on the following logic
    6% of Gross pay if employee's pay less than or equal to 10,000/-.
    KZPESI=10000 from T511K
    KZMESI=6        from T511K
    IZPESI=600      from T511P
    Now i want to add another comparison. also calculate Social security for employee those hire on pay less than or equal to 10,000 but currently have salary greater than 10K. for this I'll enter Social security amount in IT0014 subtype 6004.  I
    ZSSM Personnal Calculation Rule ZSSM
        3
          6004 Social security Contrib
            AMT=  0001 Set
            AMT+  0002 Addition
            AMT+  0003 Addition
            AMT+  0004 Addition
            AMT+  1001 Addition
            ROUNDGK100 Round AMT to next
            AMT?KZPESI Comparison
              <
                AMT*KZMESI Multiplication
                AMT/100    Division
                RTE=TKSOLL Set
                RTE-TKAU** Subtraction
                ROUNDGK100 Round AMT to next
                ADDWT *    OT   Output table
              =
                AMT/TKDIVI Division
                RTE=TKSOLL Set
                RTE=TKAU** Set
                MULTI ARA  Multipl.amt/no/rate
                AMT=IZPESI Set
                ROUNDGK100 Round AMT to next
                ADDWT *    OT   Output table
            >
              if there is a value in 0014 subtype 6004 then
                      AMT/TKDIVI Division
                       RTE=TKSOLL Set
                       RTE=TKAU** Set
                       MULTI ARA  Multipl.amt/no/rate
                      AMT=IZPESI Set
                      ROUNDGK100 Round AMT to next
                      ADDWT *    OT   Output table
      Want to know how I can use wage type amount in comparison. look at the above lines in bold where i want to apply
    kindly help
    Edited by: Imran on Oct 21, 2010 11:40 AM

    KZPESI=10000 from T511K
    KZMESI=6 from T511K
    IZPESI=600 from T511P
    Social security wage type is 6004 and it is subtype of 0014.
    ZSSM Personnal Calculation Rule ZSSM
    3
    6004 Social security Contrib
    AMT= 0001 Set
    AMT+ 0002 Addition
    AMT+ 0003 Addition
    AMT+ 0004 Addition
    AMT+ 1001 Addition
    ROUNDGK100 Round AMT to next
    AMT?KZPESI Comparison
    >
    At this point I want to set another comparison based on amount in 6004.
    if Amount in 6004 is > 0 then
       do calculation.
    hope it'll b more clear now

  • Do we need to create CPF Deduction Wage type for Singapore Payroll

    Do we need to create CPF Deduction Wage type for Singapore Payroll?

    Hi Vijay Kumar   ,
    CPF related technical wage types for Singapore Payroll are already there as per SAP standard:-
    Check  in table V_52D7_B
    u can also check the path in SPRO
    Payroll singapore : Wage Types >Processing Classes, Evaluation Classes, Cumulations>Check technical wage types for CPF

  • Pre-Tax Deduction Wage Type

    What is the best practice to create a new Pre-Tax  Deduction Wage Type that will be used for a new Benefit related program?
    I will need this new pre-tax  deduction wage  type to be processed in Third Party. 
    Thanks,

    You can copy one of the model wagetypes BA , BE , BR series has most of benefits wagetype.
    BA_ _ EE Contribution
    BE_ _  EE Contribution
    BR_ _  --> Employer Contribution
    M730     401K contribution
    1. goto Pu30 use one of the model wagetype and copy to a custom wagetype
    2. change it hr payee and vendor number in the SPRO--> Payroll --> Payroll US --> third Party remittance node

  • To prefix an amount with a negative sign

    Hi All,
    I want to prefix a positive amount with a negative sign...for display...
    How will I be able to do that ?
    Regards,
    Archana

    amount = -1 * amount.
    if it does not work then you might need to change the type of amount field.
    Thanks,
    Ram

  • Query leaving action to make wage type amount zero

    000010            D OUTWPMASSN
    000020 H6
    000030 N            ADDWT *
    000040 Y            AMT=1085  RTE=0      MULTI ARAADDWT *
    I am querying my action type H6 and H7 leaving action in PCR ZCC.  PIT ZCCC    NOAB.  When i am running payroll it is giving error no rule in PCR ZCCC for ****1085 where 1085 is my wage type for which i am writing this rule so that in leavaing action amount should become zero.   Can u please guide where to correc tule.  Also i want to add one more action type H7 in this rule.

    Hi all
    System is splitting the last period into two wpbp splits.  One split is for period employee was with company and second split is for unemployment period during the leaving month.  So whenever we write a rule or query it, then the rule is applied with ** once and leving action second time.  So two different splits are there and both conditions are taken by system.  so for the part of month in which leaving action has taken place like 15 to 30th then the amount is becoming zero but for the first part the system is taking ** value which is addwt *, so that amount is not beingmade zero.  how can i make the period for first half as zero.

  • Wage type not showing in net pay payslip

    dear all,
    It has been observed in some cases of full and final settlement where there is a payment to be made in respect of Car Maintenace Reimbursement and Fuel Reimbursement. The amount in respect of both these reimbursements to be entered under Infotype 15 in case of full and final settlements is being calculated in Gross payments but not in net payments (In payslip)
    kindly suggest.
    Ashwani K Mathur

    ading to devi
    if u want to add it in paysilp
    include that wage type  in PE51 Form
    and check PCL 20 it shd be 3 and evaluation class 2 shd be 0

  • Amount Shows with X in BEx

    Hi All,
    I have created Formula in BEx, but the result shows with X. for example "$200.00 X". How to get rid of X?

    Use the function NoDim.
    You can find it under the data functions (unit without dimension) in the formula editor.
    kr,
    Tom

  • Unable to read the wage type amount in payroll report output...

    Hi all,
    In the program below I am not able to see the car amount incurred by the office in the output, please find the error....
    Regards
    john
    *& Report  ZHR_PY_REPORT1                                              *
    REPORT  ZHR_PY_REPORT1                          .
             TABLES
    TABLES : PERNR.
          INFOTYPES
    INFOTYPES : 0000,
                0001,
                0002,
                0006,
                0105.
         STRUCTURES
    TYPES : BEGIN OF T_FINAL,
            PERNR  TYPE PERNR_D,
            STAT2  TYPE STAT2,
            BUKRS  TYPE BUKRS,
            PLANS  TYPE PLANS,
            ORGEH  TYPE ORGEH,
            ABKRS  TYPE ABKRS,
            VORNA  TYPE VORNA,
            NACHN  TYPE NACHN,
            GBDAT  TYPE GBDAT,
            STRAS  TYPE STRAS,
            ORT01  TYPE ORT01,
            PSTLZ  TYPE PSTLZ,
            MAILID TYPE CHAR255,
            CARAT  TYPE CHAR15,
            END OF T_FINAL.
          INTERNAL TABLES
    DATA : IT_FINAL TYPE STANDARD TABLE OF T_FINAL.
          WORK AREAS
    DATA : WA_FINAL  TYPE T_FINAL.
    PARAMETER : P_DOWN AS CHECKBOX.
    START-OF-SELECTION.
    GET PERNR.
    *SUBROUTINE TO FETCH DATA FROM INFOTYPES
      PERFORM F_FETCH_DATA_FROM_INFTY.
    END-OF-SELECTION.
    *SUBROUTINE TO DISPLAY DATA
      PERFORM F_DISPLAY_DATA.
    *&      Form  F_FETCH_DATA_FROM_INFTY
          text
    FORM F_FETCH_DATA_FROM_INFTY .
      RP_PROVIDE_FROM_LAST P0000 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-PERNR = P0000-PERNR.
        WA_FINAL-STAT2 = P0000-STAT2.
      ENDIF.
      RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-BUKRS = P0001-BUKRS.
        WA_FINAL-PLANS = P0001-PLANS.
      ENDIF.
      RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-VORNA = P0002-VORNA.
        WA_FINAL-NACHN = P0002-NACHN.
      ENDIF.
      RP_PROVIDE_FROM_LAST P0006 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-STRAS = P0006-STRAS.
        WA_FINAL-ORT01 = P0006-ORT01.
      ENDIF.
      RP_PROVIDE_FROM_LAST P0105 '0010' PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-MAILID = P0105-USRID_LONG.
      ENDIF.
    *SUBROUTINE TO FETCH EMPLOYEE PAYROLL RESULTS
      PERFORM F_FETCH_PAYROLL_DATA.
      APPEND WA_FINAL TO IT_FINAL.
      CLEAR WA_FINAL.
    ENDFORM.                    " F_FETCH_DATA_FROM_INFTY
    *&      Form  F_DISPLAY_DATA
          text
    FORM F_DISPLAY_DATA .
      LOOP AT IT_FINAL INTO WA_FINAL.
       AT FIRST.
         WRITE : / 'EMP.NO',
                 10 'FIRST NAME',
                 20 'COMPANY CODE'.
       ENDAT.
        WRITE : / WA_FINAL-PERNR,
                10 WA_FINAL-VORNA,
                20 WA_FINAL-BUKRS,
                30 WA_FINAL-CARAT.
      ENDLOOP.
    ENDFORM.                    " F_DISPLAY_DATA
    *&      Form  F_FETCH_PAYROLL_DATA
          text
    FORM F_FETCH_PAYROLL_DATA .
      DATA : W_MOLGA TYPE MOLGA,
             W_SEQNR TYPE CDSEQ,
             W_RELID TYPE RELID_PCL2.
      DATA : IT_RGDIR TYPE STANDARD TABLE OF PC261,
             IT_RESULT  TYPE PAY99_RESULT.
      DATA : WA_RT TYPE PC207.
      CALL FUNCTION 'CU_READ_RGDIR'
        EXPORTING
          PERSNR          = P0000-PERNR
        IMPORTING
          MOLGA           = W_MOLGA
        TABLES
          IN_RGDIR        = IT_RGDIR
        EXCEPTIONS
          NO_RECORD_FOUND = 1
          OTHERS          = 2.
      IF SY-SUBRC EQ 0.
        CALL FUNCTION 'CD_READ_LAST'
          EXPORTING
            BEGIN_DATE      = PN-BEGDA
            END_DATE        = PN-ENDDA
          IMPORTING
            OUT_SEQNR       = W_SEQNR
          TABLES
            RGDIR           = IT_RGDIR
          EXCEPTIONS
            NO_RECORD_FOUND = 1
            OTHERS          = 2.
        IF SY-SUBRC EQ 0.
          SELECT SINGLE RELID FROM T500L INTO W_RELID WHERE MOLGA = W_MOLGA
          IF SY-SUBRC EQ 0.
            CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
              EXPORTING
                CLUSTERID                    = w_relid
                EMPLOYEENUMBER               = P0000-PERNR
                SEQUENCENUMBER               = W_SEQNR
                READ_ONLY_INTERNATIONAL      = 'X'
              CHANGING
                PAYROLL_RESULT               = IT_RESULT
              EXCEPTIONS
                ILLEGAL_ISOCODE_OR_CLUSTERID = 1
                ERROR_GENERATING_IMPORT      = 2
                IMPORT_MISMATCH_ERROR        = 3
                SUBPOOL_DIR_FULL             = 4
                NO_READ_AUTHORITY            = 5
                NO_RECORD_FOUND              = 6
                VERSIONS_DO_NOT_MATCH        = 7
                OTHERS                       = 8.
            IF SY-SUBRC EQ 0.
              LOOP AT IT_RESULT-INTER-RT INTO WA_RT.
                IF WA_RT-LGART EQ 'M810'.
                  WA_FINAL-CARAT = WA_RT-BETRG.
                ENDIF.
              ENDLOOP.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " F_FETCH_PAYROLL_DATA

    Hi all,
    In the program below I am not able to see the car amount incurred by the office in the output, please find the error....
    Regards
    john
    *& Report  ZHR_PY_REPORT1                                              *
    REPORT  ZHR_PY_REPORT1                          .
             TABLES
    TABLES : PERNR.
          INFOTYPES
    INFOTYPES : 0000,
                0001,
                0002,
                0006,
                0105.
         STRUCTURES
    TYPES : BEGIN OF T_FINAL,
            PERNR  TYPE PERNR_D,
            STAT2  TYPE STAT2,
            BUKRS  TYPE BUKRS,
            PLANS  TYPE PLANS,
            ORGEH  TYPE ORGEH,
            ABKRS  TYPE ABKRS,
            VORNA  TYPE VORNA,
            NACHN  TYPE NACHN,
            GBDAT  TYPE GBDAT,
            STRAS  TYPE STRAS,
            ORT01  TYPE ORT01,
            PSTLZ  TYPE PSTLZ,
            MAILID TYPE CHAR255,
            CARAT  TYPE CHAR15,
            END OF T_FINAL.
          INTERNAL TABLES
    DATA : IT_FINAL TYPE STANDARD TABLE OF T_FINAL.
          WORK AREAS
    DATA : WA_FINAL  TYPE T_FINAL.
    PARAMETER : P_DOWN AS CHECKBOX.
    START-OF-SELECTION.
    GET PERNR.
    *SUBROUTINE TO FETCH DATA FROM INFOTYPES
      PERFORM F_FETCH_DATA_FROM_INFTY.
    END-OF-SELECTION.
    *SUBROUTINE TO DISPLAY DATA
      PERFORM F_DISPLAY_DATA.
    *&      Form  F_FETCH_DATA_FROM_INFTY
          text
    FORM F_FETCH_DATA_FROM_INFTY .
      RP_PROVIDE_FROM_LAST P0000 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-PERNR = P0000-PERNR.
        WA_FINAL-STAT2 = P0000-STAT2.
      ENDIF.
      RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-BUKRS = P0001-BUKRS.
        WA_FINAL-PLANS = P0001-PLANS.
      ENDIF.
      RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-VORNA = P0002-VORNA.
        WA_FINAL-NACHN = P0002-NACHN.
      ENDIF.
      RP_PROVIDE_FROM_LAST P0006 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-STRAS = P0006-STRAS.
        WA_FINAL-ORT01 = P0006-ORT01.
      ENDIF.
      RP_PROVIDE_FROM_LAST P0105 '0010' PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ '1'.
        WA_FINAL-MAILID = P0105-USRID_LONG.
      ENDIF.
    *SUBROUTINE TO FETCH EMPLOYEE PAYROLL RESULTS
      PERFORM F_FETCH_PAYROLL_DATA.
      APPEND WA_FINAL TO IT_FINAL.
      CLEAR WA_FINAL.
    ENDFORM.                    " F_FETCH_DATA_FROM_INFTY
    *&      Form  F_DISPLAY_DATA
          text
    FORM F_DISPLAY_DATA .
      LOOP AT IT_FINAL INTO WA_FINAL.
       AT FIRST.
         WRITE : / 'EMP.NO',
                 10 'FIRST NAME',
                 20 'COMPANY CODE'.
       ENDAT.
        WRITE : / WA_FINAL-PERNR,
                10 WA_FINAL-VORNA,
                20 WA_FINAL-BUKRS,
                30 WA_FINAL-CARAT.
      ENDLOOP.
    ENDFORM.                    " F_DISPLAY_DATA
    *&      Form  F_FETCH_PAYROLL_DATA
          text
    FORM F_FETCH_PAYROLL_DATA .
      DATA : W_MOLGA TYPE MOLGA,
             W_SEQNR TYPE CDSEQ,
             W_RELID TYPE RELID_PCL2.
      DATA : IT_RGDIR TYPE STANDARD TABLE OF PC261,
             IT_RESULT  TYPE PAY99_RESULT.
      DATA : WA_RT TYPE PC207.
      CALL FUNCTION 'CU_READ_RGDIR'
        EXPORTING
          PERSNR          = P0000-PERNR
        IMPORTING
          MOLGA           = W_MOLGA
        TABLES
          IN_RGDIR        = IT_RGDIR
        EXCEPTIONS
          NO_RECORD_FOUND = 1
          OTHERS          = 2.
      IF SY-SUBRC EQ 0.
        CALL FUNCTION 'CD_READ_LAST'
          EXPORTING
            BEGIN_DATE      = PN-BEGDA
            END_DATE        = PN-ENDDA
          IMPORTING
            OUT_SEQNR       = W_SEQNR
          TABLES
            RGDIR           = IT_RGDIR
          EXCEPTIONS
            NO_RECORD_FOUND = 1
            OTHERS          = 2.
        IF SY-SUBRC EQ 0.
          SELECT SINGLE RELID FROM T500L INTO W_RELID WHERE MOLGA = W_MOLGA
          IF SY-SUBRC EQ 0.
            CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
              EXPORTING
                CLUSTERID                    = w_relid
                EMPLOYEENUMBER               = P0000-PERNR
                SEQUENCENUMBER               = W_SEQNR
                READ_ONLY_INTERNATIONAL      = 'X'
              CHANGING
                PAYROLL_RESULT               = IT_RESULT
              EXCEPTIONS
                ILLEGAL_ISOCODE_OR_CLUSTERID = 1
                ERROR_GENERATING_IMPORT      = 2
                IMPORT_MISMATCH_ERROR        = 3
                SUBPOOL_DIR_FULL             = 4
                NO_READ_AUTHORITY            = 5
                NO_RECORD_FOUND              = 6
                VERSIONS_DO_NOT_MATCH        = 7
                OTHERS                       = 8.
            IF SY-SUBRC EQ 0.
              LOOP AT IT_RESULT-INTER-RT INTO WA_RT.
                IF WA_RT-LGART EQ 'M810'.
                  WA_FINAL-CARAT = WA_RT-BETRG.
                ENDIF.
              ENDLOOP.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " F_FETCH_PAYROLL_DATA

Maybe you are looking for

  • How to resolve "not authorized" message when computer is authorized?

    iTunes popped up a dialogue box saying most recent purchase cannot be played on my iMac because it is "not authorized". When I authorize the computer I get a dialogue box saying this computer is already authorized. After clicking on that box, the fir

  • My mac air won't work with my epson PX730WD printer

    I'm using a fairly new Mac Air 2 running OS X version 10.9.5, with an Epson PX730WD printer that has worked fine for the last 5 years with my previous Windows laptop. But since changing to Apple the printer seems to be forever disconnecting from my h

  • Linking listbox to frames

    ok basicly i have a listbox which gets data striaght from my sql database and i was wondering how i could link each value with in the list box to each frame  so that when a item is selected in the list box it goes to a frame like how  button uses got

  • Error in F110 (automatic paymetn run)

    Hello Sap Experts when we are running F110 (automatio payment run), we are getting following error message:0 "Default Value for display varient is missing for FBZ0" when i double click on this error message, i got following details message no FZ004 t

  • Re: Title Tool not updating / saving when making revisions

    I had, and still continue to have, this problem in CS4 when I use it.  Rebooting CS4 completely (not just re-opening the project) fixes it so far.