LTA Exemptions in Infotype 582

Hi All,
The LTA amount which need to be exempted is entered in Infotype 582 - LTA subtype. This is not taken for Income Tax taxable amount.
I need some help is understanding the technical internals like - what could make this LTA exemption component not getting participated in PA00_M40_CALC(payroll driver) though entered in 582 infotype. When checked in PC_Payresult - RT, the Annual Exemptions /133 is missing the LTA defined ???
Note: The same is not the case with Medical Exemption which is maintained in the same 582 infotype in - MDA subtype.
Thanks
Gopal

Nitin,
I have already mapped /3L1, /4E5 and 1503 WT to Tax Code SLTA - to try out... but still the LTA is not working fine. So all these entries are found in this T7INT9 table.
Note: I am maintaining Additional Payment(Infotype 15) for LTA re-imbursements and Exemptions(Infotype 582)maintained for Taxation.
I think I have missed out something which is causing this issue. But appreciate this forum members for rendering help to resolve this issue. This is my first SDN posting and its interesting to see the good inputs/solutions provided.
Thanks
Gopal

Similar Messages

  • Maintaining Infotype 582

    Hi Folks,
    I have maintained Infotype 582  with begin date as 01.04.2008,
    Do we need to Maintain IT 582- subtype EDA, LTA, CEA for all the financial Year or maintaining it with go live year financial year is sufficient. Suppose i have maintaned IT 582 with date 01.04.2008 , i have same exemption this year also, do i need to change it as 01.04.2009.   Experts Plz advice.
    Rgds,
    Sekar.

    HI
    When I maintain IT 582 subtype MDA, i can key in only start date and there is no end date, u mean to say, every financial year , i need to key in the start date of the financial year.
    Rgds,
    Sekar.

  • Exemptions in Infotype 0580 not considered in Income Tax Calculation

    Dear All,
    The following fields or options are displayed, when we execute the infotype 00580 i.e. Previous Employment Tax details.
    1]Salary as per provisions u/s 17(1)
    2]Value of perquisites u/s 17(2)
    3]Profits in lieu of salary u/s 17(3)
    4]Exemptions u/s 10
    5]Professional Tax
    6]Provident Fund
    7]Income Tax Deducted
    8]Surcharge Deducted
    9]Education Cess Deducted
    10]Medical Exemption
    11]Leave Encashment Exemption Amount
    12]Gratuity Exemption
    13]VRS Exemption
    14]Number of LTA Exempt
    15]LTA Carried Forward*
    I have entered amount in 1,2,4,5,6,7,8,11,12 & 13 and processed the payroll. The amounts entered in 11,12 & 13 are not being considered in Income Tax calculation while all other are considered.
    Can anyone tell me what is the problem and what I have to do for those amounts to be considered for Income Tax calculation.
    Regards
    Sudhir Shrisunder

    Hi Sudhir,
    Can you check if following wage types are present in system by processing of INPET-
    Leave Encashment Exemtwage type (/4V7) - This wage type stores the amount entered as the sum of all leave encashment exemptions availed. It gets processed only on the event of the separation of the employee from your organisation. The value of this wage type gets deducted from the maximum exemption limit for leave encashment exemption
    Gratuity Exemptionwage type (/4V8) - This wage type stores the amount entered as the total gratuity availed. It gets processed only on the event of the separation of the employee from your organisation. The value of this wage type gets deducted from the maximum exemption limit for gratuity exemption amount.
    VRS Exemption wage type (/4V9) - This wage type stores the amount entered as the Voluntary Retirement Scheme (VRS) exemption amount availed. VRS Exemption wage type (/4V9) gets processed only on the event of the separation of the employee from your organisation. No tax exemption is given, in case the employee has availed of the same with any of the previous employers
    If these wage types are present then calculation is correct.
    Plz note that the value of these wage type get deducted from the maximum exemption limit of the corresponding exemption amounts. Exemption has already compared been considered for them and tax component were computed correspondingly.
    Let me know if stll not clear.
    Regards,
    Praveen

  • Tax Exemption for LTA

    HI Pals,
    Iam maintaing a Wage type LTA1 for LTA Exemption.  I have maintained a LTA amount of Rs.20000 in Infotype 582. In the same month Rs.20000 is paid as LTA thru IT 0015.   But the entire 20000 rupees is considered for Taxation.
    I have maintained the following configuration . But still the tax exemption is not happening.what could be wrong?.
    Table : V_T7INT9
    1LTA     Tax exemption is Rule Based     Limit for Tax Exemption is Annual                      SLTA     INR     01.01.1999     31.12.9999
    Table:  V_T7INA9
    1LTA                                                                                Amount     Upper     Allowance     INR     01.01.1990
    Rgds,
    Sekar.

    Hi,
    1.Infotype 21 is maintianed properly.
    2.There is no earlier claim available.
    In RT table under INLTA function , in Input the system is taking the exemption amount, but after processing and output no LTA amount is exempted for tax.
        INLTA                     Leave travel allowanc
            Input
    Table EXM
       From        From        SType  Exmpt amt           CF claim  Currency
       30.09.2008  30.09.2008  LTA     120,000.00  INR    N         INR
            Processing 
    Nil
            Output
    Nil
    Rgds,
    Sekar.

  • Error : 'No object identification permitted for infotype 0582, subtype LTA'

    Hi Experts,
                   While executing the program 'HINUINFO_UPDATE'
    i am getting an error 'No object identification permitted for infotype 0582, subtype LTA'.
                   After the approval for LTA claim  is done in ESS i have executed the program 'HINUINFO_UPDATE' to update he infotypes 15 and 582. Infotype 15 is getting created but while creating the infotype 582 system gives the above error message.
                 In the detailed error log system gives the following message.
                    "You attempted to access a data record with the object identification 1. However, according to the Customizing settings, object identifications cannot be used for subtype LTA of infotype 0582".
            Can anybody please assist me how to solve this problem. Helpful answers will be rewarded.
    Thanks and Best Regards,
    Sanoj.

    Hi ,
    Did any one find solution for this ? Please reply how to fix this issue.

  • Carry forward Exemption infotypes to next financial year

    Dear experts,
    Is there any way standard T-Code for we can copy all current year exemption infotypes (582, 581, 585, 584,586) to next financial year in bulk for all the employees?
    We don't want to take the route of BDC or LSMW.
    Please suggest.
    Regards.

    Did you got any solution? Even we are looking some standard way through which we can take current year's investment declaration as the proposed declaration for coming year.
    Please help anyone.

  • Error while updating infotype using HINUINFO_UPDATE

    Hi All,
    While executing the program 'HINUINFO_UPDATE'
    i am getting an error 'No object identification permitted for infotype 0582, subtype LTA'.
    After the approval for LTA claim is done in ESS i have executed the program 'HINUINFO_UPDATE' to update he infotypes 15 and 582. Infotype 15 is getting created but while creating the infotype 582 system gives the above error message.
    In the detailed error log system gives the following message.
    "You attempted to access a data record with the object identification 1. However, according to the Customizing settings, object identifications cannot be used for subtype LTA of infotype 0582".
    Helpful answers will be rewarded .

    Solved by SAP

  • Exemptions

    Dear sir,
                Leave Encashment: tax exemption to be given if the employee declares.  As per income tax upto 3,00,000/- payment of leave encashment is exempted from tax
    We will be entering the leave encashment payment through info type 15 and tax exemption for the same amount to be entered as exemption under info type 582
    Normally we will be paying leave encashment at the time of final settlement after termination of employeee.
    in the schema the function which will do this operation is INLEA.
    But in my case this function itself its not triggering.
    I gave first parameter to this function is:9016(custom wage type which is copied from MLIN(AVERAGE MONTHLY SAL) model wage type)
    This 9016 we are maintaing thro infotype 15 and exemption amount we are giving from the infotype 582.
    and we ahev mainatined T7INT7 AND T7INT9 tables.
    But Problem is in the payroll log this exemption itself its not reflecting at all?
    This function itself its nt triggering?
    Please explain me to reslove this issue

    Hi Raam Manohar,
    I have maintained tax slab code as SLEA in the table T7INT7
    and i maintained exemption amount in T7INT9
    But Problem is in the payroll log this exemption itself its not reflecting at all?
    This INLEA(function to calculate the leave encashment exemption) function itself its nt triggering?
    we are giving input 9801(Avg sal pre-instln)(custom wage type copied from MLIN (Avg sal pre-instln) model wage type )
    This function itself its not triggering?
    Please explain me to reslove this issue

  • 0580 infotype

    Hi All,
    I want to add the other sections in infotype 0580 Previous employment tax details. Can anyone plz let me know how to do this..
    In the current system there are only three sections as Leave encashment,Gratuity and VRS exemption. I want to add PTax, PF, Medial exemption etc...How to add them?
    Thanks,
    Vani.

    Hi Vani,
    Screen for IT0580 is somewhat confusion. If you hire an employee in the 1st day of Financial Year, that means 1st April, you will get only 4 fileds for Leave Encashment Exemption Amount, Gratuity Exemption, VRS Exemption and Number of LTA Exempt. We need to update only these fields which are required for that employee as this employee joined the new company from the 1st day of Financial Year. On contrary, if an employee joins in the mid of financial year, for example, 16th April, then the fields in IT0580 will change. You will get all the other fields also like Exemption u/s 10, Professional Tax, Provident Fund etc.
    That means the fields in this infotype will appear according the the date of joining of the employee in the financial Year.
    I hope this will help you.
    Lakshmi

  • Tax Exemption (Indian Payroll)

    Hi PY Experts,
    I have a wagetype which is exempt under section 10. Now, i have to configure the same in indian payroll. I have assigned the tax code in V_TIN7T9 and have also maintained the allowance grouping for this wagetype. I have also maintained the exexmption infotype 582 for this.
    Now, the ememption amount is being calculated in the function INCTX under the model wagetype 3FUX, but the same in not being added to the /130wagetype(exemption u/s10) and neither the exemption amount is being considered for the tax computation.
    Plz help.
    regards
    Srikanth

    Hi,
    CCL 30 i have activated but still the exemption is not comming in /130.
    If i m changing the PCl 10->8,    20->1 and CCL 30 checked then  the amount in exemption i m getting which i m maintaing in IT15 and not which i m maintaining in 582.
    Ex:
    2260 Transfer wagetype chich i m maintaining in IT15 Rs 4000.
    And i want exemption for this Rs 2000 which i m maintaing in IT 582 Rs2000.
    Then after doing above changed ie. checked CCL30 then Rs 4000 is exempted and not Rs2000 which i m maintaining in IT 582.
    Kindly suggest where i m going wrong.
    Regards,
    Rashmi
    Edited by: Rashmi Lautre on Jun 30, 2010 10:07 AM
    Edited by: Rashmi Lautre on Jun 30, 2010 10:16 AM

  • Validating sub type field

    Hi Experts,
                     Iam new to HR Abap programming environment. My requirement is :   In 15 infotype, there is a LTA sub type ( leave travel allowance ). whenever user enters that LTA amount, it must be validated with  Exemption Amount ( which exists in  Infotype 582 in subtype LTA ). also, LTA amount should not exceed more than exemption amount.
    Please give me some suggestions of how to approach in this regard.
    Your suggestions are appreciated.
    thanking you in advance
    regards
    Murali Krishna T

    Hi ,
    We can achieve this by using Dynamic actions. When you save the data , this dynamic action will be triggered. In that you can configured a form .In that form you can write a code to validate LTA amount.
    Dynamic actions can be configured in the table T588Z.GO to maintenance view of T588Z and in that maintain entry for Info type 0015  and give a form name and Program name in which that form is written. Then write a  program and write a form in that. Program type can be subroutine pool. In that form you write a code for your requirement. You can find more document on dynamic actions in SDN.
    Hope this information will help you.
    Thanks and Regards,
    Narendra.Somarouthu

  • Problem in Tax Exexpiton for Newly created Wage type

    Dear Gurus,
    I Have tried to create a  New Wage type for Allowance with Exemption IT582 created Amount. In pay roll results the IT582 Exemption amount is coming. In Wage type /132 Monthly Exemptions it says the Entire Amount which it created for the Particular wage type.
    Example:
    Newly created wage type 1010 : 10,000
    Exemption Created : 6000
    Payroll Results:
    /132 : showing 10,000+800 Conveyance
    MCAX : 6000 - Custom Allowance
    MCMX :6000 - Custom Allowance.
    By the above result the Gross value reduced to -10,000.
    Please suggest me to complete this process.
    Thanks in Advanc.
    Anbu.

    Hi Anbu,
    I am lil bit confused abt the explanation u had given. anyway i will explain the configuration n step u need to perform-
    configure a wage type in V_T7INA9 and V_T7INT9 view first.
    maintain the amount, which employee has submitted as claim.
    then pass the value in infotype 8 or 14 or 15 through the same wage type u have configure.
    now minimum of 3(entry in V-T7INT9, infotype 8 or 15 or 14 and entry maintained in infotype 582) will b the exemption amount.
    Regards,
    Praveen
    Edited by: Praveen-Sapping in SAP World on Mar 26, 2009 10:11 PM

  • How to debug a program when it is SUBMITed from another program

    Hi All,
    Now one more query.  While SUBMITing a Z program1 from Z program2, I want to debug the Z program1.  Even when I keep a break point in Z program1, it is not triggering there.  Any help would be appreciated.
    Regards,
    Balaji

    Hi all,
    Please find the full code.  I want to debug the sub routine PERFORM send_mail.
    1.  The main program.
    REPORT  Z_ITSLIP_MAIL                           .
    TABLES : pa0000, pa0001.                         .
    SELECT-OPTIONS : pernr FOR pa0000-pernr NO INTERVALS.
    DATA : count LIKE tbtcjob-jobcount.
    DATA : released LIKE btch0000-char1.
    DATA:
            l_valid,
            ls_params LIKE pri_params,
            l_jobcount LIKE tbtcjob-jobcount.
    PARAMETERS: p_job TYPE tbtcjob-jobname NO-DISPLAY.
    PARAMETERS: p_prog(30) TYPE c NO-DISPLAY..
    PARAMETERS: p_sdat LIKE sy-datum DEFAULT sy-datum .
    PARAMETERS: p_stim TYPE sy-uzeit DEFAULT sy-uzeit .
    PARAMETERS : payroll LIKE qppnp-xabkr OBLIGATORY.
    *PARAMETERS : period LIKE qppnp-pabrp OBLIGATORY.
    *PARAMETERS : year LIKE qppnp-pabrj OBLIGATORY.
    select-options : Period for sy-datum.
    DATA : BEGIN OF it_p0001 OCCURS 0,
           pernr LIKE pa0001-pernr,
           END OF it_p0001.
    p_sdat = p_sdat + 1.
    *Get Print Parameters
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING
        no_dialog      = 'X'
      IMPORTING
        valid          = l_valid
        out_parameters = ls_params.
    IF pernr[] IS INITIAL.
      SELECT pernr
       INTO TABLE it_p0001
       FROM pa0001.
      SORT it_p0001 BY pernr.
      DELETE ADJACENT DUPLICATES FROM it_p0001.
      LOOP AT it_p0001.
        MOVE it_p0001-pernr TO pernr-low.
        APPEND pernr.
        CLEAR pernr.
      ENDLOOP.
    ENDIF.
    LOOP AT pernr.
      CLEAR p_job.
      p_stim = p_stim + 120.
      CONCATENATE'ITSlip' pernr-low p_job sy-datum INTO p_job SEPARATED BY
    space.
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname  = p_job
        IMPORTING
          jobcount = l_jobcount.
      SUBMIT ZPR022_INNCOMETAX_REPORT_copy
        WITH PNPTIMR6 = 'X'
        WITH PNPBEGDA = period-low
        WITH PNPENDDA = period-high
        WITH PNPPERNR-LOW = PERNR-LOW
        WITH PNPABKRS-LOW = 'IN'
           VIA JOB     p_job
            NUMBER  l_jobcount
           TO SAP-SPOOL WITHOUT SPOOL DYNPRO
               SPOOL PARAMETERS ls_params
               WITH immediately = space
                  AND RETURN.
      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount  = l_jobcount
          jobname   = p_job
          strtimmed = 'X'
         PRDMINS = 2.
          sdlstrtdt = p_sdat
          sdlstrttm = p_stim.
    ENDLOOP.
    2.  The called program.
    REPORT  zpr022_inncometax_report_copy NO STANDARD PAGE HEADING LINE-SIZE
    89.
    TABLES : pernr, t512e, t512t,pa0105.
          Infotypes
    INFOTYPES : 0000, 0001, 0008, 0580.
          Types                    Begin with TY_
    DATA : BEGIN OF wa_lgart,
           lgart TYPE t512e-lgart,
           windo TYPE t512e-windo,
           slart TYPE t512e-slart,
           lgtxt TYPE t512t-lgtxt,
           kztxt TYPE t512t-kztxt,
           END OF wa_lgart.
    DATA : BEGIN OF wa_income,
           particular(24) TYPE c,
           lgart    TYPE lgart,
           cumm(13) TYPE p DECIMALS 2,
           proj(13) TYPE p DECIMALS 2,
           exem(13) TYPE p DECIMALS 2,
           annu(13) TYPE p DECIMALS 2,
           END OF wa_income.
    DATA : BEGIN OF wa_income1,
           particular(24) TYPE c,
           lgart    TYPE lgart,
           cumm(13) TYPE c,
           proj(13) TYPE c,
           exem(13) TYPE c,
           annu(13) TYPE c,
           END OF wa_income1.
    DATA : BEGIN OF wa_invest,
           particular(40) TYPE c,
           betrg(13) TYPE p DECIMALS 2,
           END OF wa_invest.
    DATA : BEGIN OF wa_invest1,
           particular(40) TYPE c,
           betrg(13) TYPE c,
           END OF wa_invest1.
    DATA : BEGIN OF wa_deduct,
           particular(40) TYPE c,
           sbs TYPE pin_sbsec,
           betrg(13) TYPE p DECIMALS 2,
           END OF wa_deduct.
    DATA : BEGIN OF wa_deduct1,
           particular(40) TYPE c,
           sbs TYPE c,
           betrg(13) TYPE c,
           END OF wa_deduct1.
    DATA: BEGIN OF cocd OCCURS 10.
            INCLUDE STRUCTURE pincc.
    DATA: END OF cocd.
    DATA: BEGIN OF f16 OCCURS 10.
            INCLUDE STRUCTURE pin16.
    DATA: END OF f16.
          Constants                Begin with C_
          Data                     Begin with W_
    DATA : w_clstrid TYPE t500l-relid,         "Cluster ID
           w_molga   TYPE t500p-molga,         "Country Code
           w_period(6) TYPE c,
           w_var(2) TYPE n,
           w_pr_from1 TYPE t569v-pabrj,        "year
           w_pr_to1 TYPE t569v-pabrp,          "period
           w_fpper-low1 TYPE pc261-fpper,
           w_year(4) TYPE n,
           w_ltaexe(13) TYPE p DECIMALS 2,
           w_cumm(13) TYPE p DECIMALS 2,
           w_lgtxt(20) TYPE c,
           w_lgart     TYPE lgart,
           w_amount(13) TYPE p DECIMALS 2,
           w_wage(4)   TYPE c,
           w_flag(1) TYPE c,
           w_total(13) TYPE p DECIMALS 2,
           w_start TYPE sy-datum,
           w_end   TYPE sy-datum,
           w_date  TYPE sy-datum,
           w_index(2) TYPE n VALUE 00,
           w_investnm(40),
           w_investnm1(40),
           w_ded0585(13) TYPE p DECIMALS 2,
           w_itext TYPE t7ini3-itext,
           w_dtext TYPE t7ini8-sbdds,
           w_inprvemp(13) TYPE p DECIMALS 2,
           w_nettaxin(13) TYPE p DECIMALS 2,
           w_ptaxprvemp(13) TYPE p DECIMALS 2,
           w_ptaxcremp(13) TYPE p DECIMALS 2,
           w_othtaxin(13) TYPE p DECIMALS 2,
           w_gssin(13) TYPE p DECIMALS 2,
           w_dedtot(13) TYPE p DECIMALS 2,
           w_invtot(13) TYPE p DECIMALS 2,
           w_inchrtax(13) TYPE p DECIMALS 2,
           w_nettaxpay(13) TYPE p DECIMALS 2,
           w_surchr(13) TYPE p DECIMALS 2,
           w_cess(13) TYPE p DECIMALS 2,
           w_totintax(13) TYPE p DECIMALS 2,
           w_tdsothin(13) TYPE p DECIMALS 2,
           w_cessrec(13) TYPE p DECIMALS 2,
           w_prvemp(13) TYPE p DECIMALS 2,
           w_tottaxpay(13) TYPE p DECIMALS 2,
           w_var1(13) TYPE p DECIMALS 2,
           w_var2(13) TYPE p DECIMALS 2,
           w_balit(13) TYPE p DECIMALS 2,
           w_avgmon(13) TYPE p DECIMALS 2,
           w_remmon(2) TYPE n,
           w_profund(13) TYPE p DECIMALS 2,
           w_pf(13) TYPE p DECIMALS 2,
           w_dept(25) TYPE c,
           w_desig(25) TYPE c,
           w_join TYPE sy-datum,
           w_annperk(13) TYPE p DECIMALS 2,
           w_percent TYPE pin_txexm,
           w_limit TYPE pin_sdvlt,
           w_st0008  TYPE sy-datum,
           w_en0008  TYPE sy-datum.
    DATA: w_cmonth(2) TYPE n,
          w_cyear(4)  TYPE n,
          w_cdate LIKE sy-datum,
          w_ldate LIKE sy-datum.
          Internal tables          Begin with IT_
    DATA : it_0001 TYPE STANDARD TABLE OF pa0001,
           it_data TYPE STANDARD TABLE OF pa0001,
           it_0000 TYPE STANDARD TABLE OF pa0000,
           it_lgart LIKE STANDARD TABLE OF wa_lgart,
           it_pc261 TYPE STANDARD TABLE OF pc261,
           it_payrt_result TYPE payin_result,
           it_income LIKE STANDARD TABLE OF wa_income,
           it_income1 LIKE STANDARD TABLE OF wa_income1,
           it_wage   LIKE it_income,
           it_invest LIKE STANDARD TABLE OF wa_invest,
           it_invest1 LIKE STANDARD TABLE OF wa_invest1,
           it_deduct LIKE STANDARD TABLE OF wa_deduct,
           it_deduct1 LIKE STANDARD TABLE OF wa_deduct1,
           it_0586 TYPE STANDARD TABLE OF pa0586,
           it_0580 TYPE STANDARD TABLE OF pa0580,
           it_0584 TYPE STANDARD TABLE OF pa0584,
           it_0585 TYPE STANDARD TABLE OF pa0585,
           it_t7ini3 TYPE STANDARD TABLE OF t7ini3,
           it_info TYPE STANDARD TABLE OF zpt011_fep_pay,
           it_0008 TYPE STANDARD TABLE OF pa0008,
           it_rt TYPE STANDARD TABLE OF pbwla WITH HEADER LINE.
    DATA    : p_email1 LIKE somlreci1-receiver,
                                     DEFAULT '[email protected]'
               p_sender LIKE somlreci1-receiver.
                                         DEFAULT '[email protected]',
    *DATA DECLARATION
    DATA: gd_recsize TYPE i.
    data: date like sy-datum.
    Spool IDs
    TYPES: BEGIN OF t_tbtcp.
            INCLUDE STRUCTURE tbtcp.
    TYPES: END OF t_tbtcp.
    DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
          wa_tbtcp TYPE t_tbtcp.
    Job Runtime Parameters
    DATA: gd_eventid LIKE tbtcm-eventid,
          gd_eventparm LIKE tbtcm-eventparm,
          gd_external_program_active LIKE tbtcm-xpgactive,
          gd_jobcount LIKE tbtcm-jobcount,
          gd_jobname LIKE tbtcm-jobname,
          gd_stepcount LIKE tbtcm-stepcount,
          gd_error    TYPE sy-subrc,
          gd_reciever TYPE sy-subrc.
    DATA:  w_recsize TYPE i.
    DATA: gd_subject   LIKE sodocchgi1-obj_descr,
          it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          gd_sender_type     LIKE soextreci1-adr_typ,
          gd_attachment_desc TYPE so_obj_nam,
          gd_attachment_name TYPE so_obj_des.
    Spool to PDF conversions
    DATA: gd_spool_nr LIKE tsp01-rqident,
          gd_destination LIKE rlgrap-filename,
          gd_bytecount LIKE tst01-dsize,
          gd_buffer TYPE string.
    Binary store for PDF
    DATA: BEGIN OF it_pdf_output OCCURS 0.
            INCLUDE STRUCTURE tline.
    DATA: END OF it_pdf_output.
    CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
               c_no(1)     TYPE c   VALUE ' ',
               c_device(4) TYPE c   VALUE 'LOCL'.
          Work Area                Begin with WA_
    DATA : wa_0001 LIKE LINE OF it_0001,
           wa_data LIKE LINE OF it_data,
           wa_0000 LIKE LINE OF it_0000,
           wa_pc261 LIKE LINE OF it_pc261,
           wa_payrt_result TYPE LINE OF hrpay99_rt,
           wa_paycrt_result TYPE LINE OF hrpay99_crt,
           wa_0586 LIKE LINE OF it_0586,
           wa_0580 LIKE LINE OF it_0580,
           wa_0584 LIKE LINE OF it_0584,
           wa_0585 LIKE LINE OF it_0585,
           wa_t7ini3 LIKE LINE OF it_t7ini3,
           wa_in LIKE LINE OF it_income,
           wa_info LIKE LINE OF it_info,
           wa_0008 LIKE LINE OF it_0008,
           wa_wage LIKE wa_income,
           wa_rt TYPE pbwla.
          Field Symbols            Begin with FS_
    FIELD-SYMBOLS: <itc> TYPE ANY,
                   <ain> TYPE ANY,
                   <amt> TYPE ANY,
                   <sbdnn> TYPE ANY,
                   <tot> TYPE ANY.
          Select Options          Begin with SO_
    *SELECT-OPTIONS :
          Parameters              Begin with PR_
    *PARAMETERS     :
          Initialisation
    INITIALIZATION.
    date = sy-datum.
          Selection-Screen
          S T A R T   O F   S E L E C T I O N
    START-OF-SELECTION.
    GET pernr.
      SELECT * FROM pa0001 INTO CORRESPONDING FIELDS OF TABLE it_0001
                    WHERE pernr IN pnppernr
                    AND   abkrs IN pnpabkrs
                    AND   bukrs IN pnpbukrs.
      DELETE ADJACENT DUPLICATES FROM it_0001 COMPARING pernr.
      SELECT * FROM pa0000 INTO CORRESPONDING FIELDS OF TABLE it_0000
                    WHERE pernr IN pnppernr.
      SELECT   t512e~lgart
               t512e~slart
               t512t~lgtxt
               t512t~kztxt
               INTO CORRESPONDING FIELDS OF TABLE it_lgart
               FROM t512e INNER JOIN t512t ON
                                     t512elgart = t512tlgart AND
                                     t512emolga = t512tmolga
               WHERE t512e~forml = 'ZPY2' AND
                     t512t~sprsl = sy-langu AND
                     t512e~molga = '40' AND
                     t512e~windo EQ 'W1' .
      LOOP AT it_lgart INTO wa_lgart WHERE lgart+0(1) EQ '/'.
        DELETE it_lgart.
      ENDLOOP.
      SORT it_lgart BY lgart.
    **---Here we are getting the start and the End of the financial year...
      CLEAR : w_date, w_start, w_end, w_year.
      w_date = sy-datum.
    **---Here we get the start date of the year.....
      IF w_date+4(2) BETWEEN '01' AND '04'.
        w_year = w_date+0(4).
        w_year = w_year - 1.
        CONCATENATE w_year '04' '01' INTO w_start.
      ELSE.
        CONCATENATE w_date+0(4) '04' '01' INTO w_start.
      ENDIF.
    **---Here we get the end date of the year......
      CLEAR : w_year.
      IF w_date+4(2) BETWEEN '01' AND '04'.
        CONCATENATE w_date+0(4) '03' '31' INTO w_end.
      ELSE.
        w_year = w_date+0(4).
        w_year = w_year + 1.
        CONCATENATE w_year '03' '31' INTO w_end.
      ENDIF.
      CLEAR : w_year.
          E N D       O F   S E L E C T I O N
    END-OF-SELECTION.
    **---perform for getting the Income tax Calculation part....
      PERFORM f000_get_income.
      PERFORM send_mail.
          User Command Processing
    *AT USER-COMMAND.
          Top Of Page
    TOP-OF-PAGE.
      WRITE : / 'Mindtree Consulting Pvt Ltd',
              / 'No.42, 27th Cross',
              / '2nd Stage, Banashankari',
              / 'Bangalore - 560070'.
    *&      Form  f000_get_income
          text
         -->P_IT_0001  text
         -->P_IT_LGART  text
    FORM f000_get_income.
      LOOP AT it_0001 INTO wa_0001.
        CLEAR : wa_invest, wa_deduct, wa_income.
        REFRESH : it_invest, it_deduct, it_income.
        CONCATENATE pnppabrj pnppabrp INTO w_period.
    **---Here we are getting the Earnings in India from RT Table...
    **---Getting the relid for each employee....
        CALL FUNCTION 'PYXX_GET_RELID_FROM_PERNR'
          EXPORTING
            employee                    = wa_0001-pernr
          IMPORTING
            relid                       = w_clstrid
            molga                       = w_molga
          EXCEPTIONS
            error_reading_infotype_0001 = 1
            error_reading_molga         = 2
            error_reading_relid         = 3
            OTHERS                      = 4.
        IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    **---Reading the rgdir of cluster 'CU' for each of the employees...
        CALL FUNCTION 'CU_READ_RGDIR'
          EXPORTING
            persnr          = wa_0001-pernr
          TABLES
            in_rgdir        = it_pc261
          EXCEPTIONS
            no_record_found = 1
            OTHERS          = 2.
        IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        CLEAR : w_lgtxt, w_cumm, w_ltaexe, w_flag.
        LOOP AT it_pc261 INTO wa_pc261 WHERE fpper = w_period
                                       AND   srtza  = 'A'.
    **---Importing the Payroll cluster results for each employee from RT....
          CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
            EXPORTING
              clusterid                    = w_clstrid
              employeenumber               = wa_0001-pernr
              sequencenumber               = wa_pc261-seqnr
            CHANGING
              payroll_result               = it_payrt_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
              error_reading_archive        = 8
              error_reading_relid          = 9
              OTHERS                       = 10.
          IF sy-subrc <> 0.
           MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.
    **---Processing....
          LOOP AT it_lgart INTO wa_lgart.
            CLEAR : wa_income.
            IF wa_lgart-lgart NE '5004' AND
               wa_lgart-lgart NE '5007' AND
               wa_lgart-lgart NE '5008' AND
               wa_lgart-lgart NE '5011' AND
               wa_lgart-lgart NE '5012' AND
               wa_lgart-lgart NE '5014' AND
               wa_lgart-lgart NE '5017' AND
               wa_lgart-lgart NE '5018' AND
               wa_lgart-lgart NE '5027' AND
               wa_lgart-lgart NE '5029' AND
               wa_lgart-lgart NE '5031' AND
               wa_lgart-lgart NE '5039' AND
               wa_lgart-lgart NE '5060' AND
               wa_lgart-lgart NE '7004' AND
               wa_lgart-lgart NE '7007' AND
               wa_lgart-lgart NE '7008' AND
               wa_lgart-lgart NE '7011' AND
               wa_lgart-lgart NE '7012' AND
               wa_lgart-lgart NE '7014' AND
               wa_lgart-lgart NE '7017' AND
               wa_lgart-lgart NE '7018' AND
               wa_lgart-lgart NE '7027' AND
               wa_lgart-lgart NE '7029' AND
               wa_lgart-lgart NE '7031' AND
               wa_lgart-lgart NE '7039' AND
               wa_lgart-lgart NE '7060'.
              LOOP AT it_payrt_result-inter-crt INTO wa_paycrt_result
                      WHERE cumty = 'Y' AND lgart EQ wa_lgart-lgart.
                IF wa_lgart-lgart+0(1) = '7'.
                  LOOP AT it_payrt_result-inter-crt INTO wa_paycrt_result
                           WHERE cumty = 'M' AND lgart EQ wa_lgart-lgart.
                    READ TABLE it_payrt_result-inter-rt INTO
                               wa_payrt_result WITH
                               KEY lgart = wa_lgart-lgart.
                    IF sy-subrc = 0.
                      wa_income-particular = wa_lgart-lgtxt.
                      wa_income-lgart      = wa_paycrt_result-lgart.
                      wa_income-cumm       = wa_paycrt_result-betrg.
                    ENDIF.
                  ENDLOOP.
                ELSE.
                  wa_income-particular = wa_lgart-lgtxt.
                  wa_income-lgart      = wa_paycrt_result-lgart.
                  wa_income-cumm       = wa_paycrt_result-betrg.
                ENDIF.
              ENDLOOP.
              REFRESH : it_0008.
              CLEAR : wa_0008.
              PERFORM f010_get_date USING pnppabrp pnppabrj.
              CALL FUNCTION 'SG_PS_GET_LAST_DAY_OF_MONTH'
                EXPORTING
                  day_in            = w_cdate
                IMPORTING
                  last_day_of_month = w_ldate
                EXCEPTIONS
                  day_in_not_valid  = 1
                  OTHERS            = 2.
              SELECT * FROM pa0008 INTO CORRESPONDING FIELDS OF TABLE
                       it_0008 WHERE pernr = wa_0001-pernr
                               AND   begda <= w_cdate
                               AND   endda >= w_ldate.
              IF it_0008 IS INITIAL.
                SELECT * FROM pa0008 INTO CORRESPONDING FIELDS OF TABLE
                         it_0008 WHERE pernr = wa_0001-pernr
                                 AND   begda BETWEEN w_cdate AND w_ldate.
                IF it_0008 IS INITIAL.
                  SELECT * FROM pa0008 INTO CORRESPONDING FIELDS OF TABLE
                        it_0008 WHERE pernr = wa_0001-pernr
                                AND   begda = w_cdate.
                ENDIF.
              ENDIF.
              CLEAR : w_st0008, w_en0008.
              LOOP AT it_0008 INTO wa_0008.
                w_st0008 = wa_0008-begda.
                w_en0008 = wa_0008-endda.
                EXIT.
              ENDLOOP.
              CLEAR : wa_rt.
              REFRESH : it_rt.
              CALL FUNCTION 'RP_FILL_WAGE_TYPE_TABLE'
                EXPORTING
                  begda                        = w_st0008
                  endda                        = w_en0008
                  infty                        = '0008'
                  pernr                        = wa_0001-pernr
                TABLES
                  ppbwla                       = it_rt
                EXCEPTIONS
                  error_at_indirect_evaluation = 1
                  OTHERS                       = 2.
              LOOP AT it_rt INTO wa_rt.
                CLEAR : w_var.
                IF wa_rt-lgart         = '5000' AND         "Basic
                   wa_lgart-lgart        = '5000'.
                  w_var = 12 - pnppabrp.
                  wa_income-proj = wa_rt-betrg * w_var.
                  wa_income-lgart = wa_rt-lgart.
    **---Here we are checking for the arrers of Basic to deduct from the
    *cummulation amount...
                  READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                             WITH KEY lgart = '7000'.
                  IF sy-subrc = 0.
                    wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                  ENDIF.
                ENDIF.
                IF wa_rt-lgart         = '5001' AND         "HRA
                   wa_lgart-lgart        = '5001'.
                  w_var = 12 - pnppabrp.
                  wa_income-proj = wa_rt-betrg * w_var.
                  wa_income-lgart = wa_rt-lgart.
    **---Here we are checking for the arrers of HRA to deduct from the
    *cummulation amount...
                  READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                             WITH KEY lgart = '7001'.
                  IF sy-subrc = 0.
                    wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                  ENDIF.
                ENDIF.
                IF wa_rt-lgart         = '5003' AND         "Conveyance
                   wa_lgart-lgart        = '5003'.
                  w_var = 12 - pnppabrp.
                  wa_income-proj = wa_rt-betrg * w_var.
                  wa_income-lgart = wa_rt-lgart.
    **---Here we are checking for the arrers of Conveyance to deduct from
    *the cummulation amount...
                  READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                             WITH KEY lgart = '7003'.
                  IF sy-subrc = 0.
                    wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                  ENDIF.
                ENDIF.
                IF wa_rt-lgart         = '5005' AND         "Special Pay
                   wa_lgart-lgart        = '5005'.
                  w_var = 12 - pnppabrp.
                  wa_income-proj = wa_rt-betrg * w_var.
                  wa_income-lgart = wa_rt-lgart.
    **---Here we are checking for the arrers of Special pay to deduct from
    *the cummulation amount...
                  READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                             WITH KEY lgart = '7005'.
                  IF sy-subrc = 0.
                    wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                  ENDIF.
                ENDIF.
                IF wa_rt-lgart         = '5002' AND         "CLA
                   wa_lgart-lgart        = '5002'.
                  w_var = 12 - pnppabrp.
                  wa_income-proj = wa_rt-betrg * w_var.
                  wa_income-lgart = wa_rt-lgart.
    **---Here we are checking for the arrers of CLA to deduct from the
    *cummulation amount...
                  READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                             WITH KEY lgart = '7002'.
                  IF sy-subrc = 0.
                    wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                  ENDIF.
                ENDIF.
              ENDLOOP.
             LOOP AT it_payrt_result-inter-rt INTO wa_payrt_result
                     WHERE lgart = wa_lgart-lgart.
               CLEAR : w_var.
               IF wa_payrt_result-lgart = '5000' AND         "Basic
                  wa_lgart-lgart        = '5000'.
                 w_var = 12 - pnppabrp.
                 wa_income-proj = wa_payrt_result-betrg * w_var.
                 wa_income-lgart = wa_payrt_result-lgart.
               ENDIF.
    ***---Here we are checking for the arrers of Basic to deduct from the
    *cummulation amount...
                 READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                            WITH KEY lgart = '7000'.
                 IF sy-subrc = 0.
    *wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                 ENDIF.
               IF wa_payrt_result-lgart = '5001' AND         "HRA
                  wa_lgart-lgart        = '5001'.
                 w_var = 12 - pnppabrp.
                 wa_income-proj = wa_payrt_result-betrg * w_var.
                 wa_income-lgart = wa_payrt_result-lgart.
               ENDIF.
    ***---Here we are checking for the arrers of HRA to deduct from the
    *cummulation amount...
                 READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                            WITH KEY lgart = '7001'.
                 IF sy-subrc = 0.
    *wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                 ENDIF.
               IF wa_payrt_result-lgart = '5003' AND         "Conveyance
                  wa_lgart-lgart        = '5003'.
                 w_var = 12 - pnppabrp.
                 wa_income-proj = wa_payrt_result-betrg * w_var.
                 wa_income-lgart = wa_payrt_result-lgart.
               ENDIF.
    ***---Here we are checking for the arrers of Conveyance to deduct from
    *the cummulation amount...
                 READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                            WITH KEY lgart = '7003'.
                 IF sy-subrc = 0.
    *wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                 ENDIF.
               IF wa_payrt_result-lgart = '5005' AND         "Special Pay
                  wa_lgart-lgart        = '5005'.
                 w_var = 12 - pnppabrp.
                 wa_income-proj = wa_payrt_result-betrg * w_var.
                 wa_income-lgart = wa_payrt_result-lgart.
               ENDIF.
    ***---Here we are checking for the arrers of Special pay to deduct from
    *the cummulation amount...
                 READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                            WITH KEY lgart = '7005'.
                 IF sy-subrc = 0.
    *wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                 ENDIF.
               IF wa_payrt_result-lgart = '5002' AND         "CLA
                  wa_lgart-lgart        = '5002'.
                 w_var = 12 - pnppabrp.
                 wa_income-proj = wa_payrt_result-betrg * w_var.
                 wa_income-lgart = wa_payrt_result-lgart.
               ENDIF.
    ***---Here we are checking for the arrers of CLA to deduct from the
    *cummulation amount...
                 READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                            WITH KEY lgart = '7002'.
                 IF sy-subrc = 0.
    *wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.
                 ENDIF.
             ENDLOOP.
              IF wa_lgart-lgart = '5065'.
                READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                           WITH KEY lgart = '5065'.
                IF sy-subrc = 0.
                  wa_income-particular = wa_lgart-lgtxt.
                  wa_income-lgart      = wa_lgart-lgart.
                  wa_income-cumm       = wa_payrt_result-betrg.
                  wa_income-proj       = 0.
                ENDIF.
              ENDIF.
              CLEAR : wa_payrt_result.
              IF wa_lgart-lgart = '5001'.
                "HRA Exemptions
                READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                           WITH KEY lgart = '/4E4'.
                IF sy-subrc = 0.
                  wa_income-exem = wa_payrt_result-betrg.
                 wa_income-lgart = wa_payrt_result-lgart.
                ENDIF.
              ENDIF.
              CLEAR : wa_payrt_result.
              IF wa_lgart-lgart = '5003'.
                "Conveyance Exemptions
                READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                           WITH KEY lgart = '/4E3'.
                IF sy-subrc = 0.
                  wa_income-exem = wa_payrt_result-betrg.
                 wa_income-lgart = wa_payrt_result-lgart.
                ENDIF.
              ENDIF.
              CLEAR : wa_payrt_result.
              IF wa_lgart-lgart = '5025'.
                "Leave Encashment
                READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result
                           WITH KEY lgart = '/4E7'.
                IF sy-subrc = 0.
                  wa_income-particular = wa_lgart-lgtxt.
                 wa_income-lgart      = wa_payrt_result-lgart.
                  wa_income-cumm       = wa_payrt_result-betrg.
                  wa_income-exem       = wa_payrt_result-betrg.
                ENDIF.
              ENDIF.
    **---Here we are calculating the annual field of the IT it_income....
              wa_income-annu = ( wa_income-cumm + wa_income-proj ) -
              wa_income-exem.
              IF wa_income IS NOT INITIAL.
                APPEND wa_income TO it_income.
              ENDIF.
            ENDIF.
          ENDLOOP.
        ENDLOOP.
        READ TABLE  it_payrt_result-inter-rt INTO wa_payrt_result
                    WITH KEY lgart = '5038'.
        IF sy-subrc EQ 0.
          READ TABLE it_lgart INTO wa_lgart WITH KEY lgart = '5038'.
          wa_wage-annu       = wa_payrt_result-betrg.
          wa_wage-particular = wa_lgart-lgtxt.
          wa_wage-lgart      = w_lgart.
          wa_wage-cumm       = wa_payrt_result-betrg.
          APPEND wa_wage TO it_wage.
        ENDIF.
    **---Here we are looping the RGDIR internal table for the LTA Amount in
    *Offcycle....
        LOOP AT it_pc261 INTO wa_pc261 WHERE fpper = '000000'
                                       AND   srtza = 'A'.
          IF w_flag IS INITIAL.
            IF wa_pc261-fpbeg+4(2) = '01' OR
               wa_pc261-fpbeg+4(2) = '02' OR
               wa_pc261-fpbeg+4(2) = '03'.
              w_year = wa_pc261-fpbeg+0(4) - 1.
              w_pr_from1 = w_year.
            ELSE.
              w_pr_from1 = wa_pc261-fpbeg+0(4).
            ENDIF.
            IF wa_pc261-fpbeg+4(2) EQ '01'.
              w_pr_to1 = '10'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '02'.
              w_pr_to1 = '11'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '03'.
              w_pr_to1 = '12'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '04'.
              w_pr_to1 = '01'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '05'.
              w_pr_to1 = '02'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '06'.
              w_pr_to1 = '03'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '07'.
              w_pr_to1 = '04'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '08'.
              w_pr_to1 = '05'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '09'.
              w_pr_to1 = '06'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '10'.
              w_pr_to1 = '07'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '11'.
              w_pr_to1 = '08'.
            ELSEIF wa_pc261-fpbeg+4(2) EQ '12'.
              w_pr_to1 = '09'.
            ENDIF.
            CONCATENATE w_pr_from1 w_pr_to1 INTO w_fpper-low1.
            IF w_period = w_fpper-low1.
              w_flag = 'X'.
              CLEAR : wa_payrt_result.
    **---Importing the Payroll cluster results for each employee from RT....
              CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
                EXPORTING
                  clusterid                    = w_clstrid
                  employeenumber               = wa_0001-pernr
                  sequencenumber               = wa_pc261-seqnr
                CHANGING
                  payroll_result               = it_payrt_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
                  error_reading_archive        = 8
                  error_reading_relid          = 9
                  OTHERS                       = 10.
              IF sy-subrc <> 0.
           MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              ENDIF.
              LOOP AT it_lgart INTO wa_lgart WHERE lgart = '5039'.
                "LTA
                LOOP AT it_payrt_result-inter-crt INTO wa_paycrt_result
                        WHERE lgart = '5039' AND cumty = 'C'.
                  w_lgtxt = wa_lgart-lgtxt.
                  w_lgart = wa_paycrt_result-betrg.
                  w_cumm  = wa_paycrt_result-betrg.
                ENDLOOP.
              ENDLOOP.
            ENDIF.
          ENDIF.
        ENDLOOP.
    **---Here we are looping through the RT table to get the LTA Exemptions
    *Amount....
        LOOP AT it_payrt_result-inter-rt INTO wa_payrt_result
                WHERE lgart = '/4E5'.                    "LTA Exemptions
          w_ltaexe = wa_payrt_result-betrg.
          wa_income-particular = w_lgtxt.
          wa_income-lgart      = w_lgart.
          wa_income-cumm       = w_cumm.
          wa_income-exem       = w_ltaexe.
        ENDLOOP.
    **---Here we are deducting the arrears amount from the original wagetype
    *of the
    **---arrear and then calculating the total of the annual column....
       CLEAR : wa_income.
       LOOP AT it_income INTO wa_income.
         CLEAR : w_wage.
         IF wa_income-lgart+0(1) = '5'.
           CONCATENATE '7' wa_income-lgart+1(3) INTO w_wage.
           READ TABLE it_income INTO wa_in WITH KEY lgart = w_wage.
           IF sy-subrc = 0.
             CLEAR : w_amount.
             w_amount = wa_in-annu.
             wa_income-annu = wa_income-annu - w_amount.
             MODIFY it_income FROM wa_income TRANSPORTING annu.
           ENDIF.
         ENDIF.
       ENDLOOP.
        APPEND LINES OF it_wage TO it_income.
    **---perform to get the data of the Investments of the employee...
        PERFORM f00_investmants USING wa_0001.
        LOOP AT it_income INTO wa_income.
          READ TABLE it_0000 INTO wa_0000 WITH KEY pernr = wa_0001-pernr
                                                   massn = 'GO'.
          IF sy-subrc EQ 0 AND wa_0000-begda0(6) = w_cdate0(6).
            CLEAR wa_income-proj.
            wa_income-annu = wa_income-cumm - wa_income-exem.
            MODIFY it_income FROM wa_income.
          ENDIF.
        ENDLOOP.
        LOOP AT it_income INTO wa_income.
          READ TABLE it_0000 INTO wa_0000 WITH KEY pernr = wa_0001-pernr
                                                   massn = 'FF'.
          IF sy-subrc EQ 0 AND wa_0000-begda0(6) = w_cdate0(6).
            CLEAR wa_income-proj.
            wa_income-annu = wa_income-cumm - wa_income-exem.
            MODIFY it_income FROM wa_income.
          ENDIF.
        ENDLOOP.
    **---Perform to reach to the Income chargable to Tax of the Employee....
        PERFORM f001_chargeable_income USING wa_0001.
    **---perform to display the data in IT form.....
        PERFORM f00_output_data TABLES it_income it_deduct it_invest
                                USING  wa_0001.
      ENDLOOP.
    ENDFORM.                    " f000_get_income
    *&      Form  f00_output_data
          text
         -->P_IT_INCOME  text
         -->P_WA_0001  text
    FORM f00_output_data  TABLES   p_it_income STRUCTURE wa_income
                                   p_it_deduct STRUCTURE wa_deduct
                                   p_it_invest STRUCTURE wa_invest
                          USING    p_wa_0001 TYPE pa0001.
      CLEAR : w_dept, w_desig, w_join.
      rp-provide-from-last p0001 space '18000101' '99991231'.
      rp-provide-from-frst p0000 space '18000101' '99991231'.
      w_join = p0000-begda.
      SELECT SINGLE plstx FROM t528t INTO w_desig
                      WHERE sprsl = 'E'
                      AND   plans = p0001-plans.
      SELECT SINGLE orgtx FROM t527x INTO w_dept
                    WHERE sprsl = 'E'
                    AND   orgeh = p0001-orgeh.
      WRITE : /.
      WRITE : / 'EMPLOYEE NUMBER :',
              p_wa_0001-pernr.
      WRITE AT 35 'EMPLOYEE NAME :'.
      WRITE : p_wa_0001-ename.
      WRITE : / 'DEPARTMENT      :',
              w_dept.
      WRITE AT 35 'DESIGNATION   :'.
      WRITE : w_desig.
      WRITE : / 'DATE OF JOINING :',
              w_join.
    **---Here we are starting the output of the IT Report....
      WRITE : /.
      ULINE.
      WRITE AT 28 'INCOME TAX CALCULATION'.
      ULINE.
      WRITE : /.
      WRITE : / 'Particulars'.
      WRITE AT 26 'Cummulative Total'.
      WRITE AT 45 'Add:Projected'.
      WRITE AT 61 'Less:Exempted'.
      WRITE AT 77 'Annual. Rs.'.
      WRITE : /.
      LOOP AT p_it_income INTO wa_income.
        CLEAR : wa_income1.
        WRITE wa_income-particular TO wa_income1-particular.
        WRITE wa_income-lgart RIGHT-JUSTIFIED TO wa_income1-lgart.
        WRITE wa_income-cumm RIGHT-JUSTIFIED TO wa_income1-cumm.
        WRITE wa_income-proj RIGHT-JUSTIFIED TO wa_income1-proj.
        WRITE wa_income-exem RIGHT-JUSTIFIED TO wa_income1-exem.
        WRITE wa_income-annu RIGHT-JUSTIFIED TO wa_income1-annu.
        APPEND wa_income1 TO it_income1.
      ENDLOOP.
      LOOP AT it_income1 INTO wa_income1.
        WRITE : / wa_income1-particular LEFT-JUSTIFIED UNDER 'Particulars',
                wa_income1-cumm       UNDER 'Cummulative Total',
                wa_income1-proj       UNDER 'Add:Projected',
                wa_income1-exem       UNDER 'Less:Exempted',
                wa_income1-annu       UNDER 'Annual. Rs.'.
         w_total = w_total + wa_income-annu.
     

  • Requirements for master

    Basic requirements for master data template.
    Infotype to be in the Indian implementation collecting master data template.
    Help me
    Thanks in avance

    Previous employer tax details
    (IT0580)     Info Type 0580 capture employees previous employment tax detail. In SAP, previous employment tax detail can be captured in Info type 0580. 
    Salary as per u/s 17 (1),Value of perquisite u/s 17 (2),  Profit in lieu of salary u/s 17 (3),  Exemptions u/s 10, Professional Tax, Provident fund, Income tax deducted, Medical exemption, Leave Encashment Exemption Amount , Gratuity Exemption Amount, LTA exemptions.     Indian specific Info types for Payroll
    House Rent Allowance
    (IT0581)     These info types capture employeeu2019s housing details. Housing (HRA / CLA/ COA). This info type captures if the employee is using own house or rented or company accommodation etc.      Indian specific Info types for Payroll
    Exemptions u2013 Subtypes
    LTA / MDA / CEA / CHA
    (IT0582)     The LTA subtype of the Exemptions Info type (0582) stores the details of the travel submitted as proof for Leave Travel Allowance (LTA) tax exemptions. The details in this subtype are used during the calculation of LTA tax exemption. This info type can be created at any point of time during a financial year. The info type records are read for the entire financial year. Each time there is a regular payroll run.
    The MDA subtype of the Exemptions Info type (0582) stores the details of the bills submitted as proofs for medical exemptions. This includes the details of proofs submitted for:
    u2022     Medical reimbursements
    u2022     Medical Insurance
    u2022     Medical reimbursement treated as insurance.
    The SCEA and SCHA subtypes of the Exemptions Info type (0582) stores the details of expenditure submitted as proofs for exemptions on child education and hostel allowances, respectively.
         Indian specific Info types for Payroll
    House Rent Allowance
    (IT0581)     These info types capture employeeu2019s housing details. Housing (HRA / CLA/ COA). This info type captures if the employee is using own house or rented or company accommodation etc.      Indian specific Info types for Payroll
    Car & Conveyance
    (IT0583)     This info type stores for an employee the details of the:
    u2022 Conveyance type
    u2022 Car and driver for the different Car Schemes     Indian specific Info types for Payroll
    Income from other sources  (IT0584)     This info type stores the details of income from sources other than that from your employment, for the current financial year.
    There are two subtypes to this info type:
    u2022     Subtype 0001 - Income From House Property
    u2022     Subtype 0002 - Income From Other Sources
         Indian specific Info types for Payroll
    Section 80 Deduction
    (IT0585)     This info type keeps a record of the proposed and actual contributions made by an employee towards Section 80 subsections and divisions.
    These info types capture employeeu2019s investment with respect to the  80CCC
    80CCC     Contribution to certain pension funds
    80D Medical Insurance Premium
    80DD Med Treatment / Depts. of handicapped dependents
    80DDB     Medical Treatment
    80E Repayment of loan for higher education
    80G Donations to certain funds, charitable .institution.
    80GG Deduction in respect of rent paid
    80GGA     Donation for Scientific/Rural Development
    80L Interest on Certain Securities/Dividends
    80RR Prof Income from Foreign Sources
    80RRA      Remuntn recvd for services rendrd abrd
    80U Permanent Physical Disability
         Indian specific Info types for Payroll
    Section 88 Deductions
    (0586)     This info type keeps a record of the proposed and actual investments made by an employee towards Section 88.     Indian specific Info types for Payroll
    Provident fund contribution (0587)     This object stores the Provident Fund information of an employee.
    This component helps you create and maintain information on employee Provident Fund. Provident Fund is a statutory contribution, and consists of two parts:
    1.     Provident Fund (PF) - Both, the employee and the employer, contribute a fixed percentage of the PF basis towards a Provident Fund. The minimum percentage contributed is as specified by the authorities.
    2.     Pension Fund - The employer contributes a fixed percentage of the PF basis towards the Pension Fund of an employee. The minimum percentage contributed is as specified by the authorities.
         Indian specific Info types for Payroll
    Other Statutory Deduction (0588)     There are three sub types to this info type:
    1.Subtype 0001 u2013 ESI Employees' State Insurance (ESI) is a benefit provided to any employee earning wages below a specified limit to provide for:
    u2022     Hospital facilities and out-patient facilities
    u2022     Medicines provided by the hospital
    u2022     Compensation in case of accident or death
    u2022     Leave subject to ESI hospitals or doctors certificate of ill-health.
    2. Sub type 0002 u2013 LWF Labour Welfare Fund (LWF) is a component of compensation provided to promote the welfare of Labour in the state. Employees who are eligible for LWF contribute a statutory amount to the LWF fund.
    3. Sub type 0003 u2013 PTX Professional Tax is a tax on employment and it is deducted from the wages payable to all employees with the exception of certain categories such as disabled and so on but may vary in different States as per the laws that govern them.
    Nominations (IT0591)     This info type stores the nomination details of employees for the following benefits:
    u2022        Employee State Insurance
    u2022        Gratuity
    u2022        Maternity Act
    u2022        Provident Fund
    u2022        Pension

  • IT 580 : Screen Details not visible

    While creating data in IT580 ( Previous Employment Tax Details).. The screen is not visible completely.
    Only following feields are visible :
    Pers. No.
    Name
    Category
    Location
    From & To date
    Previous Employment Tax Details :
    Leave Encahsment Exemption Amount
    Gratuity Exemption
    VRS Exemption
    No. of LTA Exempt
    LTA carried forward
    The screen is blank other than than the above mentioned, no details are visible.
    Could anyone resolve this query pls ???
    Rgds.. Pushkaraj

    Hello Pushkaraj,
    Can u plz check if hiring date of the employee is begin date of the Financial year. If this is the case then only following fields will be applicable for the Previous Employment Tax Details :
    1. Leave Encahsment Exemption Amount
    2. Gratuity Exemption
    3. VRS Exemption
    4. No. of LTA Exempt
    5. LTA carried forward
    this is because only thess exemptions can be adjusted/ carried forward to the current year from the previous year. Other components like previous gross salary , PF, Ptax, Income tax etc are not applicable for the cross financial year adjustemnt in such a case.
    U can test the same with a hiring date other than the begin date of the financial year. u will get the whole screen.
    Check and let me know if still its nt clear.
    Regards,
    Praveen

