FM to get wages as PC00_M37_CEDT

We have an employee who had his 2001 Infotype changed. They deleted and created it again. So we had to run the payroll again and now the report PC00_M37_CEDT shows wages that we can´t get with the fuctions we use to read payroll. I tried to use debug to find out how the program does it but its too complicate. Is there another way?
Thanks in advance

My co-worked solved it.

Similar Messages

  • How to get wage type for every time record

    Hi Pros,
          I am using DS 0CA_TS_IS_1, it includes report time type (0REPTT), but not have wage type. in CATSDB, I fied fields for attendance/absence type and wage type. but not every time record has wage type. can you please tell me how to get wage type for every time record? what is relation between reporting time type, attendance/absence type and wage typs?

    Hello,
    Can you talk to your HR/T&E functional consultant if they populate these values in CATSDB table using standard way or if there are custom fields that are in CATSDB OR any other table which can be used to meed the requirements
    Thanks
    Abhishek Shanbhigue

  • HR-abap problem in getting wage type in 0008 infotypes

    i am creating sap scripts for appointment letters in that i am coolecting data from table pa0008,
    for that i am using field bet01 , bet02, etc for the diff. allowances .
    if the order of allowances are changed in 0008 infotype then field form which i am getting amount is also getting changed.
    E.G :- i am using perticular order in 0008
                then it gives me wage type in lga02 and corresponding amount in bet02 for first allowance
                                        wage type in lga03 and corresponding amount in bet03 for second allowance
    and now if i interchange order of allowances in pa008  then t gives me
                                   wage type in lga02 and corresponding amount in bet02 for first allowance
                                    wage type in lga03 and corresponding amount in bet03 for second allowance
    i hope you understnad my problem .
    Thanks in advance

    Hi,
    please check thiscode
    call function 'RP_FILL_WAGE_TYPE_TABLE_EXT'
           exporting
                appli                        = 'P'
                pernr                        = p0467-pernr
                infty                        = pinfty
              SUBTY                        = PSUBTY
              OBJPS                        = POBJPS
              SEQNR                        = PSEQNR            "QEAK100596
              waers                        = sy-waers          "XYMK097435
                begda                        = datum
                endda                        = datum
           tables
                pp0001                       = p0001        "input
                pp0007                       = p0007        "input
                pp0008                       = p0008        "input
                ppbwla                       = ppbwla       "output
           exceptions
                error_at_indirect_evaluation = 1.
      check sy-subrc eq 0.
      loop at ppbwla.
        if ppbwla-waers ne q0467-waer2.
          perform convert_to_local_currency using
                  ppbwla-betrg ppbwla-waers
                  q0467-waer2 ppbwla-betrg
                  datum.
          modify ppbwla.
        endif.
      endloop.
    Ref program
    MP046740
    Thanks and regrds
    Durga.K

  • How to get wages Summery Reports?

    Dear All,
    Can anyone tel me the path for the wage summery reports ?
    Regards
    ET

    Hi,
    Path for flexi employee data is
    Human Resources>>Personnel Management>>Administration>>Info system>>reports>>Employee>>Flexible employee data.
    Regards,
    Mahesh

  • Performance of the SQL

    Hi ABAP Experts,
    good day all,
    iam working as BI consultant as per user requirement some of the fields are not there i enhanced to R/3 by using cmod . i have written some code every thing fien .but its very bad performance almost its taking more than 24 hrs taking . here i have written many SQL statement . can any one suggest me how to improve the performance of code.
    Tables declaration for EMPLOYEE_ATTR
    TABLES: PA0185,HRP1001,PA0001,PA0588, PA0587, PA0021, PA0006, PA0009, PA0003.
    TABLES: HRMS_BIW_IO_OCCUPANCY.
    TABLES: BWCO_MD_CCTR.
    TABLES: BIW_KNA1_S,KNB1.
    Internal table - Types -- Declaration for COSTCENTER_ATTR
    TYPES : BEGIN OF T_PERNR,
             PERNR TYPE PERSNO,
            END OF T_PERNR.
    DATA : IT_PERNR TYPE STANDARD TABLE OF T_PERNR.
    DATA : VL_COUNT TYPE I.
    data : s_area like pa0001-mstbr.
    Declarations for 0EMPLOYEE_ATTR
    DATA : I_W_DATA LIKE HRMS_BIW_IO_OCCUPANCY,
           I_W_DATA_KOSTL LIKE BWCO_MD_CCTR,
           L_ICNUM TYPE PA0185-ICNUM,
           L_RMBEGDA TYPE PA0185-BEGDA,
           L_RMENDDA TYPE PA0185-ENDDA,
           L_PERNR TYPE PA0001-PERNR,
           L_PERNR1 TYPE PA0001-PERNR,
           L_PLANS TYPE SOBID,
           L_PLANS2 TYPE SOBID,
           L_SUBTY TYPE PA0185-SUBTY,
           L_NAME TYPE PA0001-ENAME,
           L_NAME1 TYPE PA0001-ENAME,
           L_AMOUNT TYPE BETRG,
           L_AMOUNT_OFF TYPE BETRG,
           L_ORGUNITSVP TYPE PA0001-ORGEH,
           L_ICNUM_RM TYPE PA0185-ICNUM,
           L_ICNUM_TIER2 TYPE PA0185-ICNUM,
           L_MSTBR TYPE PA0001-MSTBR,
           L_ICNUM_21 TYPE PA0185-ICNUM,
           L_ICNUM_20 TYPE PA0185-ICNUM,
           L_ICNUM_24 TYPE PA0185-ICNUM,
           L_ICNUM_18 TYPE PA0185-ICNUM,
           L_ISSPL TYPE PA0185-ISSPL,
           L_ESINO LIKE PA0588-ESINO,
           L_EEBAS LIKE PA0587-TSTID,
           I_W_DATA1 LIKE BIW_KNA1_S,
           L_TLFXS LIKE KNB1-TLFXS,
           L_NAME4 LIKE KNA1-NAME4,
    new fields added by pandu
           L_GBDAT TYPE GBDAT,
           L_FAVOR TYPE PAD_VORNA,
           L_NAME2 TYPE PAD_CONAM,
           L_STRAS TYPE PAD_STRAS,
           L_PSTLZ TYPE PSTLZ_HR,
           L_ORT01 TYPE PAD_ORT01,
           L_USRID TYPE SYSID,
           L_XMETXT TYPE     REBDXRO,
           L_BANKL TYPE BANKK,
           L_BANKN TYPE BANKN,
           L_CNAME TYPE ZCNAME,
           L_USRID1 TYPE     SYSID,
           L_MGRID TYPE SOBID,
           L_INCDAT TYPE     BEGDA,
           L_LIFNR TYPE LIFNR,
           L_RDATE TYPE BEGDA,
           L_LWDAY TYPE BEGDA,
           L_REDAT TYPE BEGDA,
           L_SCHKZ TYPE SCHKN,
           L_PRDAT TYPE PRDAT,
           L_ABRDT TYPE LABRD,
           L_ABRSP TYPE ABRSP,
           L_BANKA TYPE BANKA,
           L_SMDAT TYPE BEGDA.
          l_ctc_amt type betrg.
    *endchange
    DATA: BEGIN OF TP_RGDIR OCCURS 0.
            INCLUDE STRUCTURE PC261.
    DATA: END OF TP_RGDIR.
    *Decleration for monthly salary
    DATA : L_PA0008 LIKE PA0008.
    DATA : V_AMOUNT TYPE PAD_AMT7S,
           FLDNAM(30),
           NUM(2) VALUE '01'.
    FIELD-SYMBOLS: <FS> TYPE ANY.
    FIELD-SYMBOLS: <FS1> TYPE ANY.
    CASE I_DATASOURCE.
    *Getting Customer branch in 0customer_attr
        WHEN '0CUSTOMER_ATTR'.
          LOOP AT I_T_DATA.
            MOVE-CORRESPONDING I_T_DATA TO I_W_DATA1 .
    *Getting Customer branch in 0customer_attr
            SELECT SINGLE TLFXS INTO L_TLFXS FROM KNB1 WHERE KUNNR EQ I_W_DATA1-KUNNR.
    *Getting Customer Name4 in 0customer_attr from table KNA1
           SELECT SINGLE NAME4 INTO L_NAME4 FROM KNA1 WHERE KUNNR EQ I_W_DATA1-KUNNR.
            I_W_DATA1-ZZTLFXS = L_TLFXS.
            I_W_DATA1-ZZNAME4 = L_NAME4.
            MODIFY I_T_DATA FROM I_W_DATA1.
             CLEAR L_TLFXS.
             CLEAR L_NAME4.
          ENDLOOP.
    Getting the RM for the employee and SVP using the ICNUM
      WHEN '0EMPLOYEE_ATTR'.
        LOOP AT I_T_DATA INTO I_W_DATA.
          SELECT SINGLE ICNUM INTO L_ICNUM FROM PA0185
                 WHERE PERNR EQ I_W_DATA-PERNR
                 AND SUBTY = '23'
                 AND ENDDA GE SY-DATUM.
    Getting the Joining date of RM
          SELECT SINGLE BEGDA INTO L_RMBEGDA FROM PA0000
                  WHERE PERNR EQ I_W_DATA-PERNR
                  AND MASSN EQ '01'.
    Getting the Resignation Date of RM
          SELECT SINGLE BEGDA INTO L_RMENDDA FROM PA0000
                  WHERE PERNR EQ I_W_DATA-PERNR
                  AND MASSN EQ '14'.
    *Getting the Tier II code and Name
          SELECT SINGLE SOBID INTO L_PLANS FROM HRP1001
                  WHERE OTYPE EQ 'S'
                  AND OBJID EQ I_W_DATA-PLANS
                  AND RSIGN EQ 'A'
                  AND RELAT EQ '002'
                  AND ENDDA GE I_W_DATA-ENDDA
                 AND endda GE sy-datum
                  AND SCLAS EQ 'S'.
                 AND sobid EQ i_w_data-plans.
          SELECT SINGLE PERNR INTO L_PERNR FROM PA0001
                  WHERE ENDDA GE SY-DATUM
                 WHERE endda GE i_w_data-endda
                  AND PLANS EQ L_PLANS.
          SELECT SINGLE ENAME INTO L_NAME FROM PA0001
                  WHERE ENDDA GE SY-DATUM
                  AND PLANS EQ L_PLANS.
    *Getting the TIER II branch
        SELECT SINGLE ICNUM INTO L_ICNUM_TIER2 FROM PA0185
                     WHERE ENDDA GE SY-DATUM
                     AND PERNR EQ L_PERNR
                     AND SUBTY = '05'.
    *Getting the Supervisor/HOD for Employee----
    SELECT SINGLE MSTBR FROM PA0001 INTO L_MSTBR  WHERE PERNR =  I_W_DATA-PERNR AND
                                                   ENDDA GE SY-DATUM.
    *Getting the Employee Product from infotype 185 styp 21.
       SELECT SINGLE ICNUM INTO L_ICNUM_21 FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '21'.
    *Getting the Employee Branch Discription/Place of issue from infotype 185 styp 05.
       SELECT SINGLE ISSPL INTO L_ISSPL FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '05'.
    *Getting the Employee Library no/business from infotype 185 styp 18.
       SELECT SINGLE ICNUM INTO L_ICNUM_18 FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '18'.
    *Getting the Employee Department from infotype 185 styp 20.
       SELECT SINGLE ICNUM INTO L_ICNUM_20 FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '20'.
    *Getting the Employee RBT Codefrom infotype 185 styp 24.
       SELECT SINGLE ICNUM INTO L_ICNUM_24 FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '24'.
    *Getting the Employee ESI number from Infotype 588.
      SELECT SINGLE ESINO INTO L_ESINO FROM PA0588
                 WHERE ENDDA GE SY-DATUM
                 AND PERNR EQ I_W_DATA-PERNR.
    *Getting the Employee PF Eligibility no from Infotype 587.
      SELECT SINGLE TSTID INTO L_EEBAS FROM PA0587
                 WHERE ENDDA GE SY-DATUM
                 AND PERNR EQ I_W_DATA-PERNR.
    *Getting the Employee Basic salary amt from Infotype 0008.
        NUM = '01'.
        CLEAR V_AMOUNT.
        SELECT SINGLE * INTO L_PA0008 FROM PA0008 WHERE PERNR EQ I_W_DATA-PERNR
                                                  AND   ENDDA EQ '99991231'.
        DO 30 TIMES.
        IF STRLEN( NUM ) = 1.
          CONCATENATE '0' NUM INTO NUM.
        ENDIF.
        CONCATENATE 'L_PA0008-LGA' NUM INTO FLDNAM.
        ASSIGN (FLDNAM) TO <FS>.
        CONCATENATE 'L_PA0008-BET' NUM INTO FLDNAM.
        ASSIGN (FLDNAM) TO <FS1>.
        IF <FS> = '1000'.
          V_AMOUNT = <FS1>.
        ENDIF.
        CLEAR :  <FS>, <FS1>.
        NUM = NUM + 1.
        ENDDO.
        I_W_DATA-ZZBASPAY  = V_AMOUNT.
       endif.
      HRMS_BIW_IO_OCCUPANCY-ZZMSTBR = s_area.
    select single mstbr into l_mstbr from pa0001
                    where endda GE sy-datum
                    and pernr eq l_pernr.
    *Bringing RM branch
       SELECT SINGLE ICNUM INTO L_ICNUM_RM FROM PA0185
                     WHERE ENDDA GE SY-DATUM
                     AND PERNR EQ I_W_DATA-PERNR
                     AND SUBTY = '05'.
    new code for fields by pandu
    *bringing date-of-birth
      SELECT SINGLE GBDAT INTO L_GBDAT FROM PA0002 WHERE PERNR = I_W_DATA-PERNR.
    bringing fathers name
      SELECT SINGLE FAVOR INTO L_FAVOR FROM PA0021 WHERE PERNR = I_W_DATA-PERNR
                                                     AND SUBTY = '2'.
    bringing address details
      SELECT SINGLE * FROM PA0006 WHERE PERNR = I_W_DATA-PERNR
                                    AND SUBTY = '2'
                                    AND ENDDA GE SY-DATUM.
    L_NAME2 = PA0006-NAME2.
    L_STRAS = PA0006-STRAS.
    L_ORT01 = PA0006-ORT01.
    L_PSTLZ = PA0006-PSTLZ.
    bringing communication dteails
    SELECT SINGLE USRID INTO L_USRID FROM PA0105 WHERE PERNR = I_W_DATA-PERNR
                                                    AND SUBTY = '0010'
                                                    AND ENDDA GE SY-DATUM.
    bringing location details
    SELECT SINGLE XMETXT INTO L_XMETXT FROM PA9005 WHERE PERNR = I_W_DATA-PERNR
                                                     AND ENDDA GE SY-DATUM.
    bringing bank details
      SELECT SINGLE * FROM PA0009 WHERE  PERNR = I_W_DATA-PERNR
                                          AND ENDDA GE SY-DATUM.
      L_BANKN = PA0009-BANKN.
      L_BANKL = PA0009-BANKL.
    bringing the bankname
    SELECT SINGLE BANKA INTO L_BANKA FROM BNKA WHERE BANKL = L_BANKL.
    bringing esop details
    SELECT SINGLE CNAME INTO L_CNAME FROM PA9008 WHERE  PERNR = I_W_DATA-PERNR
                                                    AND ENDDA GE SY-DATUM.
    bringing vendor details
    SELECT SINGLE LIFNR INTO L_LIFNR FROM LFB1 WHERE PERNR = I_W_DATA-PERNR.
    SELECT SINGLE CTC_DATE  INTO L_INCDAT  FROM PB9007 WHERE REPORT = I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM.
    *select single ctc_amt  into l_ctc_amt  from pb9007 where report = i_w_data-pernr
                                                      and endda ge sy-datum.
    *l_incdat = pa9007-ctc_date.
    *l_ctc_amt = pa9007-ctc_amt.
    bringing resignation date
    SELECT SINGLE BEGDA FROM PA0000 INTO L_RDATE WHERE PERNR = I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM
                                                       AND MASSN = '14'.
    to get last working day
    L_LWDAY = L_RDATE - 1.
    to get reentry date
    SELECT SINGLE BEGDA FROM PA0000 INTO L_REDAT WHERE PERNR = I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM
                                                       AND MASSN = '15'.
    bringing workschedule details
    SELECT SINGLE SCHKZ FROM PA0007 INTO L_SCHKZ WHERE PERNR =  I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM.
    bringing payroll status details
    SELECT SINGLE * FROM PA0003 WHERE PERNR = I_W_DATA-PERNR
                                  AND ENDDA GE SY-DATUM.
    L_PRDAT = PA0003-PRDAT.
    L_ABRDT = PA0003-ABRDT.
    L_ABRSP = PA0003-ABRSP.
    bringing paydate
    SELECT SINGLE BEGDA INTO L_SMDAT FROM PA0008 WHERE PERNR = I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM.
    *endadd
    Getting wage type for the salaries calc
          I_W_DATA-ZZRMID = L_ICNUM.
          I_W_DATA-ZZICNUM = L_ICNUM_RM.
          I_W_DATA-ZZRMBEGDA = L_RMBEGDA.
          I_W_DATA-ZZRMENDDA = L_RMENDDA.
          I_W_DATA-ZZEVPID = L_PERNR.
          I_W_DATA-ZZEVPNAME = L_NAME.
         I_W_DATA-ZZORGUTSVP = L_ICNUM_TIER2.
          I_W_DATA-ZZMSTBR = L_MSTBR.
          I_W_DATA-ZZICNUM_21 = L_ICNUM_21.
          I_W_DATA-ZZICNUM_20 = L_ICNUM_20.
          I_W_DATA-ZZICNUM_24 = L_ICNUM_24.
          I_W_DATA-ZZICNUM_18 = L_ICNUM_18.
          I_W_DATA-ZZESINO = L_ESINO.
          I_W_DATA-ZZEEPF1 = L_EEBAS.
          I_W_DATA-ZZISSPL = L_ISSPL.
    code added by pandu
          I_W_DATA-ZZGBDAT = L_GBDAT.
          I_W_DATA-ZZFAVOR = L_FAVOR.
          I_W_DATA-ZZNAME2 = L_NAME2.
          I_W_DATA-ZZORT01 = L_ORT01.
          I_W_DATA-ZZSTRAS = L_STRAS.
          I_W_DATA-ZZPSTLZ = L_PSTLZ.
          I_W_DATA-ZZUSRID = L_USRID.
          I_W_DATA-ZZXMETXT = L_XMETXT.
          I_W_DATA-ZZBANKL = L_BANKL.
          I_W_DATA-ZZBANKN = L_BANKN.
          I_W_DATA-ZZCNAME = L_CNAME.
          I_W_DATA-ZZLIFNR = L_LIFNR.
          I_W_DATA-ZZINCDAT = L_INCDAT.
         i_w_data-zzctc_amt = l_ctc_amt.
          I_W_DATA-ZZRDAT = L_RDATE.
          I_W_DATA-ZZLWDAY = L_LWDAY.
          I_W_DATA-ZZRDAT = L_REDAT.
          I_W_DATA-ZZSCHKZ = L_SCHKZ.
          I_W_DATA-ZZPRDAT = L_PRDAT.
          I_W_DATA-ZZABRDT = L_ABRDT.
          I_W_DATA-ZZABRSP = L_ABRSP.
          I_W_DATA-ZZBANKA = L_BANKA.
          I_W_DATA-ZZSMDAT = L_SMDAT.
    *endchange
    *Getting The details for EVP
          CLEAR L_PERNR.
          CLEAR L_NAME.
          CLEAR L_ICNUM_TIER2.
          CLEAR L_ICNUM_RM.
          CLEAR L_RMBEGDA.
          CLEAR L_RMENDDA.
          CLEAR L_ESINO.
          CLEAR L_EEBAS.
          CLEAR L_ICNUM_21.
          CLEAR L_ICNUM_20.
          CLEAR L_ICNUM_24.
          CLEAR L_ICNUM_18.
          CLEAR L_MSTBR.
          CLEAR L_ISSPL.
          CLEAR L_PLANS.
    *code added by pandu
          CLEAR L_GBDAT.
          CLEAR L_FAVOR.
          CLEAR L_NAME2.
          CLEAR L_ORT01.
          CLEAR L_STRAS.
          CLEAR L_PSTLZ.
          CLEAR L_USRID.
          CLEAR L_XMETXT.
          CLEAR L_BANKN.
          CLEAR L_BANKL.
          CLEAR L_CNAME.
          CLEAR L_LIFNR.
          CLEAR L_RDATE.
          CLEAR L_LWDAY.
          CLEAR L_REDAT.
          CLEAR L_PRDAT.
          CLEAR L_SCHKZ.
          CLEAR L_ABRDT.
          CLEAR L_ABRSP.
          CLEAR L_BANKA.
          CLEAR L_SMDAT.
    *endcode
          SELECT SINGLE SOBID INTO L_PLANS2 FROM HRP1001
                  WHERE OTYPE EQ 'S'
                  AND OBJID EQ L_PLANS
                  AND RSIGN EQ 'A'
                  AND RELAT EQ '002'
                  AND ENDDA GE SY-DATUM
                  AND SCLAS EQ 'S'.
                 AND sobid EQ l_plans.
          SELECT SINGLE PERNR INTO L_PERNR1 FROM PA0001
                  WHERE ENDDA GE SY-DATUM
                  AND PLANS EQ L_PLANS2.
          SELECT SINGLE ENAME INTO L_NAME1 FROM PA0001
                  WHERE ENDDA GE SY-DATUM
                  AND PLANS EQ L_PLANS2.
          I_W_DATA-ZZSRRMEVP = L_PERNR1.
          I_W_DATA-ZZSRRMEVPNAME = L_NAME1.
    *Monthly salary of Rm from PA0008
    NUM = '01'.
    IF I_W_DATA-ENDDA EQ '99991231'.
    CLEAR V_AMOUNT.
    SELECT SINGLE * INTO L_PA0008
    FROM PA0008
    WHERE PERNR EQ I_W_DATA-PERNR
    AND   ENDDA EQ '99991231'.
    DO 30 TIMES.
    IF STRLEN( NUM ) = 1.
    CONCATENATE '0' NUM INTO NUM.
    ENDIF.
    CONCATENATE 'L_PA0008-BET' NUM INTO FLDNAM.
    ASSIGN (FLDNAM) TO <FS>.
    V_AMOUNT = V_AMOUNT + <FS>.
    CLEAR <FS>.
    NUM = NUM + 1.
    ENDDO.
    I_W_DATA-ZZMONSAL     = V_AMOUNT.
    ENDIF.
    Getting salary monthly information
          CLEAR : L_AMOUNT, L_AMOUNT_OFF,L_NAME1.
    *CALL FUNCTION 'ZIBHR_EMP_INCENTIVE'
    EXPORTING
       S_PERNR             = i_w_data-pernr
    IMPORTING
      INCENTIVE           = l_amount
      INCENTIVE_OFF       = l_amount_off
         i_w_data-zzmonsal_off = l_amount_off.
          MODIFY I_T_DATA FROM I_W_DATA.
          CLEAR L_ICNUM.
          CLEAR L_PERNR.
        ENDLOOP.
    COst Center Enhancement for data source
    Getting the employee count for a COST CENTER
      WHEN '0COSTCENTER_ATTR'.
        CLEAR : VL_COUNT.
        LOOP AT I_T_DATA INTO I_W_DATA_KOSTL.
          SELECT PERNR INTO TABLE IT_PERNR  FROM PA0185
                 WHERE ICNUM EQ I_W_DATA_KOSTL-KOSTL
                 AND SUBTY = '05'
                 AND ENDDA EQ '99991231'.
          DESCRIBE TABLE IT_PERNR LINES VL_COUNT.
          MOVE : VL_COUNT TO I_W_DATA_KOSTL-ZZHEADCOUNT.
          MODIFY I_T_DATA FROM I_W_DATA_KOSTL.
          REFRESH : IT_PERNR.
        ENDLOOP.

    Hi Rama,
    1st: improve the know-how for understanding whats going on in your source
    2nd: know the slowest parts of your source (identify the "lowest hanging fruits" ) and start tune these
    parts.
    Tools:
    Check this blog for using SE30 and ST05:
    The ABAP Runtime Trace (SE30) -  Quick and Easy
    Unfortunatley, I'm not able to give you an advice in terms of code - up to now we are only guessing what may slow you down.
    It may be good to have a senior ABAPer on your side to help you with the tools mentioned above.
    Bye
    yk

  • Is there any table where there is wagetypes with Transaction types

    Hi
    Is there any table in SAP  where there is wage types with Transaction types setup or does it exist in FI side ? please help
    Regards
    Krishna

    if i am not wrong u are asking to view wage type models
    than go to transaction oh11 u will get wage type catalogue
    there u place f4 u can see all the the wage type models
    and one more thing we dont have any transaction for viewing each wage type
    thanks
    sikindar

  • Enhancement of the datasource is taking lot of time

    Hi Experts,
    we enhanced the datasource  0employee_attr almost 35 fileds but every thing fine when we are loading it taking almost 20hrs . these reports are using every day .how to reduce the loading time .iam not written any routines i thought its happened in R/3 side because lot of select statement.can any one suggest me on this issue.
    Regards
    sivaraju

    Hi,
    i dont know much about ABAP coding . can you pllz suggest me where i need to put indexes etc.
    TABLES: PA0185,HRP1001,PA0001,PA0588, PA0587, PA0021, PA0006, PA0009, PA0003.
    TABLES: HRMS_BIW_IO_OCCUPANCY.
    TABLES: BWCO_MD_CCTR.
    TABLES: BIW_KNA1_S,KNB1.
    Internal table - Types -- Declaration for COSTCENTER_ATTR
    TYPES : BEGIN OF T_PERNR,
             PERNR TYPE PERSNO,
            END OF T_PERNR.
    DATA : IT_PERNR TYPE STANDARD TABLE OF T_PERNR.
    DATA : VL_COUNT TYPE I.
    data : s_area like pa0001-mstbr.
    Declarations for 0EMPLOYEE_ATTR
    DATA : I_W_DATA LIKE HRMS_BIW_IO_OCCUPANCY,
           I_W_DATA_KOSTL LIKE BWCO_MD_CCTR,
           L_ICNUM TYPE PA0185-ICNUM,
           L_RMBEGDA TYPE PA0185-BEGDA,
           L_RMENDDA TYPE PA0185-ENDDA,
           L_PERNR TYPE PA0001-PERNR,
           L_PERNR1 TYPE PA0001-PERNR,
           L_PLANS TYPE SOBID,
           L_PLANS2 TYPE SOBID,
           L_SUBTY TYPE PA0185-SUBTY,
           L_NAME TYPE PA0001-ENAME,
           L_NAME1 TYPE PA0001-ENAME,
           L_AMOUNT TYPE BETRG,
           L_AMOUNT_OFF TYPE BETRG,
           L_ORGUNITSVP TYPE PA0001-ORGEH,
           L_ICNUM_RM TYPE PA0185-ICNUM,
           L_ICNUM_TIER2 TYPE PA0185-ICNUM,
           L_MSTBR TYPE PA0001-MSTBR,
           L_ICNUM_21 TYPE PA0185-ICNUM,
           L_ICNUM_20 TYPE PA0185-ICNUM,
           L_ICNUM_24 TYPE PA0185-ICNUM,
           L_ICNUM_18 TYPE PA0185-ICNUM,
           L_ISSPL TYPE PA0185-ISSPL,
           L_ESINO LIKE PA0588-ESINO,
           L_EEBAS LIKE PA0587-TSTID,
           I_W_DATA1 LIKE BIW_KNA1_S,
           L_TLFXS LIKE KNB1-TLFXS,
           L_NAME4 LIKE KNA1-NAME4,
    new fields added by pandu
           L_GBDAT TYPE GBDAT,
           L_FAVOR TYPE PAD_VORNA,
           L_NAME2 TYPE PAD_CONAM,
           L_STRAS TYPE PAD_STRAS,
           L_PSTLZ TYPE PSTLZ_HR,
           L_ORT01 TYPE PAD_ORT01,
           L_USRID TYPE SYSID,
           L_XMETXT TYPE     REBDXRO,
           L_BANKL TYPE BANKK,
           L_BANKN TYPE BANKN,
           L_CNAME TYPE ZCNAME,
           L_USRID1 TYPE     SYSID,
           L_MGRID TYPE SOBID,
           L_INCDAT TYPE     BEGDA,
           L_LIFNR TYPE LIFNR,
           L_RDATE TYPE BEGDA,
           L_LWDAY TYPE BEGDA,
           L_REDAT TYPE BEGDA,
           L_SCHKZ TYPE SCHKN,
           L_PRDAT TYPE PRDAT,
           L_ABRDT TYPE LABRD,
           L_ABRSP TYPE ABRSP,
           L_BANKA TYPE BANKA,
           L_SMDAT TYPE BEGDA.
          l_ctc_amt type betrg.
    *endchange
    DATA: BEGIN OF TP_RGDIR OCCURS 0.
            INCLUDE STRUCTURE PC261.
    DATA: END OF TP_RGDIR.
    *Decleration for monthly salary
    DATA : L_PA0008 LIKE PA0008.
    DATA : V_AMOUNT TYPE PAD_AMT7S,
           FLDNAM(30),
           NUM(2) VALUE '01'.
    FIELD-SYMBOLS: <FS> TYPE ANY.
    FIELD-SYMBOLS: <FS1> TYPE ANY.
    CASE I_DATASOURCE.
    *Getting Customer branch in 0customer_attr
        WHEN '0CUSTOMER_ATTR'.
          LOOP AT I_T_DATA.
            MOVE-CORRESPONDING I_T_DATA TO I_W_DATA1 .
    *Getting Customer branch in 0customer_attr
            SELECT SINGLE TLFXS INTO L_TLFXS FROM KNB1 WHERE KUNNR EQ I_W_DATA1-KUNNR.
    *Getting Customer Name4 in 0customer_attr from table KNA1
           SELECT SINGLE NAME4 INTO L_NAME4 FROM KNA1 WHERE KUNNR EQ I_W_DATA1-KUNNR.
            I_W_DATA1-ZZTLFXS = L_TLFXS.
            I_W_DATA1-ZZNAME4 = L_NAME4.
            MODIFY I_T_DATA FROM I_W_DATA1.
             CLEAR L_TLFXS.
             CLEAR L_NAME4.
          ENDLOOP.
    Getting the RM for the employee and SVP using the ICNUM
      WHEN '0EMPLOYEE_ATTR'.
        LOOP AT I_T_DATA INTO I_W_DATA.
          SELECT SINGLE ICNUM INTO L_ICNUM FROM PA0185
                 WHERE PERNR EQ I_W_DATA-PERNR
                 AND SUBTY = '23'
                 AND ENDDA GE SY-DATUM.
    Getting the Joining date of RM
          SELECT SINGLE BEGDA INTO L_RMBEGDA FROM PA0000
                  WHERE PERNR EQ I_W_DATA-PERNR
                  AND MASSN EQ '01'.
    Getting the Resignation Date of RM
          SELECT SINGLE BEGDA INTO L_RMENDDA FROM PA0000
                  WHERE PERNR EQ I_W_DATA-PERNR
                  AND MASSN EQ '14'.
    *Getting the Tier II code and Name
          SELECT SINGLE SOBID INTO L_PLANS FROM HRP1001
                  WHERE OTYPE EQ 'S'
                  AND OBJID EQ I_W_DATA-PLANS
                  AND RSIGN EQ 'A'
                  AND RELAT EQ '002'
                  AND ENDDA GE I_W_DATA-ENDDA
                 AND endda GE sy-datum
                  AND SCLAS EQ 'S'.
                 AND sobid EQ i_w_data-plans.
          SELECT SINGLE PERNR INTO L_PERNR FROM PA0001
                  WHERE ENDDA GE SY-DATUM
                 WHERE endda GE i_w_data-endda
                  AND PLANS EQ L_PLANS.
          SELECT SINGLE ENAME INTO L_NAME FROM PA0001
                  WHERE ENDDA GE SY-DATUM
                  AND PLANS EQ L_PLANS.
    *Getting the TIER II branch
        SELECT SINGLE ICNUM INTO L_ICNUM_TIER2 FROM PA0185
                     WHERE ENDDA GE SY-DATUM
                     AND PERNR EQ L_PERNR
                     AND SUBTY = '05'.
    *Getting the Supervisor/HOD for Employee----
    SELECT SINGLE MSTBR FROM PA0001 INTO L_MSTBR  WHERE PERNR =  I_W_DATA-PERNR AND
                                                   ENDDA GE SY-DATUM.
    *Getting the Employee Product from infotype 185 styp 21.
       SELECT SINGLE ICNUM INTO L_ICNUM_21 FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '21'.
    *Getting the Employee Branch Discription/Place of issue from infotype 185 styp 05.
       SELECT SINGLE ISSPL INTO L_ISSPL FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '05'.
    *Getting the Employee Library no/business from infotype 185 styp 18.
       SELECT SINGLE ICNUM INTO L_ICNUM_18 FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '18'.
    *Getting the Employee Department from infotype 185 styp 20.
       SELECT SINGLE ICNUM INTO L_ICNUM_20 FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '20'.
    *Getting the Employee RBT Codefrom infotype 185 styp 24.
       SELECT SINGLE ICNUM INTO L_ICNUM_24 FROM PA0185
                   WHERE ENDDA GE SY-DATUM
                   AND PERNR EQ I_W_DATA-PERNR
                   AND SUBTY = '24'.
    *Getting the Employee ESI number from Infotype 588.
      SELECT SINGLE ESINO INTO L_ESINO FROM PA0588
                 WHERE ENDDA GE SY-DATUM
                 AND PERNR EQ I_W_DATA-PERNR.
    *Getting the Employee PF Eligibility no from Infotype 587.
      SELECT SINGLE TSTID INTO L_EEBAS FROM PA0587
                 WHERE ENDDA GE SY-DATUM
                 AND PERNR EQ I_W_DATA-PERNR.
    *Getting the Employee Basic salary amt from Infotype 0008.
        NUM = '01'.
        CLEAR V_AMOUNT.
        SELECT SINGLE * INTO L_PA0008 FROM PA0008 WHERE PERNR EQ I_W_DATA-PERNR
                                                  AND   ENDDA EQ '99991231'.
        DO 30 TIMES.
        IF STRLEN( NUM ) = 1.
          CONCATENATE '0' NUM INTO NUM.
        ENDIF.
        CONCATENATE 'L_PA0008-LGA' NUM INTO FLDNAM.
        ASSIGN (FLDNAM) TO <FS>.
        CONCATENATE 'L_PA0008-BET' NUM INTO FLDNAM.
        ASSIGN (FLDNAM) TO <FS1>.
        IF <FS> = '1000'.
          V_AMOUNT = <FS1>.
        ENDIF.
        CLEAR :  <FS>, <FS1>.
        NUM = NUM + 1.
        ENDDO.
        I_W_DATA-ZZBASPAY  = V_AMOUNT.
       endif.
      HRMS_BIW_IO_OCCUPANCY-ZZMSTBR = s_area.
    select single mstbr into l_mstbr from pa0001
                    where endda GE sy-datum
                    and pernr eq l_pernr.
    *Bringing RM branch
       SELECT SINGLE ICNUM INTO L_ICNUM_RM FROM PA0185
                     WHERE ENDDA GE SY-DATUM
                     AND PERNR EQ I_W_DATA-PERNR
                     AND SUBTY = '05'.
    new code for fields by pandu
    *bringing date-of-birth
      SELECT SINGLE GBDAT INTO L_GBDAT FROM PA0002 WHERE PERNR = I_W_DATA-PERNR.
    bringing fathers name
      SELECT SINGLE FAVOR INTO L_FAVOR FROM PA0021 WHERE PERNR = I_W_DATA-PERNR
                                                     AND SUBTY = '2'.
    bringing address details
      SELECT SINGLE * FROM PA0006 WHERE PERNR = I_W_DATA-PERNR
                                    AND SUBTY = '2'
                                    AND ENDDA GE SY-DATUM.
    L_NAME2 = PA0006-NAME2.
    L_STRAS = PA0006-STRAS.
    L_ORT01 = PA0006-ORT01.
    L_PSTLZ = PA0006-PSTLZ.
    bringing communication dteails
    SELECT SINGLE USRID INTO L_USRID FROM PA0105 WHERE PERNR = I_W_DATA-PERNR
                                                    AND SUBTY = '0010'
                                                    AND ENDDA GE SY-DATUM.
    bringing location details
    SELECT SINGLE XMETXT INTO L_XMETXT FROM PA9005 WHERE PERNR = I_W_DATA-PERNR
                                                     AND ENDDA GE SY-DATUM.
    bringing bank details
      SELECT SINGLE * FROM PA0009 WHERE  PERNR = I_W_DATA-PERNR
                                          AND ENDDA GE SY-DATUM.
      L_BANKN = PA0009-BANKN.
      L_BANKL = PA0009-BANKL.
    bringing the bankname
    SELECT SINGLE BANKA INTO L_BANKA FROM BNKA WHERE BANKL = L_BANKL.
    bringing esop details
    SELECT SINGLE CNAME INTO L_CNAME FROM PA9008 WHERE  PERNR = I_W_DATA-PERNR
                                                    AND ENDDA GE SY-DATUM.
    bringing vendor details
    SELECT SINGLE LIFNR INTO L_LIFNR FROM LFB1 WHERE PERNR = I_W_DATA-PERNR.
    SELECT SINGLE CTC_DATE  INTO L_INCDAT  FROM PB9007 WHERE REPORT = I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM.
    *select single ctc_amt  into l_ctc_amt  from pb9007 where report = i_w_data-pernr
                                                      and endda ge sy-datum.
    *l_incdat = pa9007-ctc_date.
    *l_ctc_amt = pa9007-ctc_amt.
    bringing resignation date
    SELECT SINGLE BEGDA FROM PA0000 INTO L_RDATE WHERE PERNR = I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM
                                                       AND MASSN = '14'.
    to get last working day
    L_LWDAY = L_RDATE - 1.
    to get reentry date
    SELECT SINGLE BEGDA FROM PA0000 INTO L_REDAT WHERE PERNR = I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM
                                                       AND MASSN = '15'.
    bringing workschedule details
    SELECT SINGLE SCHKZ FROM PA0007 INTO L_SCHKZ WHERE PERNR =  I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM.
    bringing payroll status details
    SELECT SINGLE * FROM PA0003 WHERE PERNR = I_W_DATA-PERNR
                                  AND ENDDA GE SY-DATUM.
    L_PRDAT = PA0003-PRDAT.
    L_ABRDT = PA0003-ABRDT.
    L_ABRSP = PA0003-ABRSP.
    bringing paydate
    SELECT SINGLE BEGDA INTO L_SMDAT FROM PA0008 WHERE PERNR = I_W_DATA-PERNR
                                                       AND ENDDA GE SY-DATUM.
    *endadd
    Getting wage type for the salaries calc
          I_W_DATA-ZZRMID = L_ICNUM.
          I_W_DATA-ZZICNUM = L_ICNUM_RM.
          I_W_DATA-ZZRMBEGDA = L_RMBEGDA.
          I_W_DATA-ZZRMENDDA = L_RMENDDA.
          I_W_DATA-ZZEVPID = L_PERNR.
          I_W_DATA-ZZEVPNAME = L_NAME.
         I_W_DATA-ZZORGUTSVP = L_ICNUM_TIER2.
          I_W_DATA-ZZMSTBR = L_MSTBR.
          I_W_DATA-ZZICNUM_21 = L_ICNUM_21.
          I_W_DATA-ZZICNUM_20 = L_ICNUM_20.
          I_W_DATA-ZZICNUM_24 = L_ICNUM_24.
          I_W_DATA-ZZICNUM_18 = L_ICNUM_18.
          I_W_DATA-ZZESINO = L_ESINO.
          I_W_DATA-ZZEEPF1 = L_EEBAS.
          I_W_DATA-ZZISSPL = L_ISSPL.
    code added by pandu
          I_W_DATA-ZZGBDAT = L_GBDAT.
          I_W_DATA-ZZFAVOR = L_FAVOR.
          I_W_DATA-ZZNAME2 = L_NAME2.
          I_W_DATA-ZZORT01 = L_ORT01.
          I_W_DATA-ZZSTRAS = L_STRAS.
          I_W_DATA-ZZPSTLZ = L_PSTLZ.
          I_W_DATA-ZZUSRID = L_USRID.
          I_W_DATA-ZZXMETXT = L_XMETXT.
          I_W_DATA-ZZBANKL = L_BANKL.
          I_W_DATA-ZZBANKN = L_BANKN.
          I_W_DATA-ZZCNAME = L_CNAME.
          I_W_DATA-ZZLIFNR = L_LIFNR.
          I_W_DATA-ZZINCDAT = L_INCDAT.
         i_w_data-zzctc_amt = l_ctc_amt.
          I_W_DATA-ZZRDAT = L_RDATE.
          I_W_DATA-ZZLWDAY = L_LWDAY.
          I_W_DATA-ZZRDAT = L_REDAT.
          I_W_DATA-ZZSCHKZ = L_SCHKZ.
          I_W_DATA-ZZPRDAT = L_PRDAT.
          I_W_DATA-ZZABRDT = L_ABRDT.
          I_W_DATA-ZZABRSP = L_ABRSP.
          I_W_DATA-ZZBANKA = L_BANKA.
          I_W_DATA-ZZSMDAT = L_SMDAT.
    *endchange
    *Getting The details for EVP
          CLEAR L_PERNR.
          CLEAR L_NAME.
          CLEAR L_ICNUM_TIER2.
          CLEAR L_ICNUM_RM.
          CLEAR L_RMBEGDA.
          CLEAR L_RMENDDA.
          CLEAR L_ESINO.
          CLEAR L_EEBAS.
          CLEAR L_ICNUM_21.
          CLEAR L_ICNUM_20.
          CLEAR L_ICNUM_24.
          CLEAR L_ICNUM_18.
          CLEAR L_MSTBR.
          CLEAR L_ISSPL.
          CLEAR L_PLANS.
    *code added by pandu
          CLEAR L_GBDAT.
          CLEAR L_FAVOR.
          CLEAR L_NAME2.
          CLEAR L_ORT01.
          CLEAR L_STRAS.
          CLEAR L_PSTLZ.
          CLEAR L_USRID.
          CLEAR L_XMETXT.
          CLEAR L_BANKN.
          CLEAR L_BANKL.
          CLEAR L_CNAME.
          CLEAR L_LIFNR.
          CLEAR L_RDATE.
          CLEAR L_LWDAY.
          CLEAR L_REDAT.
          CLEAR L_PRDAT.
          CLEAR L_SCHKZ.
          CLEAR L_ABRDT.
          CLEAR L_ABRSP.
          CLEAR L_BANKA.
          CLEAR L_SMDAT.
    *endcode
          SELECT SINGLE SOBID INTO L_PLANS2 FROM HRP1001
                  WHERE OTYPE EQ 'S'
                  AND OBJID EQ L_PLANS
                  AND RSIGN EQ 'A'
                  AND RELAT EQ '002'
                  AND ENDDA GE SY-DATUM
                  AND SCLAS EQ 'S'.
                 AND sobid EQ l_plans.
          SELECT SINGLE PERNR INTO L_PERNR1 FROM PA0001
                  WHERE ENDDA GE SY-DATUM
                  AND PLANS EQ L_PLANS2.
          SELECT SINGLE ENAME INTO L_NAME1 FROM PA0001
                  WHERE ENDDA GE SY-DATUM
                  AND PLANS EQ L_PLANS2.
          I_W_DATA-ZZSRRMEVP = L_PERNR1.
          I_W_DATA-ZZSRRMEVPNAME = L_NAME1.
    *Monthly salary of Rm from PA0008
    NUM = '01'.
    IF I_W_DATA-ENDDA EQ '99991231'.
    CLEAR V_AMOUNT.
    SELECT SINGLE * INTO L_PA0008
    FROM PA0008
    WHERE PERNR EQ I_W_DATA-PERNR
    AND   ENDDA EQ '99991231'.
    DO 30 TIMES.
    IF STRLEN( NUM ) = 1.
    CONCATENATE '0' NUM INTO NUM.
    ENDIF.
    CONCATENATE 'L_PA0008-BET' NUM INTO FLDNAM.
    ASSIGN (FLDNAM) TO <FS>.
    V_AMOUNT = V_AMOUNT + <FS>.
    CLEAR <FS>.
    NUM = NUM + 1.
    ENDDO.
    I_W_DATA-ZZMONSAL     = V_AMOUNT.
    ENDIF.
    Getting salary monthly information
          CLEAR : L_AMOUNT, L_AMOUNT_OFF,L_NAME1.
    *CALL FUNCTION 'ZIBHR_EMP_INCENTIVE'
    EXPORTING
       S_PERNR             = i_w_data-pernr
    IMPORTING
      INCENTIVE           = l_amount
      INCENTIVE_OFF       = l_amount_off
         i_w_data-zzmonsal_off = l_amount_off.
          MODIFY I_T_DATA FROM I_W_DATA.
          CLEAR L_ICNUM.
          CLEAR L_PERNR.
        ENDLOOP.
    COst Center Enhancement for data source
    Getting the employee count for a COST CENTER
      WHEN '0COSTCENTER_ATTR'.
        CLEAR : VL_COUNT.
        LOOP AT I_T_DATA INTO I_W_DATA_KOSTL.
          SELECT PERNR INTO TABLE IT_PERNR  FROM PA0185
                 WHERE ICNUM EQ I_W_DATA_KOSTL-KOSTL
                 AND SUBTY = '05'
                 AND ENDDA EQ '99991231'.
          DESCRIBE TABLE IT_PERNR LINES VL_COUNT.
          MOVE : VL_COUNT TO I_W_DATA_KOSTL-ZZHEADCOUNT.
          MODIFY I_T_DATA FROM I_W_DATA_KOSTL.
          REFRESH : IT_PERNR.
        ENDLOOP.
    ENDCASE.

  • Mass printing payslip problem

    Hi all,
    I was faced in a situation to create a custom payslip for my project.
    My print program basically looks like this right know.
    GET PERAS.
    PERFORM F_GET_WAGE_RESULT. -> Get wage result
    PERFORM F_PRINT_REPORT.-> call smartforms
    Within the f_get_wage_result, wage result are then divided into 6 table based on wage type
    Income:
    *Main Income
    *Other Income
    *Loan
    Deduction:
    *Main Deduction
    *Other Deduction
    *Loan Payment
    Those table containing result of the pernr within the loop are then passed to the smartform.
    Now as my smartform is called within the get peras loop, the window prompting the user to select its printing tool where user could choose print, print preview etc will be shown for every pernr processed.
    Is there anyway to avoid this? So that, the smartforms is directly printed without the need of user input?

    Use functional Module SSF_OPEN before calling smartforms and SSF_CLOSE after calling smartforms

  • Do 15 times varying problem

    hi all,
    i have to pic the value of BET01.....BET15 from PA0589 according to PERNR where LGA01 = '4004'.
    but i m not able to find the same. can anyone please halp me?
    codes:
    INFOTYPES: 0589.
    DATA : BEGIN OF itab OCCURS 0 ,
           pernr LIKE pa0000-pernr ,                       "Personel no.
    END OF itab .
    DATA: BEGIN OF wagetypes,
          lga LIKE p0008-lga01,
          bet LIKE p0008-bet01,
      END OF wagetypes.
    DATA : BEGIN OF it_itab OCCURS 0 ,
           pernr LIKE pa0000-pernr ,                       "Personel no.
           lga01 LIKE pa0589-lga01,
           bet01 LIKE pa0589-bet01,
           begda LIKE pa0589-begda ,                       "Lta start date
           lgart LIKE pa0015-lgart,                        "SUBTYPE OF INFOTYPE
           endda LIKE pa0015-endda ,                       "LTA Taken Date
           betrg LIKE pa0015-betrg,                        "LTA Amount
           zuord LIKE pa0015-zuord,                        "Assignment number
           ename LIKE pa0001-ename ,                       "Employee name
           ent_amt TYPE p DECIMALS 2,
           pending TYPE p DECIMALS 2,                      "Pending LTA amount
    END OF it_itab .
    START-OF-SELECTION.
      SELECT pernr INTO TABLE itab FROM pa0000 WHERE pernr IN pernr AND endda = '99991231' AND stat2 = '3'.
    SORT itab BY pernr.
    LOOP AT itab.
        rp_provide_from_last p0589 space pn-begda pn-endda.
        DO 15 TIMES VARYING wagetypes-lga
                  FROM p0589-lga01
                  NEXT p0589-lga02
           VARYING wagetypes-bet
                  FROM p0589-bet01
                  NEXT p0589-bet02.
          IF wagetypes-lga EQ '4004'.
            CLEAR wa_itab.
            MOVE p0589-pernr   TO wa_itab-pernr.
            MOVE p0589-begda   TO wa_itab-begda.
            MOVE wagetypes-lga TO wa_itab-lga01.
            MOVE wagetypes-bet TO wa_itab-bet01.
            APPEND wa_itab TO it_itab.
          ELSE.
            EXIT.
          ENDIF.
        ENDDO.
    actually i need amount according to wage type '4004', and this wage type can maintain the value in any colom of table pa0589 as ita define as LGA01....to....LGA15 and respective amount maintained in BET01.....to.....BET15.
    so please help me.
    regards saurabh.
    Edited by: saurabh srivastava on Jan 17, 2009 6:26 AM
    Edited by: saurabh srivastava on Jan 17, 2009 6:40 AM
    Edited by: saurabh srivastava on Jan 17, 2009 7:22 AM

    Hi, Saurabh,
    Following code may help you in this way here i am getting wage types 3003, 3004 and 3005.
    get payroll.
      clear: p0001.
      rp_provide_from_last p0001 space payroll-evp-fpbeg payroll-evp-fpend.
      if ( payroll-evp-srtza = 'A' ).
        clear: orgeh_val .
        clear: wa_wpbp.
        loop at payroll-inter-wpbp into wa_wpbp ."where pernr = pernr.
          orgeh_val = wa_wpbp-orgeh.
        endloop.
        " Test on orgeh_val to get it's ist level node and 2nd  level node value
        if orgeh_val in department.
          objid_root_level = orgeh_val.
          objid_child_level = orgeh_val.
        else.
          perform get_2_dept using orgeh_val changing objid_root_level objid_child_level.
          objid_root_level = objid_root_level.
          objid_child_level = objid_child_level.
        endif.
        "-------------- End of getting ist level and 2nd level node value---------------------
        "----- Now get it's lgart value-------------->
        loop at payroll-inter-rt into wa_rt where   lgart =  '3003' or lgart =  '3004' or lgart = '3005'.
          if sy-subrc = 0.
            clear wa_it_final.
            "     BREAK-POINT.
            wa_it_final-objid = objid_root_level.
            wa_it_final-orgeh = objid_child_level.
            wa_it_final-tot_emp = 1.
            wa_it_final-amount = wa_rt-betrg.
            collect wa_it_final into it_final.
          endif.
        endloop.
        "BREAK-POINT.
      endif.
    Please Reply if any Issue,
    Kind Regards,
    Faisal

  • Wage types in Payroll Process getting doubled.

    Hi,
    experts i have an issue while running Payroll.
    An employee is having a change in shift schedules in mid of the month and while running the payroll the salary is getting doubled with same wage types twice as attached.
    Here the payable month days are fixed for a group of employees i.e.26 days a month. This days are given in IT 15 as no of days and this no is converted to RTE in payroll.
    in  (Indian Payroll Schema) INBD sub schema Function WPBP is creating Splits as per the master data change in IT 7 and in payroll iam getting salary doubled can anything be done to eliminate / delete the splits 01 or 02 as per the requirement to calc salary only on the required split.

    I think you must have written a rule to calculate the amount for 26 days use operation ELIMI * in the rule then check it once eliminated again you wanted the amount with splits you can use operation WPALL.
    Use operation ELIMI * as first line of rule.
    Regards
    Venkatesh

  • Net Pay calculation is wrong, allowance wage type is not getting added to net amount..

    Hi Dears,
    We are doing payroll configurations for one of our client in india, Regarding our requirement ,we jus tried in test system, we have written a pcr rule stating 01st feb 2015, new allowance need to paid to employees belonging to L&T1 pa and LT ESG.. Allowance will be percent based on gross pay..allowance percentage differs according to the ESG..
    Before writing the PCR, Allowance percentage has been maintained in T511K.. And have configured as payroll constant ZTST 1 should be calculated with a value 2%.
    i have created a new wage type 9021 allowance wage type and this wage type amount should be automatically generated in payslip based on the pcr i have written while running payroll for an employee.
    EARNINGS                                                       DEDUCTIONS
    l&t basic pay 9000             54838.71                    INCOME TAX
    l&t conveyance 9100            2741.94                   12394.00
    l&t hra           9200               4387.10
    l&t allownace 9021                1239.36
    TOTAL Gross amount          63,207.11              Take Home pay (net pay)  49,573.75
    But the actual net amount should be 50,813.11..Based on the allowance wagetype i have created which is automatically generting using the pcr i have written , is getting calculated in the gross amount..
    but not getting added in net amount .so please help me out guys on how to solve this issue???
    Regards,
    Surya Prabha

    Hi Remi,
    Thanks for your kind reply, yes these values are taken from the remuration statement of a  particular pernr whom am running the payroll..
    i have checked the processing classs and i have maintained 5 and 70 which add this new allowance amount to my net amount.  now the net amount is proper.
    EARNINGS                                                       DEDUCTIONS                   perks/other income/exemptions
    l&t basic pay 9000             54838.71                NCOME TAX                       l&t leave encashment    1239.36
    l&t conveyance 9100         2741.94                   12416.00
    l&t hra           9200               4387.10
    TOTAL Gross amount          61,967.75             Take Home pay (net pay)  50 791.11
      Regards,
    Surya Prabha

  • Wage Type is not getting defaulted in it 0008

    Dear Sirs,
    Just now I have seen the forum on wage type errors.
    I am also getting the same error while trying the configuration.
    I have checked a lot on forum however none  of them seems to work for my issue.
    the error is
    IndVal of wage type 5800: No entry in table T510 for key '10Z1ZA3MGR     015800' on 09.08.2014
    Message no. RP032.
    I have checked all table and still the same issues.
    Please go through the screen shots and advise me some measures to over come this issue.

    Dear Sumana,
    I suspect some where in your config start date & end date's are wrong because I've seen your total screen shots in all screen shots Date's are delimited so recheck once again are do one thing delete that wage type and re-maintain the wage type effective date from 01.01.1900 to 31.12.9999.

  • Wage group is not getting updated in confirmation.

    Hi
    When confirmation is done through idoc ( type Conf21) then wage group is not getting updated in confirmation table AFRU.
    When confirmation is done through co11n then it gets updated.
    How to get it updated when confirmation is done through idoc.

    Hi,
    In we02 Kindly check if the required field is correct mapped in the IDOC.
    Reg
    DSk

  • Pcr To Get The Wage Type Value From Previous Years Master Data Records

    Hi
    I have an issue related to pcr.  I want to get the value of a wage type from previous year and it has to be added to another wage type.  Tried to write pcr by using the operation TABLE.  But i am not able to get the previous years data.  Request to help in writing the PCR for the issue.
    Thanks
    EKP Yadav

    1 - Create an "Information WT" that will be saved into RT but that has no impact on net pay.
    2 - Create a PCR that will be activated on the last pay of the year to read the WT you want and transfer it's information into your Information WT.
    3 - Create a PCR that will read the last payroll results (activated with function PLRT) and transfer into the Input Table (IT) the Information WT.

  • 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

