<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to debug a program when it is SUBMITed from another program in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314537#M507311</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Balaji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 22 May 2007 07:14:10 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-22T07:14:10Z</dc:date>
    <item>
      <title>How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314537#M507311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Balaji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:14:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314537#M507311</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T07:14:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314538#M507312</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Go to the program execution of first program. Execute /h in the command prompt. Now execute the program. Control will go to first program. After the execution of the submit command of first program, control will go to second program.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:17:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314538#M507312</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T07:17:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314539#M507313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt;Even when I keep a break point in Z program1, it is not triggering there&lt;/P&gt;&lt;P&gt;Try to put a break-point to program2.&lt;/P&gt;&lt;P&gt;Also check if it's not a system program. If so, you have to go to system debugging (/hs).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:18:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314539#M507313</guid>
      <dc:creator>Peter_Inotai</dc:creator>
      <dc:date>2007-05-22T07:18:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314540#M507314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually it is not going to the START-OF-SELECTION  of the program. any help?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Balaji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:21:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314540#M507314</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T07:21:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314541#M507315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can u copy the code??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:23:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314541#M507315</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T07:23:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314542#M507316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Put a break point in the submit statement of your program and see why it is not triggering start-of-selection event.&lt;/P&gt;&lt;P&gt;Maybe you have to use the submit with statement if there are any obligatory select-options or parameters in the calling program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kostas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:25:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314542#M507316</guid>
      <dc:creator>kostas_tsioubris</dc:creator>
      <dc:date>2007-05-22T07:25:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314543#M507317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi balaji &lt;/P&gt;&lt;P&gt; put a breakpoint just above of select statement and check whether ur code is entering into ur select statement or not &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewards if helpfull&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:27:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314543#M507317</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T07:27:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314544#M507318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find the code below.   Also there are no obligatory fields in the called program using SUBMIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT pernr.&lt;/P&gt;&lt;P&gt;  CLEAR p_job.&lt;/P&gt;&lt;P&gt;  p_stim = p_stim + 120.&lt;/P&gt;&lt;P&gt;  CONCATENATE'ITSlip' pernr-low p_job sy-datum INTO p_job SEPARATED BY&lt;/P&gt;&lt;P&gt;space.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'JOB_OPEN'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      jobname  = p_job&lt;/P&gt;&lt;P&gt;      sdlstrtdt = p_sdat&lt;/P&gt;&lt;P&gt;      sdlstrttm = p_stim&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      jobcount = l_jobcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SUBMIT zpr022_inncometax_report_copy1&lt;/P&gt;&lt;P&gt;    WITH pnptimr6 = 'X'&lt;/P&gt;&lt;P&gt;    WITH pnpbegda = period-low&lt;/P&gt;&lt;P&gt;    WITH pnpendda = period-high&lt;/P&gt;&lt;P&gt;    WITH pnppernr-low = pernr-low&lt;/P&gt;&lt;P&gt;    WITH pnpabkrs-low = 'IN'&lt;/P&gt;&lt;P&gt;       VIA JOB     p_job&lt;/P&gt;&lt;P&gt;        NUMBER  l_jobcount&lt;/P&gt;&lt;P&gt;       TO SAP-SPOOL WITHOUT SPOOL DYNPRO&lt;/P&gt;&lt;P&gt;           SPOOL PARAMETERS ls_params&lt;/P&gt;&lt;P&gt;           WITH immediately = space&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          KEEP IN SPOOL = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'JOB_CLOSE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      jobcount  = l_jobcount&lt;/P&gt;&lt;P&gt;      jobname   = p_job&lt;/P&gt;&lt;P&gt;      strtimmed = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PRDMINS = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      sdlstrtdt = p_sdat&lt;/P&gt;&lt;P&gt;      sdlstrttm = p_stim.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:28:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314544#M507318</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T07:28:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314545#M507319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try to submit the report without the job open and job close statements and see if it running correctly. When the report triggers the submit statement what sy-subrc is returning?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SUBMIT zpr022_inncometax_report_copy1&lt;/P&gt;&lt;P&gt;WITH pnptimr6 = 'X'&lt;/P&gt;&lt;P&gt;WITH pnpbegda = period-low&lt;/P&gt;&lt;P&gt;WITH pnpendda = period-high&lt;/P&gt;&lt;P&gt;WITH pnppernr-low = pernr-low&lt;/P&gt;&lt;P&gt;WITH pnpabkrs-low = 'IN'&lt;/P&gt;&lt;P&gt;*VIA JOB p_job&lt;/P&gt;&lt;P&gt;*NUMBER l_jobcount&lt;/P&gt;&lt;P&gt;*TO SAP-SPOOL WITHOUT SPOOL DYNPRO&lt;/P&gt;&lt;P&gt;*SPOOL PARAMETERS ls_params&lt;/P&gt;&lt;P&gt;*WITH immediately = space&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;KEEP IN SPOOL = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AND RETURN.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:40:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314545#M507319</guid>
      <dc:creator>kostas_tsioubris</dc:creator>
      <dc:date>2007-05-22T07:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314546#M507320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1. Please do not submit within loop , if possible.&lt;/P&gt;&lt;P&gt;2. Check if the Program2 is Active .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 07:45:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314546#M507320</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T07:45:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314547#M507321</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for all your replies.  But still it is not triggering.  If I put INITIALIZATION in the called (SUBMITed) program, it is triggering there, but immediately it s coming out of it and not breaking at start-of-selection.  Also I need JOB_OPEN and JOB_CLOSE to be there for creating the job.  &lt;/P&gt;&lt;P&gt;I want to know one thing, since we are submitting the program using JOB and SPOOL, does this prevents debugging the called (SUBMITed) program?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Balaji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 08:46:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314547#M507321</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T08:46:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314548#M507322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok then post ur full code so that it may be helpfull to solve us ur problem &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 09:10:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314548#M507322</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T09:10:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314549#M507323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find the full code.  I want to debug the sub routine PERFORM send_mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.  The main program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_ITSLIP_MAIL                           .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : pa0000, pa0001.                         .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : pernr FOR pa0000-pernr NO INTERVALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : count LIKE tbtcjob-jobcount.&lt;/P&gt;&lt;P&gt;DATA : released LIKE btch0000-char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;        l_valid,&lt;/P&gt;&lt;P&gt;        ls_params LIKE pri_params,&lt;/P&gt;&lt;P&gt;        l_jobcount LIKE tbtcjob-jobcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_job TYPE tbtcjob-jobname NO-DISPLAY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_prog(30) TYPE c NO-DISPLAY..&lt;/P&gt;&lt;P&gt;PARAMETERS: p_sdat LIKE sy-datum DEFAULT sy-datum .&lt;/P&gt;&lt;P&gt;PARAMETERS: p_stim TYPE sy-uzeit DEFAULT sy-uzeit .&lt;/P&gt;&lt;P&gt;PARAMETERS : payroll LIKE qppnp-xabkr OBLIGATORY.&lt;/P&gt;&lt;P&gt;*PARAMETERS : period LIKE qppnp-pabrp OBLIGATORY.&lt;/P&gt;&lt;P&gt;*PARAMETERS : year LIKE qppnp-pabrj OBLIGATORY.&lt;/P&gt;&lt;P&gt;select-options : Period for sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_p0001 OCCURS 0,&lt;/P&gt;&lt;P&gt;       pernr LIKE pa0001-pernr,&lt;/P&gt;&lt;P&gt;       END OF it_p0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_sdat = p_sdat + 1.&lt;/P&gt;&lt;P&gt;*Get Print Parameters&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GET_PRINT_PARAMETERS'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    no_dialog      = 'X'&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;    valid          = l_valid&lt;/P&gt;&lt;P&gt;    out_parameters = ls_params.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF pernr[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SELECT pernr&lt;/P&gt;&lt;P&gt;   INTO TABLE it_p0001&lt;/P&gt;&lt;P&gt;   FROM pa0001.&lt;/P&gt;&lt;P&gt;  SORT it_p0001 BY pernr.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM it_p0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_p0001.&lt;/P&gt;&lt;P&gt;    MOVE it_p0001-pernr TO pernr-low.&lt;/P&gt;&lt;P&gt;    APPEND pernr.&lt;/P&gt;&lt;P&gt;    CLEAR pernr.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT pernr.&lt;/P&gt;&lt;P&gt;  CLEAR p_job.&lt;/P&gt;&lt;P&gt;  p_stim = p_stim + 120.&lt;/P&gt;&lt;P&gt;  CONCATENATE'ITSlip' pernr-low p_job sy-datum INTO p_job SEPARATED BY&lt;/P&gt;&lt;P&gt;space.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'JOB_OPEN'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      jobname  = p_job&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      jobcount = l_jobcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SUBMIT ZPR022_INNCOMETAX_REPORT_copy&lt;/P&gt;&lt;P&gt;    WITH PNPTIMR6 = 'X'&lt;/P&gt;&lt;P&gt;    WITH PNPBEGDA = period-low&lt;/P&gt;&lt;P&gt;    WITH PNPENDDA = period-high&lt;/P&gt;&lt;P&gt;    WITH PNPPERNR-LOW = PERNR-LOW&lt;/P&gt;&lt;P&gt;    WITH PNPABKRS-LOW = 'IN'&lt;/P&gt;&lt;P&gt;       VIA JOB     p_job&lt;/P&gt;&lt;P&gt;        NUMBER  l_jobcount&lt;/P&gt;&lt;P&gt;       TO SAP-SPOOL WITHOUT SPOOL DYNPRO&lt;/P&gt;&lt;P&gt;           SPOOL PARAMETERS ls_params&lt;/P&gt;&lt;P&gt;           WITH immediately = space&lt;/P&gt;&lt;P&gt;              AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'JOB_CLOSE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      jobcount  = l_jobcount&lt;/P&gt;&lt;P&gt;      jobname   = p_job&lt;/P&gt;&lt;P&gt;      strtimmed = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PRDMINS = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      sdlstrtdt = p_sdat&lt;/P&gt;&lt;P&gt;      sdlstrttm = p_stim.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.  The called program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zpr022_inncometax_report_copy NO STANDARD PAGE HEADING LINE-SIZE&lt;/P&gt;&lt;P&gt;89.&lt;/P&gt;&lt;P&gt;TABLES : pernr, t512e, t512t,pa0105.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;INFOTYPES : 0000, 0001, 0008, 0580.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Types                    Begin with TY_&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;DATA : BEGIN OF wa_lgart,&lt;/P&gt;&lt;P&gt;       lgart TYPE t512e-lgart,&lt;/P&gt;&lt;P&gt;       windo TYPE t512e-windo,&lt;/P&gt;&lt;P&gt;       slart TYPE t512e-slart,&lt;/P&gt;&lt;P&gt;       lgtxt TYPE t512t-lgtxt,&lt;/P&gt;&lt;P&gt;       kztxt TYPE t512t-kztxt,&lt;/P&gt;&lt;P&gt;       END OF wa_lgart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF wa_income,&lt;/P&gt;&lt;P&gt;       particular(24) TYPE c,&lt;/P&gt;&lt;P&gt;       lgart    TYPE lgart,&lt;/P&gt;&lt;P&gt;       cumm(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       proj(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       exem(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       annu(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       END OF wa_income.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF wa_income1,&lt;/P&gt;&lt;P&gt;       particular(24) TYPE c,&lt;/P&gt;&lt;P&gt;       lgart    TYPE lgart,&lt;/P&gt;&lt;P&gt;       cumm(13) TYPE c,&lt;/P&gt;&lt;P&gt;       proj(13) TYPE c,&lt;/P&gt;&lt;P&gt;       exem(13) TYPE c,&lt;/P&gt;&lt;P&gt;       annu(13) TYPE c,&lt;/P&gt;&lt;P&gt;       END OF wa_income1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF wa_invest,&lt;/P&gt;&lt;P&gt;       particular(40) TYPE c,&lt;/P&gt;&lt;P&gt;       betrg(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       END OF wa_invest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF wa_invest1,&lt;/P&gt;&lt;P&gt;       particular(40) TYPE c,&lt;/P&gt;&lt;P&gt;       betrg(13) TYPE c,&lt;/P&gt;&lt;P&gt;       END OF wa_invest1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF wa_deduct,&lt;/P&gt;&lt;P&gt;       particular(40) TYPE c,&lt;/P&gt;&lt;P&gt;       sbs TYPE pin_sbsec,&lt;/P&gt;&lt;P&gt;       betrg(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       END OF wa_deduct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF wa_deduct1,&lt;/P&gt;&lt;P&gt;       particular(40) TYPE c,&lt;/P&gt;&lt;P&gt;       sbs TYPE c,&lt;/P&gt;&lt;P&gt;       betrg(13) TYPE c,&lt;/P&gt;&lt;P&gt;       END OF wa_deduct1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF cocd OCCURS 10.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE pincc.&lt;/P&gt;&lt;P&gt;DATA: END OF cocd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF f16 OCCURS 10.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE pin16.&lt;/P&gt;&lt;P&gt;DATA: END OF f16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Constants                Begin with C_&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Data                     Begin with W_&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;DATA : w_clstrid TYPE t500l-relid,         "Cluster ID&lt;/P&gt;&lt;P&gt;       w_molga   TYPE t500p-molga,         "Country Code&lt;/P&gt;&lt;P&gt;       w_period(6) TYPE c,&lt;/P&gt;&lt;P&gt;       w_var(2) TYPE n,&lt;/P&gt;&lt;P&gt;       w_pr_from1 TYPE t569v-pabrj,        "year&lt;/P&gt;&lt;P&gt;       w_pr_to1 TYPE t569v-pabrp,          "period&lt;/P&gt;&lt;P&gt;       w_fpper-low1 TYPE pc261-fpper,&lt;/P&gt;&lt;P&gt;       w_year(4) TYPE n,&lt;/P&gt;&lt;P&gt;       w_ltaexe(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_cumm(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_lgtxt(20) TYPE c,&lt;/P&gt;&lt;P&gt;       w_lgart     TYPE lgart,&lt;/P&gt;&lt;P&gt;       w_amount(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_wage(4)   TYPE c,&lt;/P&gt;&lt;P&gt;       w_flag(1) TYPE c,&lt;/P&gt;&lt;P&gt;       w_total(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_start TYPE sy-datum,&lt;/P&gt;&lt;P&gt;       w_end   TYPE sy-datum,&lt;/P&gt;&lt;P&gt;       w_date  TYPE sy-datum,&lt;/P&gt;&lt;P&gt;       w_index(2) TYPE n VALUE 00,&lt;/P&gt;&lt;P&gt;       w_investnm(40),&lt;/P&gt;&lt;P&gt;       w_investnm1(40),&lt;/P&gt;&lt;P&gt;       w_ded0585(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_itext TYPE t7ini3-itext,&lt;/P&gt;&lt;P&gt;       w_dtext TYPE t7ini8-sbdds,&lt;/P&gt;&lt;P&gt;       w_inprvemp(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_nettaxin(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_ptaxprvemp(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_ptaxcremp(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_othtaxin(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_gssin(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_dedtot(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_invtot(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_inchrtax(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_nettaxpay(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_surchr(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_cess(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_totintax(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_tdsothin(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_cessrec(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_prvemp(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_tottaxpay(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_var1(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_var2(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_balit(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_avgmon(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_remmon(2) TYPE n,&lt;/P&gt;&lt;P&gt;       w_profund(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_pf(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_dept(25) TYPE c,&lt;/P&gt;&lt;P&gt;       w_desig(25) TYPE c,&lt;/P&gt;&lt;P&gt;       w_join TYPE sy-datum,&lt;/P&gt;&lt;P&gt;       w_annperk(13) TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;       w_percent TYPE pin_txexm,&lt;/P&gt;&lt;P&gt;       w_limit TYPE pin_sdvlt,&lt;/P&gt;&lt;P&gt;       w_st0008  TYPE sy-datum,&lt;/P&gt;&lt;P&gt;       w_en0008  TYPE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_cmonth(2) TYPE n,&lt;/P&gt;&lt;P&gt;      w_cyear(4)  TYPE n,&lt;/P&gt;&lt;P&gt;      w_cdate LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      w_ldate LIKE sy-datum.&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Internal tables          Begin with IT_&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;DATA : it_0001 TYPE STANDARD TABLE OF pa0001,&lt;/P&gt;&lt;P&gt;       it_data TYPE STANDARD TABLE OF pa0001,&lt;/P&gt;&lt;P&gt;       it_0000 TYPE STANDARD TABLE OF pa0000,&lt;/P&gt;&lt;P&gt;       it_lgart LIKE STANDARD TABLE OF wa_lgart,&lt;/P&gt;&lt;P&gt;       it_pc261 TYPE STANDARD TABLE OF pc261,&lt;/P&gt;&lt;P&gt;       it_payrt_result TYPE payin_result,&lt;/P&gt;&lt;P&gt;       it_income LIKE STANDARD TABLE OF wa_income,&lt;/P&gt;&lt;P&gt;       it_income1 LIKE STANDARD TABLE OF wa_income1,&lt;/P&gt;&lt;P&gt;       it_wage   LIKE it_income,&lt;/P&gt;&lt;P&gt;       it_invest LIKE STANDARD TABLE OF wa_invest,&lt;/P&gt;&lt;P&gt;       it_invest1 LIKE STANDARD TABLE OF wa_invest1,&lt;/P&gt;&lt;P&gt;       it_deduct LIKE STANDARD TABLE OF wa_deduct,&lt;/P&gt;&lt;P&gt;       it_deduct1 LIKE STANDARD TABLE OF wa_deduct1,&lt;/P&gt;&lt;P&gt;       it_0586 TYPE STANDARD TABLE OF pa0586,&lt;/P&gt;&lt;P&gt;       it_0580 TYPE STANDARD TABLE OF pa0580,&lt;/P&gt;&lt;P&gt;       it_0584 TYPE STANDARD TABLE OF pa0584,&lt;/P&gt;&lt;P&gt;       it_0585 TYPE STANDARD TABLE OF pa0585,&lt;/P&gt;&lt;P&gt;       it_t7ini3 TYPE STANDARD TABLE OF t7ini3,&lt;/P&gt;&lt;P&gt;       it_info TYPE STANDARD TABLE OF zpt011_fep_pay,&lt;/P&gt;&lt;P&gt;       it_0008 TYPE STANDARD TABLE OF pa0008,&lt;/P&gt;&lt;P&gt;       it_rt TYPE STANDARD TABLE OF pbwla WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA    : p_email1 LIKE somlreci1-receiver,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 DEFAULT 'tripti_lalvani@mindtree.com'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*,&lt;/P&gt;&lt;P&gt;           p_sender LIKE somlreci1-receiver.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     DEFAULT 'test123@sapdev.co.uk',&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION&lt;/P&gt;&lt;P&gt;DATA: gd_recsize TYPE i.&lt;/P&gt;&lt;P&gt;data: date like sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Spool IDs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF t_tbtcp.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE tbtcp.&lt;/P&gt;&lt;P&gt;TYPES: END OF t_tbtcp.&lt;/P&gt;&lt;P&gt;DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_tbtcp TYPE t_tbtcp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Job Runtime Parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: gd_eventid LIKE tbtcm-eventid,&lt;/P&gt;&lt;P&gt;      gd_eventparm LIKE tbtcm-eventparm,&lt;/P&gt;&lt;P&gt;      gd_external_program_active LIKE tbtcm-xpgactive,&lt;/P&gt;&lt;P&gt;      gd_jobcount LIKE tbtcm-jobcount,&lt;/P&gt;&lt;P&gt;      gd_jobname LIKE tbtcm-jobname,&lt;/P&gt;&lt;P&gt;      gd_stepcount LIKE tbtcm-stepcount,&lt;/P&gt;&lt;P&gt;      gd_error    TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;      gd_reciever TYPE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  w_recsize TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_subject   LIKE sodocchgi1-obj_descr,&lt;/P&gt;&lt;P&gt;      it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      gd_sender_type     LIKE soextreci1-adr_typ,&lt;/P&gt;&lt;P&gt;      gd_attachment_desc TYPE so_obj_nam,&lt;/P&gt;&lt;P&gt;      gd_attachment_name TYPE so_obj_des.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Spool to PDF conversions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: gd_spool_nr LIKE tsp01-rqident,&lt;/P&gt;&lt;P&gt;      gd_destination LIKE rlgrap-filename,&lt;/P&gt;&lt;P&gt;      gd_bytecount LIKE tst01-dsize,&lt;/P&gt;&lt;P&gt;      gd_buffer TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Binary store for PDF&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF it_pdf_output OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE tline.&lt;/P&gt;&lt;P&gt;DATA: END OF it_pdf_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',&lt;/P&gt;&lt;P&gt;           c_no(1)     TYPE c   VALUE ' ',&lt;/P&gt;&lt;P&gt;           c_device(4) TYPE c   VALUE 'LOCL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Work Area                Begin with WA_&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;DATA : wa_0001 LIKE LINE OF it_0001,&lt;/P&gt;&lt;P&gt;       wa_data LIKE LINE OF it_data,&lt;/P&gt;&lt;P&gt;       wa_0000 LIKE LINE OF it_0000,&lt;/P&gt;&lt;P&gt;       wa_pc261 LIKE LINE OF it_pc261,&lt;/P&gt;&lt;P&gt;       wa_payrt_result TYPE LINE OF hrpay99_rt,&lt;/P&gt;&lt;P&gt;       wa_paycrt_result TYPE LINE OF hrpay99_crt,&lt;/P&gt;&lt;P&gt;       wa_0586 LIKE LINE OF it_0586,&lt;/P&gt;&lt;P&gt;       wa_0580 LIKE LINE OF it_0580,&lt;/P&gt;&lt;P&gt;       wa_0584 LIKE LINE OF it_0584,&lt;/P&gt;&lt;P&gt;       wa_0585 LIKE LINE OF it_0585,&lt;/P&gt;&lt;P&gt;       wa_t7ini3 LIKE LINE OF it_t7ini3,&lt;/P&gt;&lt;P&gt;       wa_in LIKE LINE OF it_income,&lt;/P&gt;&lt;P&gt;       wa_info LIKE LINE OF it_info,&lt;/P&gt;&lt;P&gt;       wa_0008 LIKE LINE OF it_0008,&lt;/P&gt;&lt;P&gt;       wa_wage LIKE wa_income,&lt;/P&gt;&lt;P&gt;       wa_rt TYPE pbwla.&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Field Symbols            Begin with FS_&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;itc&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;ain&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;amt&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;sbdnn&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;tot&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Select Options          Begin with SO_&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*SELECT-OPTIONS :&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Parameters              Begin with PR_&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*PARAMETERS     :&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Initialisation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;date = sy-datum.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Selection-Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      S T A R T   O F   S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM pa0001 INTO CORRESPONDING FIELDS OF TABLE it_0001&lt;/P&gt;&lt;P&gt;                WHERE pernr IN pnppernr&lt;/P&gt;&lt;P&gt;                AND   abkrs IN pnpabkrs&lt;/P&gt;&lt;P&gt;                AND   bukrs IN pnpbukrs.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM it_0001 COMPARING pernr.&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;  SELECT * FROM pa0000 INTO CORRESPONDING FIELDS OF TABLE it_0000&lt;/P&gt;&lt;P&gt;                WHERE pernr IN pnppernr.&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT   t512e~lgart&lt;/P&gt;&lt;P&gt;           t512e~slart&lt;/P&gt;&lt;P&gt;           t512t~lgtxt&lt;/P&gt;&lt;P&gt;           t512t~kztxt&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE it_lgart&lt;/P&gt;&lt;P&gt;           FROM t512e INNER JOIN t512t ON&lt;/P&gt;&lt;P&gt;                                 t512e&lt;SUB&gt;lgart = t512t&lt;/SUB&gt;lgart AND&lt;/P&gt;&lt;P&gt;                                 t512e&lt;SUB&gt;molga = t512t&lt;/SUB&gt;molga&lt;/P&gt;&lt;P&gt;           WHERE t512e~forml = 'ZPY2' AND&lt;/P&gt;&lt;P&gt;                 t512t~sprsl = sy-langu AND&lt;/P&gt;&lt;P&gt;                 t512e~molga = '40' AND&lt;/P&gt;&lt;P&gt;                 t512e~windo EQ 'W1' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_lgart INTO wa_lgart WHERE lgart+0(1) EQ '/'.&lt;/P&gt;&lt;P&gt;    DELETE it_lgart.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT it_lgart BY lgart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the start and the End of the financial year...&lt;/P&gt;&lt;P&gt;  CLEAR : w_date, w_start, w_end, w_year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_date = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we get the start date of the year.....&lt;/P&gt;&lt;P&gt;  IF w_date+4(2) BETWEEN '01' AND '04'.&lt;/P&gt;&lt;P&gt;    w_year = w_date+0(4).&lt;/P&gt;&lt;P&gt;    w_year = w_year - 1.&lt;/P&gt;&lt;P&gt;    CONCATENATE w_year '04' '01' INTO w_start.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE w_date+0(4) '04' '01' INTO w_start.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we get the end date of the year......&lt;/P&gt;&lt;P&gt;  CLEAR : w_year.&lt;/P&gt;&lt;P&gt;  IF w_date+4(2) BETWEEN '01' AND '04'.&lt;/P&gt;&lt;P&gt;    CONCATENATE w_date+0(4) '03' '31' INTO w_end.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    w_year = w_date+0(4).&lt;/P&gt;&lt;P&gt;    w_year = w_year + 1.&lt;/P&gt;&lt;P&gt;    CONCATENATE w_year '03' '31' INTO w_end.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : w_year.&lt;/P&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      E N D       O F   S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;**---perform for getting the Income tax Calculation part....&lt;/P&gt;&lt;P&gt;  PERFORM f000_get_income.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM send_mail.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      User Command Processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*AT USER-COMMAND.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Top Of Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  WRITE : / 'Mindtree Consulting Pvt Ltd',&lt;/P&gt;&lt;P&gt;          / 'No.42, 27th Cross',&lt;/P&gt;&lt;P&gt;          / '2nd Stage, Banashankari',&lt;/P&gt;&lt;P&gt;          / 'Bangalore - 560070'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f000_get_income&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_0001  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_LGART  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f000_get_income.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_0001 INTO wa_0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : wa_invest, wa_deduct, wa_income.&lt;/P&gt;&lt;P&gt;    REFRESH : it_invest, it_deduct, it_income.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE pnppabrj pnppabrp INTO w_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Earnings in India from RT Table...&lt;/P&gt;&lt;P&gt;**---Getting the relid for each employee....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'PYXX_GET_RELID_FROM_PERNR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        employee                    = wa_0001-pernr&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        relid                       = w_clstrid&lt;/P&gt;&lt;P&gt;        molga                       = w_molga&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        error_reading_infotype_0001 = 1&lt;/P&gt;&lt;P&gt;        error_reading_molga         = 2&lt;/P&gt;&lt;P&gt;        error_reading_relid         = 3&lt;/P&gt;&lt;P&gt;        OTHERS                      = 4.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Reading the rgdir of cluster 'CU' for each of the employees...&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CU_READ_RGDIR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        persnr          = wa_0001-pernr&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        in_rgdir        = it_pc261&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        no_record_found = 1&lt;/P&gt;&lt;P&gt;        OTHERS          = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : w_lgtxt, w_cumm, w_ltaexe, w_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_pc261 INTO wa_pc261 WHERE fpper = w_period&lt;/P&gt;&lt;P&gt;                                   AND   srtza  = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Importing the Payroll cluster results for each employee from RT....&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          clusterid                    = w_clstrid&lt;/P&gt;&lt;P&gt;          employeenumber               = wa_0001-pernr&lt;/P&gt;&lt;P&gt;          sequencenumber               = wa_pc261-seqnr&lt;/P&gt;&lt;P&gt;        CHANGING&lt;/P&gt;&lt;P&gt;          payroll_result               = it_payrt_result&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          illegal_isocode_or_clusterid = 1&lt;/P&gt;&lt;P&gt;          error_generating_import      = 2&lt;/P&gt;&lt;P&gt;          import_mismatch_error        = 3&lt;/P&gt;&lt;P&gt;          subpool_dir_full             = 4&lt;/P&gt;&lt;P&gt;          no_read_authority            = 5&lt;/P&gt;&lt;P&gt;          no_record_found              = 6&lt;/P&gt;&lt;P&gt;          versions_do_not_match        = 7&lt;/P&gt;&lt;P&gt;          error_reading_archive        = 8&lt;/P&gt;&lt;P&gt;          error_reading_relid          = 9&lt;/P&gt;&lt;P&gt;          OTHERS                       = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Processing....&lt;/P&gt;&lt;P&gt;      LOOP AT it_lgart INTO wa_lgart.&lt;/P&gt;&lt;P&gt;        CLEAR : wa_income.&lt;/P&gt;&lt;P&gt;        IF wa_lgart-lgart NE '5004' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5007' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5008' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5011' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5012' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5014' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5017' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5018' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5027' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5029' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5031' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5039' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '5060' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7004' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7007' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7008' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7011' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7012' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7014' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7017' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7018' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7027' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7029' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7031' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7039' AND&lt;/P&gt;&lt;P&gt;           wa_lgart-lgart NE '7060'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT it_payrt_result-inter-crt INTO wa_paycrt_result&lt;/P&gt;&lt;P&gt;                  WHERE cumty = 'Y' AND lgart EQ wa_lgart-lgart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF wa_lgart-lgart+0(1) = '7'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              LOOP AT it_payrt_result-inter-crt INTO wa_paycrt_result&lt;/P&gt;&lt;P&gt;                       WHERE cumty = 'M' AND lgart EQ wa_lgart-lgart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                READ TABLE it_payrt_result-inter-rt INTO&lt;/P&gt;&lt;P&gt;                           wa_payrt_result WITH&lt;/P&gt;&lt;P&gt;                           KEY lgart = wa_lgart-lgart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  wa_income-particular = wa_lgart-lgtxt.&lt;/P&gt;&lt;P&gt;                  wa_income-lgart      = wa_paycrt_result-lgart.&lt;/P&gt;&lt;P&gt;                  wa_income-cumm       = wa_paycrt_result-betrg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              wa_income-particular = wa_lgart-lgtxt.&lt;/P&gt;&lt;P&gt;              wa_income-lgart      = wa_paycrt_result-lgart.&lt;/P&gt;&lt;P&gt;              wa_income-cumm       = wa_paycrt_result-betrg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REFRESH : it_0008.&lt;/P&gt;&lt;P&gt;          CLEAR : wa_0008.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM f010_get_date USING pnppabrp pnppabrj.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'SG_PS_GET_LAST_DAY_OF_MONTH'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              day_in            = w_cdate&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              last_day_of_month = w_ldate&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;              day_in_not_valid  = 1&lt;/P&gt;&lt;P&gt;              OTHERS            = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SELECT * FROM pa0008 INTO CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;                   it_0008 WHERE pernr = wa_0001-pernr&lt;/P&gt;&lt;P&gt;                           AND   begda &amp;lt;= w_cdate&lt;/P&gt;&lt;P&gt;                           AND   endda &amp;gt;= w_ldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF it_0008 IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            SELECT * FROM pa0008 INTO CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;                     it_0008 WHERE pernr = wa_0001-pernr&lt;/P&gt;&lt;P&gt;                             AND   begda BETWEEN w_cdate AND w_ldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF it_0008 IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              SELECT * FROM pa0008 INTO CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;                    it_0008 WHERE pernr = wa_0001-pernr&lt;/P&gt;&lt;P&gt;                            AND   begda = w_cdate.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR : w_st0008, w_en0008.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT it_0008 INTO wa_0008.&lt;/P&gt;&lt;P&gt;            w_st0008 = wa_0008-begda.&lt;/P&gt;&lt;P&gt;            w_en0008 = wa_0008-endda.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR : wa_rt.&lt;/P&gt;&lt;P&gt;          REFRESH : it_rt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'RP_FILL_WAGE_TYPE_TABLE'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              begda                        = w_st0008&lt;/P&gt;&lt;P&gt;              endda                        = w_en0008&lt;/P&gt;&lt;P&gt;              infty                        = '0008'&lt;/P&gt;&lt;P&gt;              pernr                        = wa_0001-pernr&lt;/P&gt;&lt;P&gt;            TABLES&lt;/P&gt;&lt;P&gt;              ppbwla                       = it_rt&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;              error_at_indirect_evaluation = 1&lt;/P&gt;&lt;P&gt;              OTHERS                       = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT it_rt INTO wa_rt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR : w_var.&lt;/P&gt;&lt;P&gt;            IF wa_rt-lgart         = '5000' AND         "Basic&lt;/P&gt;&lt;P&gt;               wa_lgart-lgart        = '5000'.&lt;/P&gt;&lt;P&gt;              w_var = 12 - pnppabrp.&lt;/P&gt;&lt;P&gt;              wa_income-proj = wa_rt-betrg * w_var.&lt;/P&gt;&lt;P&gt;              wa_income-lgart = wa_rt-lgart.&lt;/P&gt;&lt;P&gt;**---Here we are checking for the arrers of Basic to deduct from the&lt;/P&gt;&lt;P&gt;*cummulation amount...&lt;/P&gt;&lt;P&gt;              READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                         WITH KEY lgart = '7000'.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF wa_rt-lgart         = '5001' AND         "HRA&lt;/P&gt;&lt;P&gt;               wa_lgart-lgart        = '5001'.&lt;/P&gt;&lt;P&gt;              w_var = 12 - pnppabrp.&lt;/P&gt;&lt;P&gt;              wa_income-proj = wa_rt-betrg * w_var.&lt;/P&gt;&lt;P&gt;              wa_income-lgart = wa_rt-lgart.&lt;/P&gt;&lt;P&gt;**---Here we are checking for the arrers of HRA to deduct from the&lt;/P&gt;&lt;P&gt;*cummulation amount...&lt;/P&gt;&lt;P&gt;              READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                         WITH KEY lgart = '7001'.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF wa_rt-lgart         = '5003' AND         "Conveyance&lt;/P&gt;&lt;P&gt;               wa_lgart-lgart        = '5003'.&lt;/P&gt;&lt;P&gt;              w_var = 12 - pnppabrp.&lt;/P&gt;&lt;P&gt;              wa_income-proj = wa_rt-betrg * w_var.&lt;/P&gt;&lt;P&gt;              wa_income-lgart = wa_rt-lgart.&lt;/P&gt;&lt;P&gt;**---Here we are checking for the arrers of Conveyance to deduct from&lt;/P&gt;&lt;P&gt;*the cummulation amount...&lt;/P&gt;&lt;P&gt;              READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                         WITH KEY lgart = '7003'.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF wa_rt-lgart         = '5005' AND         "Special Pay&lt;/P&gt;&lt;P&gt;               wa_lgart-lgart        = '5005'.&lt;/P&gt;&lt;P&gt;              w_var = 12 - pnppabrp.&lt;/P&gt;&lt;P&gt;              wa_income-proj = wa_rt-betrg * w_var.&lt;/P&gt;&lt;P&gt;              wa_income-lgart = wa_rt-lgart.&lt;/P&gt;&lt;P&gt;**---Here we are checking for the arrers of Special pay to deduct from&lt;/P&gt;&lt;P&gt;*the cummulation amount...&lt;/P&gt;&lt;P&gt;              READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                         WITH KEY lgart = '7005'.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF wa_rt-lgart         = '5002' AND         "CLA&lt;/P&gt;&lt;P&gt;               wa_lgart-lgart        = '5002'.&lt;/P&gt;&lt;P&gt;              w_var = 12 - pnppabrp.&lt;/P&gt;&lt;P&gt;              wa_income-proj = wa_rt-betrg * w_var.&lt;/P&gt;&lt;P&gt;              wa_income-lgart = wa_rt-lgart.&lt;/P&gt;&lt;P&gt;**---Here we are checking for the arrers of CLA to deduct from the&lt;/P&gt;&lt;P&gt;*cummulation amount...&lt;/P&gt;&lt;P&gt;              READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                         WITH KEY lgart = '7002'.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         LOOP AT it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 WHERE lgart = wa_lgart-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CLEAR : w_var.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF wa_payrt_result-lgart = '5000' AND         "Basic&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              wa_lgart-lgart        = '5000'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             w_var = 12 - pnppabrp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-proj = wa_payrt_result-betrg * w_var.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-lgart = wa_payrt_result-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***---Here we are checking for the arrers of Basic to deduct from the&lt;/P&gt;&lt;P&gt;*cummulation amount...&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY lgart = '7000'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF wa_payrt_result-lgart = '5001' AND         "HRA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              wa_lgart-lgart        = '5001'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             w_var = 12 - pnppabrp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-proj = wa_payrt_result-betrg * w_var.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-lgart = wa_payrt_result-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***---Here we are checking for the arrers of HRA to deduct from the&lt;/P&gt;&lt;P&gt;*cummulation amount...&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY lgart = '7001'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF wa_payrt_result-lgart = '5003' AND         "Conveyance&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              wa_lgart-lgart        = '5003'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             w_var = 12 - pnppabrp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-proj = wa_payrt_result-betrg * w_var.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-lgart = wa_payrt_result-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***---Here we are checking for the arrers of Conveyance to deduct from&lt;/P&gt;&lt;P&gt;*the cummulation amount...&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY lgart = '7003'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF wa_payrt_result-lgart = '5005' AND         "Special Pay&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              wa_lgart-lgart        = '5005'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             w_var = 12 - pnppabrp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-proj = wa_payrt_result-betrg * w_var.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-lgart = wa_payrt_result-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***---Here we are checking for the arrers of Special pay to deduct from&lt;/P&gt;&lt;P&gt;*the cummulation amount...&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY lgart = '7005'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF wa_payrt_result-lgart = '5002' AND         "CLA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              wa_lgart-lgart        = '5002'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             w_var = 12 - pnppabrp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-proj = wa_payrt_result-betrg * w_var.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-lgart = wa_payrt_result-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***---Here we are checking for the arrers of CLA to deduct from the&lt;/P&gt;&lt;P&gt;*cummulation amount...&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY lgart = '7002'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*wa_income-cumm = wa_income-cumm - wa_payrt_result-betrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF wa_lgart-lgart = '5065'.&lt;/P&gt;&lt;P&gt;            READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                       WITH KEY lgart = '5065'.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              wa_income-particular = wa_lgart-lgtxt.&lt;/P&gt;&lt;P&gt;              wa_income-lgart      = wa_lgart-lgart.&lt;/P&gt;&lt;P&gt;              wa_income-cumm       = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;              wa_income-proj       = 0.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR : wa_payrt_result.&lt;/P&gt;&lt;P&gt;          IF wa_lgart-lgart = '5001'.&lt;/P&gt;&lt;P&gt;            "HRA Exemptions&lt;/P&gt;&lt;P&gt;            READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                       WITH KEY lgart = '/4E4'.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              wa_income-exem = wa_payrt_result-betrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-lgart = wa_payrt_result-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR : wa_payrt_result.&lt;/P&gt;&lt;P&gt;          IF wa_lgart-lgart = '5003'.&lt;/P&gt;&lt;P&gt;            "Conveyance Exemptions&lt;/P&gt;&lt;P&gt;            READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                       WITH KEY lgart = '/4E3'.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              wa_income-exem = wa_payrt_result-betrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-lgart = wa_payrt_result-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR : wa_payrt_result.&lt;/P&gt;&lt;P&gt;          IF wa_lgart-lgart = '5025'.&lt;/P&gt;&lt;P&gt;            "Leave Encashment&lt;/P&gt;&lt;P&gt;            READ TABLE it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                       WITH KEY lgart = '/4E7'.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              wa_income-particular = wa_lgart-lgtxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             wa_income-lgart      = wa_payrt_result-lgart.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              wa_income-cumm       = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;              wa_income-exem       = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are calculating the annual field of the IT it_income....&lt;/P&gt;&lt;P&gt;          wa_income-annu = ( wa_income-cumm + wa_income-proj ) -&lt;/P&gt;&lt;P&gt;          wa_income-exem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF wa_income IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;            APPEND wa_income TO it_income.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;**************************&lt;/P&gt;&lt;P&gt;    READ TABLE  it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;                WITH KEY lgart = '5038'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      READ TABLE it_lgart INTO wa_lgart WITH KEY lgart = '5038'.&lt;/P&gt;&lt;P&gt;      wa_wage-annu       = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;      wa_wage-particular = wa_lgart-lgtxt.&lt;/P&gt;&lt;P&gt;      wa_wage-lgart      = w_lgart.&lt;/P&gt;&lt;P&gt;      wa_wage-cumm       = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;      APPEND wa_wage TO it_wage.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;****************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are looping the RGDIR internal table for the LTA Amount in&lt;/P&gt;&lt;P&gt;*Offcycle....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_pc261 INTO wa_pc261 WHERE fpper = '000000'&lt;/P&gt;&lt;P&gt;                                   AND   srtza = 'A'.&lt;/P&gt;&lt;P&gt;      IF w_flag IS INITIAL.&lt;/P&gt;&lt;P&gt;        IF wa_pc261-fpbeg+4(2) = '01' OR&lt;/P&gt;&lt;P&gt;           wa_pc261-fpbeg+4(2) = '02' OR&lt;/P&gt;&lt;P&gt;           wa_pc261-fpbeg+4(2) = '03'.&lt;/P&gt;&lt;P&gt;          w_year = wa_pc261-fpbeg+0(4) - 1.&lt;/P&gt;&lt;P&gt;          w_pr_from1 = w_year.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          w_pr_from1 = wa_pc261-fpbeg+0(4).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF wa_pc261-fpbeg+4(2) EQ '01'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '10'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '02'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '11'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '03'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '12'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '04'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '01'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '05'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '02'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '06'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '03'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '07'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '04'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '08'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '05'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '09'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '06'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '10'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '07'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '11'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '08'.&lt;/P&gt;&lt;P&gt;        ELSEIF wa_pc261-fpbeg+4(2) EQ '12'.&lt;/P&gt;&lt;P&gt;          w_pr_to1 = '09'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CONCATENATE w_pr_from1 w_pr_to1 INTO w_fpper-low1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF w_period = w_fpper-low1.&lt;/P&gt;&lt;P&gt;          w_flag = 'X'.&lt;/P&gt;&lt;P&gt;          CLEAR : wa_payrt_result.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Importing the Payroll cluster results for each employee from RT....&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              clusterid                    = w_clstrid&lt;/P&gt;&lt;P&gt;              employeenumber               = wa_0001-pernr&lt;/P&gt;&lt;P&gt;              sequencenumber               = wa_pc261-seqnr&lt;/P&gt;&lt;P&gt;            CHANGING&lt;/P&gt;&lt;P&gt;              payroll_result               = it_payrt_result&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;              illegal_isocode_or_clusterid = 1&lt;/P&gt;&lt;P&gt;              error_generating_import      = 2&lt;/P&gt;&lt;P&gt;              import_mismatch_error        = 3&lt;/P&gt;&lt;P&gt;              subpool_dir_full             = 4&lt;/P&gt;&lt;P&gt;              no_read_authority            = 5&lt;/P&gt;&lt;P&gt;              no_record_found              = 6&lt;/P&gt;&lt;P&gt;              versions_do_not_match        = 7&lt;/P&gt;&lt;P&gt;              error_reading_archive        = 8&lt;/P&gt;&lt;P&gt;              error_reading_relid          = 9&lt;/P&gt;&lt;P&gt;              OTHERS                       = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT it_lgart INTO wa_lgart WHERE lgart = '5039'.&lt;/P&gt;&lt;P&gt;            "LTA&lt;/P&gt;&lt;P&gt;            LOOP AT it_payrt_result-inter-crt INTO wa_paycrt_result&lt;/P&gt;&lt;P&gt;                    WHERE lgart = '5039' AND cumty = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              w_lgtxt = wa_lgart-lgtxt.&lt;/P&gt;&lt;P&gt;              w_lgart = wa_paycrt_result-betrg.&lt;/P&gt;&lt;P&gt;              w_cumm  = wa_paycrt_result-betrg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDLOOP.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are looping through the RT table to get the LTA Exemptions&lt;/P&gt;&lt;P&gt;*Amount....&lt;/P&gt;&lt;P&gt;    LOOP AT it_payrt_result-inter-rt INTO wa_payrt_result&lt;/P&gt;&lt;P&gt;            WHERE lgart = '/4E5'.                    "LTA Exemptions&lt;/P&gt;&lt;P&gt;      w_ltaexe = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;      wa_income-particular = w_lgtxt.&lt;/P&gt;&lt;P&gt;      wa_income-lgart      = w_lgart.&lt;/P&gt;&lt;P&gt;      wa_income-cumm       = w_cumm.&lt;/P&gt;&lt;P&gt;      wa_income-exem       = w_ltaexe.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are deducting the arrears amount from the original wagetype&lt;/P&gt;&lt;P&gt;*of the&lt;/P&gt;&lt;P&gt;**---arrear and then calculating the total of the annual column....&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR : wa_income.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT it_income INTO wa_income.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR : w_wage.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF wa_income-lgart+0(1) = '5'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CONCATENATE '7' wa_income-lgart+1(3) INTO w_wage.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       READ TABLE it_income INTO wa_in WITH KEY lgart = w_wage.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CLEAR : w_amount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         w_amount = wa_in-annu.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         wa_income-annu = wa_income-annu - w_amount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MODIFY it_income FROM wa_income TRANSPORTING annu.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************&lt;/P&gt;&lt;P&gt;    APPEND LINES OF it_wage TO it_income.&lt;/P&gt;&lt;P&gt;*************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---perform to get the data of the Investments of the employee...&lt;/P&gt;&lt;P&gt;    PERFORM f00_investmants USING wa_0001.&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_income INTO wa_income.&lt;/P&gt;&lt;P&gt;      READ TABLE it_0000 INTO wa_0000 WITH KEY pernr = wa_0001-pernr&lt;/P&gt;&lt;P&gt;                                               massn = 'GO'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0 AND wa_0000-begda&lt;EM&gt;0(6) = w_cdate&lt;/EM&gt;0(6).&lt;/P&gt;&lt;P&gt;        CLEAR wa_income-proj.&lt;/P&gt;&lt;P&gt;        wa_income-annu = wa_income-cumm - wa_income-exem.&lt;/P&gt;&lt;P&gt;        MODIFY it_income FROM wa_income.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    LOOP AT it_income INTO wa_income.&lt;/P&gt;&lt;P&gt;      READ TABLE it_0000 INTO wa_0000 WITH KEY pernr = wa_0001-pernr&lt;/P&gt;&lt;P&gt;                                               massn = 'FF'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0 AND wa_0000-begda&lt;EM&gt;0(6) = w_cdate&lt;/EM&gt;0(6).&lt;/P&gt;&lt;P&gt;        CLEAR wa_income-proj.&lt;/P&gt;&lt;P&gt;        wa_income-annu = wa_income-cumm - wa_income-exem.&lt;/P&gt;&lt;P&gt;        MODIFY it_income FROM wa_income.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;P&gt;**---Perform to reach to the Income chargable to Tax of the Employee....&lt;/P&gt;&lt;P&gt;    PERFORM f001_chargeable_income USING wa_0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---perform to display the data in IT form.....&lt;/P&gt;&lt;P&gt;    PERFORM f00_output_data TABLES it_income it_deduct it_invest&lt;/P&gt;&lt;P&gt;                            USING  wa_0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f000_get_income&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f00_output_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_INCOME  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_WA_0001  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f00_output_data  TABLES   p_it_income STRUCTURE wa_income&lt;/P&gt;&lt;P&gt;                               p_it_deduct STRUCTURE wa_deduct&lt;/P&gt;&lt;P&gt;                               p_it_invest STRUCTURE wa_invest&lt;/P&gt;&lt;P&gt;                      USING    p_wa_0001 TYPE pa0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : w_dept, w_desig, w_join.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rp-provide-from-last p0001 space '18000101' '99991231'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rp-provide-from-frst p0000 space '18000101' '99991231'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_join = p0000-begda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE plstx FROM t528t INTO w_desig&lt;/P&gt;&lt;P&gt;                  WHERE sprsl = 'E'&lt;/P&gt;&lt;P&gt;                  AND   plans = p0001-plans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE orgtx FROM t527x INTO w_dept&lt;/P&gt;&lt;P&gt;                WHERE sprsl = 'E'&lt;/P&gt;&lt;P&gt;                AND   orgeh = p0001-orgeh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  WRITE : / 'EMPLOYEE NUMBER :',&lt;/P&gt;&lt;P&gt;          p_wa_0001-pernr.&lt;/P&gt;&lt;P&gt;  WRITE AT 35 'EMPLOYEE NAME :'.&lt;/P&gt;&lt;P&gt;  WRITE : p_wa_0001-ename.&lt;/P&gt;&lt;P&gt;  WRITE : / 'DEPARTMENT      :',&lt;/P&gt;&lt;P&gt;          w_dept.&lt;/P&gt;&lt;P&gt;  WRITE AT 35 'DESIGNATION   :'.&lt;/P&gt;&lt;P&gt;  WRITE : w_desig.&lt;/P&gt;&lt;P&gt;  WRITE : / 'DATE OF JOINING :',&lt;/P&gt;&lt;P&gt;          w_join.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are starting the output of the IT Report....&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE AT 28 'INCOME TAX CALCULATION'.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  WRITE : / 'Particulars'.&lt;/P&gt;&lt;P&gt;  WRITE AT 26 'Cummulative Total'.&lt;/P&gt;&lt;P&gt;  WRITE AT 45 'Add:Projected'.&lt;/P&gt;&lt;P&gt;  WRITE AT 61 'Less:Exempted'.&lt;/P&gt;&lt;P&gt;  WRITE AT 77 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT p_it_income INTO wa_income.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_income1.&lt;/P&gt;&lt;P&gt;    WRITE wa_income-particular TO wa_income1-particular.&lt;/P&gt;&lt;P&gt;    WRITE wa_income-lgart RIGHT-JUSTIFIED TO wa_income1-lgart.&lt;/P&gt;&lt;P&gt;    WRITE wa_income-cumm RIGHT-JUSTIFIED TO wa_income1-cumm.&lt;/P&gt;&lt;P&gt;    WRITE wa_income-proj RIGHT-JUSTIFIED TO wa_income1-proj.&lt;/P&gt;&lt;P&gt;    WRITE wa_income-exem RIGHT-JUSTIFIED TO wa_income1-exem.&lt;/P&gt;&lt;P&gt;    WRITE wa_income-annu RIGHT-JUSTIFIED TO wa_income1-annu.&lt;/P&gt;&lt;P&gt;    APPEND wa_income1 TO it_income1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_income1 INTO wa_income1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : / wa_income1-particular LEFT-JUSTIFIED UNDER 'Particulars',&lt;/P&gt;&lt;P&gt;            wa_income1-cumm       UNDER 'Cummulative Total',&lt;/P&gt;&lt;P&gt;            wa_income1-proj       UNDER 'Add:Projected',&lt;/P&gt;&lt;P&gt;            wa_income1-exem       UNDER 'Less:Exempted',&lt;/P&gt;&lt;P&gt;            wa_income1-annu       UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_total = w_total + wa_income-annu.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  WRITE : / 'Add. Value of Perquisites under sec 17(2)',&lt;/P&gt;&lt;P&gt;            w_annperk RIGHT-JUSTIFIED UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_total = w_total + w_annperk.&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  WRITE : 'TOTAL INCOME'.&lt;/P&gt;&lt;P&gt;  WRITE : w_total RIGHT-JUSTIFIED UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Net taxable Income......&lt;/P&gt;&lt;P&gt;  w_nettaxin = w_total + w_inprvemp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Gross Taxable income....&lt;/P&gt;&lt;P&gt;  w_gssin = w_nettaxin - ( w_ptaxcremp + w_ptaxprvemp ).&lt;/P&gt;&lt;P&gt;  w_gssin = w_gssin + w_othtaxin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Income Chargable to Tax.....&lt;/P&gt;&lt;P&gt;  CLEAR : w_inchrtax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_inchrtax = w_gssin - ( w_dedtot + w_invtot ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are displaying the remaining items to reach to Income&lt;/P&gt;&lt;P&gt;*Chargeable to tax...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  WRITE : 'Add: Income received from Previous Employer'.&lt;/P&gt;&lt;P&gt;  WRITE : w_inprvemp RIGHT-JUSTIFIED UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  WRITE : 'NET TAXABLE INCOME'.&lt;/P&gt;&lt;P&gt;  WRITE : w_nettaxin RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          /.&lt;/P&gt;&lt;P&gt;  WRITE : / 'Less: Prof.Tax recovered by Previous Employer',&lt;/P&gt;&lt;P&gt;            w_ptaxprvemp RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'Less: Prof.Tax recovered by Current Employer',&lt;/P&gt;&lt;P&gt;            w_ptaxcremp RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'Add: Other Taxable Income Reported by the Employee',&lt;/P&gt;&lt;P&gt;            w_othtaxin RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          /,&lt;/P&gt;&lt;P&gt;          / 'GROSS TAXABLE INCOME',&lt;/P&gt;&lt;P&gt;            w_gssin RIGHT-JUSTIFIED UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT p_it_deduct INTO wa_deduct.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_deduct1.&lt;/P&gt;&lt;P&gt;    WRITE wa_deduct-particular TO wa_deduct1-particular.&lt;/P&gt;&lt;P&gt;    WRITE wa_deduct-sbs RIGHT-JUSTIFIED TO wa_deduct1-sbs.&lt;/P&gt;&lt;P&gt;    WRITE wa_deduct-betrg RIGHT-JUSTIFIED TO wa_deduct1-betrg.&lt;/P&gt;&lt;P&gt;    APPEND wa_deduct1 TO it_deduct1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_deduct1 INTO wa_deduct1.&lt;/P&gt;&lt;P&gt;    IF wa_deduct1-sbs NE '01'&lt;/P&gt;&lt;P&gt;    AND wa_deduct1-sbs NE '12'&lt;/P&gt;&lt;P&gt;    AND wa_deduct1-sbs NE '13'.&lt;/P&gt;&lt;P&gt;      WRITE : / 'Less:', wa_deduct1-particular,&lt;/P&gt;&lt;P&gt;              wa_deduct1-betrg UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  NEW-LINE.&lt;/P&gt;&lt;P&gt;  WRITE :   'Less: Other Deductions',&lt;/P&gt;&lt;P&gt;            w_invtot RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          /,&lt;/P&gt;&lt;P&gt;          / 'INCOME CHARGEABLE TO TAX (Rounded Off)',&lt;/P&gt;&lt;P&gt;            w_inchrtax RIGHT-JUSTIFIED UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are displaying the Income Tax Calculation.....&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE AT 28 'INCOME TAX DEDUCTION'.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : / 'INCOME TAX PAYABLE',&lt;/P&gt;&lt;P&gt;            w_nettaxpay RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'Add: Surcharges on Income Tax',&lt;/P&gt;&lt;P&gt;            w_surchr RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'Add: Cess',&lt;/P&gt;&lt;P&gt;            w_cess RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          /,&lt;/P&gt;&lt;P&gt;            'TOTAL INCOME TAX &amp;amp; S/C &amp;amp; CESS PAYABLE',&lt;/P&gt;&lt;P&gt;            w_totintax RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'Less: I.Tax &amp;amp; S/C Paid by Previous Employer',&lt;/P&gt;&lt;P&gt;            w_prvemp RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'Less: TDS on Other Income',&lt;/P&gt;&lt;P&gt;            w_tdsothin RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'I.Tax &amp;amp; S/C &amp;amp; Cess to be recovered',&lt;/P&gt;&lt;P&gt;            w_cessrec RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'I.Tax &amp;amp; S/C &amp;amp; Cess recovered till this month',&lt;/P&gt;&lt;P&gt;            w_tottaxpay RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'Balance I.Tax &amp;amp; S/C &amp;amp; Cess to be recovered',&lt;/P&gt;&lt;P&gt;            w_balit RIGHT-JUSTIFIED UNDER 'Annual. Rs.',&lt;/P&gt;&lt;P&gt;          / 'Avg.Monthly I.Tax % S/C &amp;amp; Cess to be recovered',&lt;/P&gt;&lt;P&gt;            w_avgmon RIGHT-JUSTIFIED UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we ar writing the investment details.....&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE AT 28 'INVESTMENT DETAILS DECLARED'.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT p_it_invest INTO wa_invest.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_invest1.&lt;/P&gt;&lt;P&gt;    WRITE wa_invest-particular TO wa_invest1-particular.&lt;/P&gt;&lt;P&gt;    WRITE wa_invest-betrg RIGHT-JUSTIFIED TO wa_invest1-betrg.&lt;/P&gt;&lt;P&gt;    APPEND wa_invest1 TO it_invest1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_invest1 INTO wa_invest1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : / wa_invest1-particular,&lt;/P&gt;&lt;P&gt;              wa_invest1-betrg UNDER 'Annual. Rs.'.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE : /.&lt;/P&gt;&lt;P&gt;  REFRESH : p_it_deduct.&lt;/P&gt;&lt;P&gt;  NEW-PAGE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f00_output_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f00_investmants&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_WA_0001  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f00_investmants  USING    p_wa_0001 TYPE pa0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM pa0586 INTO CORRESPONDING FIELDS OF wa_0586&lt;/P&gt;&lt;P&gt;                WHERE pernr =  p_wa_0001-pernr&lt;/P&gt;&lt;P&gt;                AND   begda &amp;gt;= w_start&lt;/P&gt;&lt;P&gt;                AND   endda &amp;lt;= w_end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : w_itext, w_investnm, wa_invest.&lt;/P&gt;&lt;P&gt;  REFRESH : it_invest.&lt;/P&gt;&lt;P&gt;  w_index = 01.&lt;/P&gt;&lt;P&gt;  UNASSIGN : &amp;lt;amt&amp;gt;, &amp;lt;itc&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF w_period+4(2) BETWEEN '01' AND '10'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO 30 TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR : wa_invest.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'wa_0586-PIN' w_index INTO w_investnm.&lt;/P&gt;&lt;P&gt;      ASSIGN (w_investnm) TO &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;amt&amp;gt; IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR : w_investnm.&lt;/P&gt;&lt;P&gt;        UNASSIGN : &amp;lt;itc&amp;gt;, &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'wa_0586-ITC' w_index INTO w_investnm.&lt;/P&gt;&lt;P&gt;        ASSIGN (w_investnm) TO &amp;lt;itc&amp;gt;.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE itext FROM t7ini3 INTO w_itext&lt;/P&gt;&lt;P&gt;                            WHERE icode EQ &amp;lt;itc&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sprsl EQ 'EN'.&lt;/P&gt;&lt;P&gt;        MOVE &amp;lt;amt&amp;gt; TO wa_invest-betrg.&lt;/P&gt;&lt;P&gt;        wa_invest-particular = w_itext.&lt;/P&gt;&lt;P&gt;        APPEND wa_invest TO it_invest.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO 30 TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR : wa_invest.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'wa_0586-AIN' w_index INTO w_investnm.&lt;/P&gt;&lt;P&gt;      ASSIGN (w_investnm) TO &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;amt&amp;gt; IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR : w_investnm.&lt;/P&gt;&lt;P&gt;        UNASSIGN : &amp;lt;itc&amp;gt;, &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'wa_0586-ITC' w_index INTO w_investnm.&lt;/P&gt;&lt;P&gt;        ASSIGN (w_investnm) TO &amp;lt;itc&amp;gt;.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE itext FROM t7ini3 INTO w_itext&lt;/P&gt;&lt;P&gt;                            WHERE icode EQ &amp;lt;itc&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sprsl EQ 'EN'.&lt;/P&gt;&lt;P&gt;        MOVE &amp;lt;amt&amp;gt; TO wa_invest-betrg.&lt;/P&gt;&lt;P&gt;        wa_invest-particular = w_itext.&lt;/P&gt;&lt;P&gt;        APPEND wa_invest TO it_invest.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  UNASSIGN : &amp;lt;amt&amp;gt;, &amp;lt;itc&amp;gt;, &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f00_investmants&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f001_chargeable_income&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_WA_0001  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f001_chargeable_income  USING  p_wa_0001 TYPE pa0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : wa_0580, w_inprvemp, w_nettaxin, w_ptaxprvemp, w_ptaxcremp,&lt;/P&gt;&lt;P&gt;          w_othtaxin, w_gssin, w_inchrtax, w_dedtot, w_nettaxpay,&lt;/P&gt;&lt;P&gt;          w_surchr, w_cess, w_totintax, w_tdsothin, w_cessrec, w_prvemp,&lt;/P&gt;&lt;P&gt;          w_tottaxpay, w_var1, w_var2, w_balit, w_remmon, w_avgmon,&lt;/P&gt;&lt;P&gt;          w_profund,&lt;/P&gt;&lt;P&gt;          w_invtot, w_total.&lt;/P&gt;&lt;P&gt;  REFRESH : it_0580, it_0585, it_deduct.&lt;/P&gt;&lt;P&gt;  SELECT * FROM pa0580 INTO CORRESPONDING FIELDS OF TABLE it_0580&lt;/P&gt;&lt;P&gt;                       WHERE pernr = p_wa_0001-pernr&lt;/P&gt;&lt;P&gt;                       AND   begda &amp;gt;= w_start&lt;/P&gt;&lt;P&gt;                       AND   endda &amp;lt;= w_end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Income received from the previous&lt;/P&gt;&lt;P&gt;*Employer...&lt;/P&gt;&lt;P&gt;  LOOP AT it_0580 INTO wa_0580.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_inprvemp = w_inprvemp + ( wa_0580-grsal + wa_0580-vprqs&lt;/P&gt;&lt;P&gt;                              + wa_0580-prsal ).&lt;/P&gt;&lt;P&gt;    w_ptaxprvemp = wa_0580-prtax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_prvemp = w_prvemp + wa_0580-txded.&lt;/P&gt;&lt;P&gt;    "Income Tax &amp;amp; S/C paid by previous employer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_profund = wa_0580-prfnd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are appending the previous employment Provident Fund to&lt;/P&gt;&lt;P&gt;*Investment Table....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF w_profund IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    wa_invest-particular = 'Previous Employment Provident Fund'.&lt;/P&gt;&lt;P&gt;    wa_invest-betrg      = w_profund.&lt;/P&gt;&lt;P&gt;    APPEND wa_invest TO it_invest.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_pc261 INTO wa_pc261 WHERE fpper = w_period&lt;/P&gt;&lt;P&gt;                                     AND   srtza  = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Importing the Payroll cluster results for each employee from RT....&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        clusterid                    = w_clstrid&lt;/P&gt;&lt;P&gt;        employeenumber               = wa_0001-pernr&lt;/P&gt;&lt;P&gt;        sequencenumber               = wa_pc261-seqnr&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        payroll_result               = it_payrt_result&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        illegal_isocode_or_clusterid = 1&lt;/P&gt;&lt;P&gt;        error_generating_import      = 2&lt;/P&gt;&lt;P&gt;        import_mismatch_error        = 3&lt;/P&gt;&lt;P&gt;        subpool_dir_full             = 4&lt;/P&gt;&lt;P&gt;        no_read_authority            = 5&lt;/P&gt;&lt;P&gt;        no_record_found              = 6&lt;/P&gt;&lt;P&gt;        versions_do_not_match        = 7&lt;/P&gt;&lt;P&gt;        error_reading_archive        = 8&lt;/P&gt;&lt;P&gt;        error_reading_relid          = 9&lt;/P&gt;&lt;P&gt;        OTHERS                       = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Processing....&lt;/P&gt;&lt;P&gt;    LOOP AT it_payrt_result-inter-rt INTO wa_payrt_result.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_payrt_result-lgart = '/422'.&lt;/P&gt;&lt;P&gt;        "Prof. Tax Recovered by Current Emp&lt;/P&gt;&lt;P&gt;       w_ptaxcremp = w_ptaxcremp + wa_payrt_result-betrg - w_ptaxprvemp&lt;/P&gt;&lt;P&gt;       . "pradeep's change&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_payrt_result-lgart = '/446'.&lt;/P&gt;&lt;P&gt;        "Net Income tax Payable&lt;/P&gt;&lt;P&gt;        w_nettaxpay = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_payrt_result-lgart = '/448'.&lt;/P&gt;&lt;P&gt;        "Surcharges on Income Tax if any&lt;/P&gt;&lt;P&gt;        w_surchr = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_payrt_result-lgart = '/449'.                 "Cess if any&lt;/P&gt;&lt;P&gt;        w_cess = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_payrt_result-lgart = '/3F6'.&lt;/P&gt;&lt;P&gt;        w_pf = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_payrt_result-lgart = '/127'.&lt;/P&gt;&lt;P&gt;        w_annperk = wa_payrt_result-betrg.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Employees Provident Fund from RT table&lt;/P&gt;&lt;P&gt;*which is coming&lt;/P&gt;&lt;P&gt;**---from the Infotype 0587...&lt;/P&gt;&lt;P&gt;  IF w_pf IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    wa_invest-particular = 'Provident Fund'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_invest-betrg      = w_pf.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_invest-betrg      = w_pf - w_profund.  " pradeep's change&lt;/P&gt;&lt;P&gt;    APPEND wa_invest TO it_invest.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Total Income....&lt;/P&gt;&lt;P&gt;  LOOP AT it_income INTO wa_income.&lt;/P&gt;&lt;P&gt;    w_total = w_total + wa_income-annu.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting Employees Other Taxable income from 0584 with&lt;/P&gt;&lt;P&gt;*Other sources....&lt;/P&gt;&lt;P&gt;  SELECT * FROM pa0584 INTO CORRESPONDING FIELDS OF TABLE it_0584&lt;/P&gt;&lt;P&gt;                WHERE pernr = p_wa_0001-pernr&lt;/P&gt;&lt;P&gt;                AND   subty = '0002'&lt;/P&gt;&lt;P&gt;                AND   begda &amp;gt;= w_start&lt;/P&gt;&lt;P&gt;                AND   endda &amp;lt;= w_end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_0584 INTO wa_0584.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_othtaxin = w_othtaxin + ( wa_0584-bspft + wa_0584-cpgln&lt;/P&gt;&lt;P&gt;                              + wa_0584-cpgls + wa_0584-cpgns&lt;/P&gt;&lt;P&gt;                              + wa_0584-dvdnd + wa_0584-intrs&lt;/P&gt;&lt;P&gt;                              + wa_0584-unspi ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_tdsothin = w_tdsothin + wa_0584-tdsot.&lt;/P&gt;&lt;P&gt;    "TDS on other Income&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting Employees Other Taxable income from 0584 with&lt;/P&gt;&lt;P&gt;*House Property....&lt;/P&gt;&lt;P&gt;  CLEAR : wa_0584.&lt;/P&gt;&lt;P&gt;  REFRESH : it_0584.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM pa0584 INTO CORRESPONDING FIELDS OF TABLE it_0584&lt;/P&gt;&lt;P&gt;                WHERE pernr = p_wa_0001-pernr&lt;/P&gt;&lt;P&gt;                AND   subty = '0001'&lt;/P&gt;&lt;P&gt;                AND   begda &amp;gt;= w_start&lt;/P&gt;&lt;P&gt;                AND   endda &amp;lt;= w_end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_0584 INTO wa_0584.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_0584-rento NE '1'.&lt;/P&gt;&lt;P&gt;      w_othtaxin = w_othtaxin + ( wa_0584-letvl - ( wa_0584-rep24 +&lt;/P&gt;&lt;P&gt;      wa_0584-int24 +&lt;/P&gt;&lt;P&gt;                                                  wa_0584-oth24 ) ).&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF w_othtaxin IS INITIAL.&lt;/P&gt;&lt;P&gt;        w_othtaxin = wa_0584-int24.&lt;/P&gt;&lt;P&gt;        w_othtaxin = w_othtaxin * -1.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        w_othtaxin = w_othtaxin - wa_0584-int24.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the all the Deduction with respect to the&lt;/P&gt;&lt;P&gt;*Employee data...&lt;/P&gt;&lt;P&gt;  CLEAR : wa_0585.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM pa0585 INTO CORRESPONDING FIELDS OF wa_0585&lt;/P&gt;&lt;P&gt;                  WHERE pernr =  p_wa_0001-pernr&lt;/P&gt;&lt;P&gt;                  AND   begda &amp;gt;= w_start&lt;/P&gt;&lt;P&gt;                  AND   endda &amp;lt;= w_end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : w_dtext, w_investnm, w_dedtot, w_percent.&lt;/P&gt;&lt;P&gt;  w_index = 01.&lt;/P&gt;&lt;P&gt;  UNASSIGN : &amp;lt;amt&amp;gt;, &amp;lt;itc&amp;gt;, &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF w_period+4(2) BETWEEN '01' AND '10'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO 20 TIMES.&lt;/P&gt;&lt;P&gt;      CLEAR : wa_deduct.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'wa_0585-PCN' w_index INTO w_investnm.&lt;/P&gt;&lt;P&gt;      ASSIGN (w_investnm) TO &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;amt&amp;gt; IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR : w_investnm, w_investnm1, w_limit.&lt;/P&gt;&lt;P&gt;        UNASSIGN : &amp;lt;itc&amp;gt;, &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'wa_0585-SBS' w_index INTO w_investnm1.&lt;/P&gt;&lt;P&gt;        ASSIGN (w_investnm1) TO &amp;lt;itc&amp;gt;.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'wa_0585-SBD' w_index INTO w_investnm.&lt;/P&gt;&lt;P&gt;        ASSIGN (w_investnm) TO &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE sbdds FROM t7ini8 INTO w_dtext&lt;/P&gt;&lt;P&gt;                            WHERE sbsec EQ &amp;lt;itc&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sbdiv EQ &amp;lt;sbdnn&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sprsl EQ 'EN'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE txexm FROM t7ini9 INTO w_percent&lt;/P&gt;&lt;P&gt;                            WHERE sbsec EQ &amp;lt;itc&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sbdiv EQ &amp;lt;sbdnn&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   endda EQ '99991231'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE sdvlt FROM t7ini9 INTO w_limit&lt;/P&gt;&lt;P&gt;                            WHERE sbsec EQ &amp;lt;itc&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sbdiv EQ &amp;lt;sbdnn&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   endda EQ '99991231'.&lt;/P&gt;&lt;P&gt;        IF w_limit &amp;gt; &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;          MOVE &amp;lt;amt&amp;gt; TO wa_deduct-betrg.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MOVE w_limit TO wa_deduct-betrg.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        wa_deduct-betrg = ( wa_deduct-betrg / 100 ) * w_percent.&lt;/P&gt;&lt;P&gt;        w_dedtot = w_dedtot + wa_deduct-betrg.&lt;/P&gt;&lt;P&gt;        wa_deduct-particular = w_dtext.&lt;/P&gt;&lt;P&gt;        wa_deduct-sbs = &amp;lt;itc&amp;gt;.&lt;/P&gt;&lt;P&gt;        APPEND wa_deduct TO it_deduct.&lt;/P&gt;&lt;P&gt;        IF &amp;lt;itc&amp;gt; EQ '1'.&lt;/P&gt;&lt;P&gt;          CLEAR : w_ded0585.&lt;/P&gt;&lt;P&gt;          w_ded0585 = w_ded0585 + &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;          w_dedtot = w_dedtot - &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO 20 TIMES.&lt;/P&gt;&lt;P&gt;      CLEAR : wa_deduct.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'wa_0585-ACN' w_index INTO w_investnm.&lt;/P&gt;&lt;P&gt;      ASSIGN (w_investnm) TO &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;amt&amp;gt; IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR : w_investnm, w_investnm1.&lt;/P&gt;&lt;P&gt;        UNASSIGN : &amp;lt;itc&amp;gt;, &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'wa_0585-SBS' w_index INTO w_investnm1.&lt;/P&gt;&lt;P&gt;        ASSIGN (w_investnm1) TO &amp;lt;itc&amp;gt;.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'wa_0585-SBD' w_index INTO w_investnm.&lt;/P&gt;&lt;P&gt;        ASSIGN (w_investnm) TO &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE sbdds FROM t7ini8 INTO w_dtext&lt;/P&gt;&lt;P&gt;                            WHERE sbsec EQ &amp;lt;itc&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sbdiv EQ &amp;lt;sbdnn&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sprsl EQ 'EN'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE txexm FROM t7ini9 INTO w_percent&lt;/P&gt;&lt;P&gt;                            WHERE sbsec EQ &amp;lt;itc&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sbdiv EQ &amp;lt;sbdnn&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   endda EQ '99991231'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE sdvlt FROM t7ini9 INTO w_limit&lt;/P&gt;&lt;P&gt;                            WHERE sbsec EQ &amp;lt;itc&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   sbdiv EQ &amp;lt;sbdnn&amp;gt;&lt;/P&gt;&lt;P&gt;                            AND   endda EQ '99991231'.&lt;/P&gt;&lt;P&gt;        IF w_limit &amp;gt; &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;          MOVE &amp;lt;amt&amp;gt; TO wa_deduct-betrg.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MOVE w_limit TO wa_deduct-betrg.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        MOVE &amp;lt;amt&amp;gt; TO wa_deduct-betrg.&lt;/P&gt;&lt;P&gt;        wa_deduct-betrg = ( wa_deduct-betrg / 100 ) * w_percent.&lt;/P&gt;&lt;P&gt;        w_dedtot = w_dedtot + wa_deduct-betrg.&lt;/P&gt;&lt;P&gt;        wa_deduct-particular = w_dtext.&lt;/P&gt;&lt;P&gt;        APPEND wa_deduct TO it_deduct.&lt;/P&gt;&lt;P&gt;        IF &amp;lt;itc&amp;gt; EQ '1'.&lt;/P&gt;&lt;P&gt;          CLEAR : w_ded0585.&lt;/P&gt;&lt;P&gt;          w_ded0585 = w_ded0585 + &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;          w_dedtot = w_dedtot - &amp;lt;amt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  UNASSIGN : &amp;lt;amt&amp;gt;, &amp;lt;itc&amp;gt;, &amp;lt;sbdnn&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are starting the Income tax calculation....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_totintax = w_nettaxpay + w_surchr + w_cess.&lt;/P&gt;&lt;P&gt;  "Total Income Tax &amp;amp; S/C &amp;amp; Cess Payable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_cessrec = w_totintax - ( w_prvemp + w_tdsothin ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are calculating the previous months tax payed from CRT....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_payrt_result-inter-crt INTO wa_paycrt_result.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_paycrt_result-lgart = '/460'.&lt;/P&gt;&lt;P&gt;      "I.tax &amp;amp; S/C &amp;amp; Cess Recovered till period&lt;/P&gt;&lt;P&gt;      w_tottaxpay = wa_paycrt_result-betrg.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Balance IT to be recovered....&lt;/P&gt;&lt;P&gt;  w_balit = w_cessrec - w_tottaxpay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the remaining months in the financial year....&lt;/P&gt;&lt;P&gt;  IF w_period+4(2) NE '12'.&lt;/P&gt;&lt;P&gt;    w_remmon = 12 - w_period+4(2).&lt;/P&gt;&lt;P&gt;    w_avgmon = w_balit / w_remmon.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    w_avgmon = 0.&lt;/P&gt;&lt;P&gt;    w_avgmon = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Here we are getting the Investments total into Other DEDUCTION....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_invest INTO wa_invest.&lt;/P&gt;&lt;P&gt;    w_invtot = w_invtot + wa_invest-betrg.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF w_ded0585 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    w_invtot = w_invtot + w_ded0585.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF w_invtot &amp;gt; '100000'.&lt;/P&gt;&lt;P&gt;    w_invtot = '100000'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f001_chargeable_income&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f010_get_date&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_PNPPABRP  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_PNPPABRJ  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f010_get_date  USING    p_pnppabrp&lt;/P&gt;&lt;P&gt;                             p_pnppabrj.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_pnppabrp.&lt;/P&gt;&lt;P&gt;    WHEN '01'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '04'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '02'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '05'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '03'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '06'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '04'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '07'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '05'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '08'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '06'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '09'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '07'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '10'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '08'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '11'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '09'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '12'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj.&lt;/P&gt;&lt;P&gt;    WHEN '10'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '01'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj + 1.&lt;/P&gt;&lt;P&gt;    WHEN '11'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '02'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj + 1.&lt;/P&gt;&lt;P&gt;    WHEN '12'.&lt;/P&gt;&lt;P&gt;      w_cmonth = '03'.&lt;/P&gt;&lt;P&gt;      w_cyear  = p_pnppabrj + 1.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE w_cyear w_cmonth '01' INTO w_cdate.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f010_get_date&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SEND_MAIL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM send_mail .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PERFORM send_email USING p_email1.&lt;/P&gt;&lt;P&gt;  IF sy-batch EQ 'X'.&lt;/P&gt;&lt;P&gt;    LOOP  AT pnppernr.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM pa0105&lt;/P&gt;&lt;P&gt;        WHERE pernr EQ pnppernr-low&lt;/P&gt;&lt;P&gt;          AND subty EQ '0010'&lt;/P&gt;&lt;P&gt;          AND endda EQ '99991231'.&lt;/P&gt;&lt;P&gt;      p_email1 = pa0105-usrid_long..&lt;/P&gt;&lt;P&gt;      PERFORM get_job_details.&lt;/P&gt;&lt;P&gt;      PERFORM obtain_spool_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM convert_spool_to_pdf.&lt;/P&gt;&lt;P&gt;      PERFORM process_email.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF sy-sysid = c_dev.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        WAIT UP TO 5 SECONDS.&lt;/P&gt;&lt;P&gt;        SUBMIT rsconn01 WITH mode   = 'INT'&lt;/P&gt;&lt;P&gt;                        WITH output = 'X'&lt;/P&gt;&lt;P&gt;                        AND RETURN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE:/ 'Program must be executed in background in-order for spool'&lt;/P&gt;&lt;P&gt;,&lt;/P&gt;&lt;P&gt;            'request to be created.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORT gd_spool_nr TO MEMORY ID 'SPOOLTOPDF'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SEND_MAIL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_job_details&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_job_details .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get current job details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'GET_JOB_RUNTIME_INFO'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      eventid                 = gd_eventid&lt;/P&gt;&lt;P&gt;      eventparm               = gd_eventparm&lt;/P&gt;&lt;P&gt;      external_program_active = gd_external_program_active&lt;/P&gt;&lt;P&gt;      jobcount                = gd_jobcount&lt;/P&gt;&lt;P&gt;      jobname                 = gd_jobname&lt;/P&gt;&lt;P&gt;      stepcount               = gd_stepcount&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      no_runtime_info         = 1&lt;/P&gt;&lt;P&gt;      OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_job_details&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  obtain_spool_id&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM obtain_spool_id .&lt;/P&gt;&lt;P&gt;  CHECK NOT ( gd_jobname IS INITIAL ).&lt;/P&gt;&lt;P&gt;  CHECK NOT ( gd_jobcount IS INITIAL ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM  tbtcp&lt;/P&gt;&lt;P&gt;                 INTO TABLE it_tbtcp&lt;/P&gt;&lt;P&gt;                 WHERE      jobname     = gd_jobname&lt;/P&gt;&lt;P&gt;                 AND        jobcount    = gd_jobcount&lt;/P&gt;&lt;P&gt;                 AND        stepcount   = gd_stepcount&lt;/P&gt;&lt;P&gt;                 AND        listident   &amp;lt;&amp;gt; '0000000000'&lt;/P&gt;&lt;P&gt;                 ORDER BY   jobname&lt;/P&gt;&lt;P&gt;                            jobcount&lt;/P&gt;&lt;P&gt;                            stepcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MESSAGE s004(zdd) WITH gd_spool_nr.&lt;/P&gt;&lt;P&gt;    gd_spool_nr = wa_tbtcp-listident.&lt;/P&gt;&lt;P&gt;    MESSAGE s004(zdd) WITH gd_spool_nr.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE s005(zdd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " obtain_spool_id&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  convert_spool_to_pdf&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM convert_spool_to_pdf .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      src_spoolid              = gd_spool_nr&lt;/P&gt;&lt;P&gt;      no_dialog                = c_no&lt;/P&gt;&lt;P&gt;      dst_device               = c_device&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      pdf_bytecount            = gd_bytecount&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      pdf                      = it_pdf_output&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      err_no_abap_spooljob     = 1&lt;/P&gt;&lt;P&gt;      err_no_spooljob          = 2&lt;/P&gt;&lt;P&gt;      err_no_permission        = 3&lt;/P&gt;&lt;P&gt;      err_conv_not_possible    = 4&lt;/P&gt;&lt;P&gt;      err_bad_destdevice       = 5&lt;/P&gt;&lt;P&gt;      user_cancelled           = 6&lt;/P&gt;&lt;P&gt;      err_spoolerror           = 7&lt;/P&gt;&lt;P&gt;      err_temseerror           = 8&lt;/P&gt;&lt;P&gt;      err_btcjob_open_failed   = 9&lt;/P&gt;&lt;P&gt;      err_btcjob_submit_failed = 10&lt;/P&gt;&lt;P&gt;      err_btcjob_close_failed  = 11&lt;/P&gt;&lt;P&gt;      OTHERS                   = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer the 132-long strings to 255-long strings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT it_pdf_output.&lt;/P&gt;&lt;P&gt;    TRANSLATE it_pdf_output USING ' ~'.&lt;/P&gt;&lt;P&gt;    CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRANSLATE gd_buffer USING '~ '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    it_mess_att = gd_buffer.&lt;/P&gt;&lt;P&gt;    APPEND it_mess_att.&lt;/P&gt;&lt;P&gt;    SHIFT gd_buffer LEFT BY 255 PLACES.&lt;/P&gt;&lt;P&gt;    IF gd_buffer IS INITIAL.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " convert_spool_to_pdf&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  process_email&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM process_email .&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE it_mess_att LINES gd_recsize.&lt;/P&gt;&lt;P&gt;  CHECK gd_recsize &amp;gt; 0.&lt;/P&gt;&lt;P&gt;  PERFORM send_email USING p_email1.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "process_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;FORM send_email USING p_email.&lt;/P&gt;&lt;P&gt;  CHECK NOT ( p_email IS INITIAL ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_mess_bod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Default subject matter&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gd_subject         = 'Subject'.&lt;/P&gt;&lt;P&gt;  gd_attachment_desc = 'IT Declaration'.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'ITSLIP' ' ' INTO gd_attachment_name.&lt;/P&gt;&lt;P&gt;  it_mess_bod        = 'IT FORM for this month'.&lt;/P&gt;&lt;P&gt;  APPEND it_mess_bod.&lt;/P&gt;&lt;P&gt;  it_mess_bod        = 'Message Body text, line 2...'.&lt;/P&gt;&lt;P&gt;  APPEND it_mess_bod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no sender specified - default blank&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF p_sender EQ space.&lt;/P&gt;&lt;P&gt;    gd_sender_type  = space.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    gd_sender_type  = 'INT'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send file by email as .xls speadsheet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM send_file_as_email_attachment&lt;/P&gt;&lt;P&gt;                               TABLES it_mess_bod&lt;/P&gt;&lt;P&gt;                                      it_mess_att&lt;/P&gt;&lt;P&gt;                                USING p_email1&lt;/P&gt;&lt;P&gt;                                      'MindTree Payroll team'&lt;/P&gt;&lt;P&gt;                                      'PDF'&lt;/P&gt;&lt;P&gt;                                      gd_attachment_name&lt;/P&gt;&lt;P&gt;                                      gd_attachment_desc&lt;/P&gt;&lt;P&gt;                                      p_sender&lt;/P&gt;&lt;P&gt;                                      gd_sender_type&lt;/P&gt;&lt;P&gt;                             CHANGING gd_error&lt;/P&gt;&lt;P&gt;                                      gd_reciever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " process_email&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  send_file_as_email_attachment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_MESS_BOD  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_MESS_ATT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_EMAIL  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_4422   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_4423   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GD_ATTACHMENT_NAME  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GD_ATTACHMENT_DESC  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_SENDER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GD_SENDER_TYPE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GD_ERROR  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GD_RECIEVER  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM send_file_as_email_attachment TABLES it_message&lt;/P&gt;&lt;P&gt;                                          it_attach&lt;/P&gt;&lt;P&gt;                                    USING p_email&lt;/P&gt;&lt;P&gt;                                          p_mtitle&lt;/P&gt;&lt;P&gt;                                          p_format&lt;/P&gt;&lt;P&gt;                                          p_filename&lt;/P&gt;&lt;P&gt;                                          p_attdescription&lt;/P&gt;&lt;P&gt;                                          p_sender_address&lt;/P&gt;&lt;P&gt;                                          p_sender_addres_type&lt;/P&gt;&lt;P&gt;                                 CHANGING p_error&lt;/P&gt;&lt;P&gt;                                          p_reciever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ld_error    TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;        ld_reciever TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;        ld_mtitle LIKE sodocchgi1-obj_descr,&lt;/P&gt;&lt;P&gt;        ld_email LIKE  somlreci1-receiver,&lt;/P&gt;&lt;P&gt;        ld_format TYPE  so_obj_tp ,&lt;/P&gt;&lt;P&gt;        ld_attdescription TYPE  so_obj_nam ,&lt;/P&gt;&lt;P&gt;        ld_attfilename TYPE  so_obj_des ,&lt;/P&gt;&lt;P&gt;        ld_sender_address LIKE  soextreci1-receiver,&lt;/P&gt;&lt;P&gt;        ld_sender_address_type LIKE  soextreci1-adr_typ,&lt;/P&gt;&lt;P&gt;        ld_receiver LIKE  sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          w_cnt TYPE i,&lt;/P&gt;&lt;P&gt;          w_sent_all(1) TYPE c,&lt;/P&gt;&lt;P&gt;          w_doc_data LIKE sodocchgi1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ld_email   = p_email.&lt;/P&gt;&lt;P&gt;  ld_mtitle = p_mtitle.&lt;/P&gt;&lt;P&gt;  ld_format              = p_format.&lt;/P&gt;&lt;P&gt;  ld_attdescription      = p_attdescription.&lt;/P&gt;&lt;P&gt;  ld_attfilename         = p_filename.&lt;/P&gt;&lt;P&gt;  ld_sender_address      = p_sender_address.&lt;/P&gt;&lt;P&gt;  ld_sender_address_type = p_sender_addres_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_doc_data-doc_size = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the subject/generic message attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_doc_data-obj_langu = sy-langu.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_name  = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_descr = ld_mtitle .&lt;/P&gt;&lt;P&gt;  w_doc_data-sensitivty = 'F'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data and get size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR w_doc_data.&lt;/P&gt;&lt;P&gt;  READ TABLE it_attach INDEX w_cnt.&lt;/P&gt;&lt;P&gt;  w_doc_data-doc_size =&lt;/P&gt;&lt;P&gt;     ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_langu  = sy-langu.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_name   = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_descr  = ld_mtitle.&lt;/P&gt;&lt;P&gt;  w_doc_data-sensitivty = 'F'.&lt;/P&gt;&lt;P&gt;  CLEAR t_attachment.&lt;/P&gt;&lt;P&gt;  REFRESH t_attachment.&lt;/P&gt;&lt;P&gt;  t_attachment[] = it_attach[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR t_packing_list.&lt;/P&gt;&lt;P&gt;  REFRESH t_packing_list.&lt;/P&gt;&lt;P&gt;  t_packing_list-transf_bin = space.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_num = 0.&lt;/P&gt;&lt;P&gt;  t_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE it_message LINES t_packing_list-body_num.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_type = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND t_packing_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create attachment notification&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  t_packing_list-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_num   = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_type   =  ld_format.&lt;/P&gt;&lt;P&gt;  t_packing_list-obj_descr  =  ld_attdescription.&lt;/P&gt;&lt;P&gt;  t_packing_list-obj_name   =  ld_attfilename.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_size   =  t_packing_list-body_num * 255.&lt;/P&gt;&lt;P&gt;  APPEND t_packing_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add the recipients email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR t_receivers.&lt;/P&gt;&lt;P&gt;  REFRESH t_receivers.&lt;/P&gt;&lt;P&gt;  t_receivers-receiver = ld_email.&lt;/P&gt;&lt;P&gt;  t_receivers-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;  t_receivers-com_type = 'INT'.&lt;/P&gt;&lt;P&gt;  t_receivers-notif_del = 'X'.&lt;/P&gt;&lt;P&gt;  t_receivers-notif_ndel = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND t_receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_data              = w_doc_data&lt;/P&gt;&lt;P&gt;      put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;      sender_address             = ld_sender_address&lt;/P&gt;&lt;P&gt;      sender_address_type        = ld_sender_address_type&lt;/P&gt;&lt;P&gt;      commit_work                = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      sent_to_all                = w_sent_all&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      packing_list               = t_packing_list&lt;/P&gt;&lt;P&gt;      contents_bin               = t_attachment&lt;/P&gt;&lt;P&gt;      contents_txt               = it_message&lt;/P&gt;&lt;P&gt;      receivers                  = t_receivers&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      parameter_error            = 5&lt;/P&gt;&lt;P&gt;      x_error                    = 6&lt;/P&gt;&lt;P&gt;      enqueue_error              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zerror return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ld_error = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zreceiver return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT t_receivers.&lt;/P&gt;&lt;P&gt;    ld_receiver = t_receivers-retrn_code.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "send_file_as_email_attachment&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Balaji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 10:53:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314549#M507323</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T10:53:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314550#M507324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  what's the subrc after submit statement? try giving the name of the called program in full caps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SUBMIT ZPR022_INNCOMETAX_REPORT_COPY - &amp;gt; like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if helpful, reward&lt;/P&gt;&lt;P&gt;Sathish. R&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        hari prasath&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2007 10:58:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314550#M507324</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-22T10:58:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to debug a program when it is SUBMITed from another program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314551#M507325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Balaji,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please try the below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;**       VIA JOB     p_job&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       NUMBER  l_jobcount&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you comment out the above 2 lines and also&lt;/P&gt;&lt;P&gt;set a dynamic break-point in called&lt;/P&gt;&lt;P&gt;program ZPR022_INNCOMETAX_REPORT_COPY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will be able to DEBUG successfully,&lt;/P&gt;&lt;P&gt;Works for me in my sample ABAP report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;  SUBMIT zpr022_inncometax_report_copy&lt;/P&gt;&lt;P&gt;    WITH pnptimr6 = 'X'&lt;/P&gt;&lt;P&gt;    WITH pnpbegda = period-low&lt;/P&gt;&lt;P&gt;    WITH pnpendda = period-high&lt;/P&gt;&lt;P&gt;    WITH pnppernr-low = pernr-low&lt;/P&gt;&lt;P&gt;    WITH pnpabkrs-low = 'IN'&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;**       VIA JOB     p_job   {Commented Out only for debugging}&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       NUMBER  l_jobcount    {Commented Out only for debugging} &amp;lt;/u&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;         TO SAP-SPOOL  WITHOUT SPOOL DYNPRO&lt;/P&gt;&lt;P&gt;             SPOOL PARAMETERS ls_params&lt;/P&gt;&lt;P&gt;             WITH immediately = 'X'&lt;/P&gt;&lt;P&gt;              AND RETURN.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Expecting 10/10 points..... :-D&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Aby Jacob, Bangalore&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2007 11:01:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-debug-a-program-when-it-is-submited-from-another-program/m-p/2314551#M507325</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-01T11:01:32Z</dc:date>
    </item>
  </channel>
</rss>