Maybe you are looking for

  • G5 Quad Pro Tools HD 7 System Crashes on Launch of Logic Pro 7.  WHY?

    Updated to Logic Pro 7.1.1 Program gets to Launching DAE on the startup screen and then unexpectedly quits. G5 Quad   Mac OS X (10.4.8)   Pro Tools installed G5 Quad   Mac OS X (10.4.8)   Pro Tools installed

  • Macbook Pro 4,1 (early 2008) is the DVI port analog or digital?

    I have been tasked with a slide show presentation on a family member's HD TV using my MacBook Pro 4,1. The TV is a slightly older big screen TV without HDMI inputs. I would lke to use the component (YPbPr) inputs on the TV rather than VGA. VGA degrad

  • Decision Tree training runtime error. Perform Pruning.

    Hello I get the error below when trying to train a decisio n tree model in RSANWB. The same model trained correctly before I selected Perform Pruning + Extended Pruning in the Parameters tab. Note 738285 seems to address a similar problem, but is not

  • Default Fund center in Sales Order

    Hi,      I want to know can we do the settings for default Fund center  we have 5 company code and one plant and sales organization for each compnay code,  our fund center is different for all company code,  whenever we create the sales order we have

  • Using adobe after effects templates in fcpx

    Is it possible to use an adobe after effects template in motion 5 or fcpx? If so how do I go about doing this? I am fairly new to this and i found a template that i would really like to use for a football highlight video that i am putting together. T