Maybe you are looking for

  • Error in BAPI_MATERIAL_SAVEDATA - ACCOUNTING_KEYS_READ_FOR_BWKEY

    Hello, An error was occured when I use a program that transfers data form one system to another with bapi BAPI_MATERIAL_SAVEDATA. Error is : "Required parameters missing when calling up module ACCOUNTING_KEYS_READ_FOR_BWKEY" I have no idea what this

  • Could I know how to inquiry the time of activate for my MacBook Air?

    Could I know where can I inquiry the time of activate for my MacBook Air??   The Serial No is : C02******JYC In addition, I have another question, after bought the Mac, I found there is a screw come out and we can touch it clearly, could I know why?

  • Transfering Settings with Migration Assistant

    Can anyone tell me what "settings" are transferred when using migration assistant to set up a MacBook Pro (by either migrating from another MacBook Pro or from a time machine backup)? It always asks if you want to transfer 1) applications, 2) documen

  • Edits, Actions and Plugins in Photoshop CS6 not showing

    I bought a new computer and Adobe was nice enough to transfer all of my products to the new laptop without charging me.  Things seemed to be great for 3 weeks and now when I create a layer mask, run an Action, or run Portraiture, etc it doesn't show

  • Video tutorial - Photoshop Smart Objects in poster design

    Hello Photoshop users! I had a bit of time spare last night and thought i'd make a quick video overview for a recent poster design I did. I created a quick 60's themed poster design for a battle of the bands event. The video is mainly about my workfl