<?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 Re: Hr programming - logical database - macro in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469270#M554943</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i didn't understand how macros:&lt;/P&gt;&lt;P&gt;RP-PROVIDE*&lt;/P&gt;&lt;P&gt;perform from table trmac. where abap programs know to relation&lt;/P&gt;&lt;P&gt;the macros from table trmac ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Jun 2007 12:53:21 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-26T12:53:21Z</dc:date>
    <item>
      <title>Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469264#M554937</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use pnp logical database. &lt;/P&gt;&lt;P&gt;Now how the program familiar the macro RP-PROVIDE-FROM-FIRST &lt;/P&gt;&lt;P&gt;from table trmac ? ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i know that macro can be familiar from the program between lines:&lt;/P&gt;&lt;P&gt;define .......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-definition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;someone can explain to me ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 11:24:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469264#M554937</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T11:24:26Z</dc:date>
    </item>
    <item>
      <title>Re: Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469265#M554938</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Eliram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    The table TRMAC contains the lines of code for the macro which you have mentioned. When ever we call that macro, the code which is there in the table TRMAC will be executed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 11:52:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469265#M554938</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T11:52:07Z</dc:date>
    </item>
    <item>
      <title>Re: Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469266#M554939</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HOPE THIS link will help you:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://planetsap.com/HR_ABAP_Infotypes.htm" target="test_blank"&gt;http://planetsap.com/HR_ABAP_Infotypes.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 11:59:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469266#M554939</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T11:59:35Z</dc:date>
    </item>
    <item>
      <title>Re: Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469267#M554940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;See this sample program for using the LDB PNP and the MAcros&lt;/P&gt;&lt;P&gt;report zporgr0030&lt;/P&gt;&lt;P&gt;       line-size 193&lt;/P&gt;&lt;P&gt;       line-count 60(1)&lt;/P&gt;&lt;P&gt;       no standard page heading&lt;/P&gt;&lt;P&gt;       message-id zndc.&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; Database Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;tables:    pernr,    " Logical PNP&lt;/P&gt;&lt;P&gt;           t001p,    " Personnel Subarea&lt;/P&gt;&lt;P&gt;           t005t,    " Country Descriptions&lt;/P&gt;&lt;P&gt;           t500p,    " Personnel Area&lt;/P&gt;&lt;P&gt;           t501,     " Employee Group&lt;/P&gt;&lt;P&gt;           t503k,    " Employee Subgroup&lt;/P&gt;&lt;P&gt;           csks,     " Cost Centers&lt;/P&gt;&lt;P&gt;           cskt,     " Cost Center Texts&lt;/P&gt;&lt;P&gt;           t513c,    " Job (Previous) Texts&lt;/P&gt;&lt;P&gt;           t513s,    " Job Titles&lt;/P&gt;&lt;P&gt;           t517t,    " Edn Est.Text&lt;/P&gt;&lt;P&gt;           t518b,    " Discipline Text&lt;/P&gt;&lt;P&gt;           t519t,    " Certificate Text&lt;/P&gt;&lt;P&gt;           t528t,    " Positions Texts&lt;/P&gt;&lt;P&gt;           t538t,    " Unit Text&lt;/P&gt;&lt;P&gt;           pa0003.   " Payroll Status&lt;/P&gt;&lt;P&gt;infotypes:&lt;/P&gt;&lt;P&gt;           0000,   " Actions&lt;/P&gt;&lt;P&gt;           0001,   " Organizational Assignment&lt;/P&gt;&lt;P&gt;           0002,   " Personal Data&lt;/P&gt;&lt;P&gt;           0007,   " Planned working time&lt;/P&gt;&lt;P&gt;           0008,   " Payroll Data&lt;/P&gt;&lt;P&gt;           0022,   " Education Data&lt;/P&gt;&lt;P&gt;           0023,   " Previous Employer data&lt;/P&gt;&lt;P&gt;           0025,   " Performance Appraisal Data&lt;/P&gt;&lt;P&gt;           0041,   " Date Spcifications&lt;/P&gt;&lt;P&gt;           2001.   " Absences&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; Declaration of Internal Tables&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;Internal Table for Personal Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of pers_tab occurs 0,&lt;/P&gt;&lt;P&gt;        pernr like pa0001-pernr,      " Personal Number&lt;/P&gt;&lt;P&gt;        ename like pa0001-ename,      " Employee Name&lt;/P&gt;&lt;P&gt;        trfgr like pa0008-trfgr,      " Grade&lt;/P&gt;&lt;P&gt;        natio like pa0002-natio,      " Nationality&lt;/P&gt;&lt;P&gt;        hdate like pa0041-dat01,      " Hire Date&lt;/P&gt;&lt;P&gt;        gbdat like pa0002-gbdat,      " Birth Date&lt;/P&gt;&lt;P&gt;        plans like pa0001-plans,      " Position&lt;/P&gt;&lt;P&gt;        werks like pa0001-werks,      " Pers.Area&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,      " Cost Center&lt;/P&gt;&lt;P&gt;        ctext(40),                    " Cost Center Text&lt;/P&gt;&lt;P&gt;        ptext(25),                    " Position Text&lt;/P&gt;&lt;P&gt;        ntext(15),                    " Nation Text&lt;/P&gt;&lt;P&gt;        name1(23),                    " Location&lt;/P&gt;&lt;P&gt;      end of pers_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Payroll Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of pay_tab occurs 0,&lt;/P&gt;&lt;P&gt;        pernr like pa0008-pernr,      " Personal Number&lt;/P&gt;&lt;P&gt;        waers like pbwla-waers,       " Grade&lt;/P&gt;&lt;P&gt;        basic like pa0008-bet01,      " Basic Pay&lt;/P&gt;&lt;P&gt;        hra_allow like pa0008-bet01,  " Housing Allowance&lt;/P&gt;&lt;P&gt;        sup_allow like pa0008-bet01,  " Supp. Allowance&lt;/P&gt;&lt;P&gt;        soc_allow like pa0008-bet01,  " Social Allowance&lt;/P&gt;&lt;P&gt;        chl_allow like pa0008-bet01,  " Child Allowance&lt;/P&gt;&lt;P&gt;        fix_allow like pa0008-bet01,  " Fixed Overtime&lt;/P&gt;&lt;P&gt;        ra_allow  like pa0008-bet01,  " RA Allowance&lt;/P&gt;&lt;P&gt;        per_allow like pa0008-bet01,  " Perform. Allowance&lt;/P&gt;&lt;P&gt;        pen_allow like pa0008-bet01,  " Pension Allowance&lt;/P&gt;&lt;P&gt;        oth_allow like pa0008-bet01,  " Other Allowances&lt;/P&gt;&lt;P&gt;        tot_allow like pa0008-bet01,  " Total Allowances&lt;/P&gt;&lt;P&gt;      end of pay_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Educational Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of edn_tab occurs 0,&lt;/P&gt;&lt;P&gt;        pernr like pa0022-pernr,      " Personal Number&lt;/P&gt;&lt;P&gt;        ausbi like pa0022-ausbi,      " Discipline Name&lt;/P&gt;&lt;P&gt;        slart like pa0022-slart,      " Edn Establishment&lt;/P&gt;&lt;P&gt;        insti like pa0022-insti,      " Institute&lt;/P&gt;&lt;P&gt;        sland like pa0022-sland,      " Country&lt;/P&gt;&lt;P&gt;        slabs like pa0022-slabs,      " Certificate&lt;/P&gt;&lt;P&gt;        anzkl like pa0022-anzkl,      " Duration&lt;/P&gt;&lt;P&gt;        anzeh like pa0022-anzeh,      " Unit for Duration&lt;/P&gt;&lt;P&gt;        atext like t518b-atext,       " Discipline Text&lt;/P&gt;&lt;P&gt;        stext like t517t-stext,       " Edn Est.Text&lt;/P&gt;&lt;P&gt;        landx like t005t-landx,       " Country Text&lt;/P&gt;&lt;P&gt;        ctext like t519t-stext,       " Certificate Text&lt;/P&gt;&lt;P&gt;        etext like t538t-etext,       " Unit Text&lt;/P&gt;&lt;P&gt;      end of edn_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Previous Employment Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of pemp_tab occurs 0,&lt;/P&gt;&lt;P&gt;        pernr like pa0023-pernr,      " Personal Number&lt;/P&gt;&lt;P&gt;        arbgb like pa0023-arbgb,      " Previous Employer&lt;/P&gt;&lt;P&gt;        begda like pa0023-begda,      " Start Date&lt;/P&gt;&lt;P&gt;        endda like pa0023-endda,      " End Date&lt;/P&gt;&lt;P&gt;        taete like pa0023-taete,      " Last Position&lt;/P&gt;&lt;P&gt;        land1 like pa0023-land1,      " Country&lt;/P&gt;&lt;P&gt;        stltx like t513s-stltx,       " Position Text&lt;/P&gt;&lt;P&gt;        landx like t005t-landx,       " Country Text&lt;/P&gt;&lt;P&gt;      end of pemp_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Job History Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of job_tab occurs 0,&lt;/P&gt;&lt;P&gt;        pernr like pa0001-pernr,      " Personal Number&lt;/P&gt;&lt;P&gt;        begda like pa0001-begda,      " Promotion Date&lt;/P&gt;&lt;P&gt;        plans like pa0001-plans,      " Position&lt;/P&gt;&lt;P&gt;        stell like pa0001-stell,      " Job Key&lt;/P&gt;&lt;P&gt;        stltx like t513s-stltx,       " Job Text&lt;/P&gt;&lt;P&gt;        ptext like t528t-plstx,       " Position Text&lt;/P&gt;&lt;P&gt;      end of job_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Performance Appraisal Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of app_tab occurs 0,&lt;/P&gt;&lt;P&gt;        pernr like pa0001-pernr,       " Personal Number&lt;/P&gt;&lt;P&gt;        year(4) type     c,            " Current Year&lt;/P&gt;&lt;P&gt;        appr(35) type    c,            " C Y Appraisal&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       year1(4) type    c,            " Last Year&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       appr1(35) type   c,            " Last Year Appraisal&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       year2(4) type    c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       appr2(35) type   c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       year3(4) type    c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       appr3(35) type   c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       year4(4) type    c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       appr4(35) type   c,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      end of app_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Performance Appraisal Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of app1_tab occurs 0,&lt;/P&gt;&lt;P&gt;        year(4) type     c,            " Year&lt;/P&gt;&lt;P&gt;        appr(35) type    c,            " Appraisal&lt;/P&gt;&lt;P&gt;      end of app1_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table to get the Payroll Amounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data  wage_tab like pbwla occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for retreiving Employee Appraisals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data  app_in_tab  like hrsobid occurs 0 with header line .&lt;/P&gt;&lt;P&gt;data  app_out_tab like hrpe_profa  occurs 0 with header line .&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; Declaration of Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;data : v_year(4)  type c,&lt;/P&gt;&lt;P&gt;       v_ayear(4) type c,&lt;/P&gt;&lt;P&gt;       v_cyear(4) type c,&lt;/P&gt;&lt;P&gt;       v_year1(4) type c,&lt;/P&gt;&lt;P&gt;       v_year2(4) type c,&lt;/P&gt;&lt;P&gt;       v_year3(4) type c,&lt;/P&gt;&lt;P&gt;       v_year4(4) type c,&lt;/P&gt;&lt;P&gt;       v_year5(4) type c,&lt;/P&gt;&lt;P&gt;       v_year6(4) type c,&lt;/P&gt;&lt;P&gt;       v_mon(2)   type c,&lt;/P&gt;&lt;P&gt;       v_date2  like sy-datum,&lt;/P&gt;&lt;P&gt;       v_date3  like sy-datum,&lt;/P&gt;&lt;P&gt;       v_date   like sy-datum,&lt;/P&gt;&lt;P&gt;       v_date1  like sy-datum.&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; Declaration of Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;constants : c_x       type c value 'X',              " Sign&lt;/P&gt;&lt;P&gt;            c_pernr(8) type n value '00000000',      " Pernr&lt;/P&gt;&lt;P&gt;            c_p   like hrp1007-otype  value 'P',     " Object Type&lt;/P&gt;&lt;P&gt;            c_01  like hrp1001-plvar  value '01',    " Version&lt;/P&gt;&lt;P&gt;            c_val1(2) type c value '31',             " Date Type&lt;/P&gt;&lt;P&gt;            c_val2(2) type c value '12',             " Date Type&lt;/P&gt;&lt;P&gt;            c_val    like p0041-dar01 value '01',    " Date Type&lt;/P&gt;&lt;P&gt;            c_1      like pernr-persg value '1',     " Emp Group&lt;/P&gt;&lt;P&gt;            c_type   like hrp1001-otype  value 'S',  " Object Type&lt;/P&gt;&lt;P&gt;            c_date1  like sy-datum value '18000101', " Date&lt;/P&gt;&lt;P&gt;            c_date2  like sy-datum value '99991231', " Date&lt;/P&gt;&lt;P&gt;            c_lga01 like pa0008-lga01 value '0101',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_lga02 like pa0008-lga01 value '0102',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_lga03 like pa0008-lga01 value '0103',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_lga04 like pa0008-lga01 value '0105',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_lga05 like pa0008-lga01 value '0109',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_lga06 like pa0008-lga01 value '0110',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_lga07 like pa0008-lga01 value '0114',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_lga08 like pa0008-lga01 value '0116',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_lga09 like pa0008-lga01 value '0267',  " Wage Type&lt;/P&gt;&lt;P&gt;            c_kokrs  like cskt-kokrs value '1000'.   " Controlling Area&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; Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;selection-screen begin of block b1 with frame title text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33)   text-060.&lt;/P&gt;&lt;P&gt;parameters: r_all radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33)   text-020.&lt;/P&gt;&lt;P&gt;parameters: r_per radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33)   text-021.&lt;/P&gt;&lt;P&gt;parameters: r_pay radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33)   text-022.&lt;/P&gt;&lt;P&gt;parameters: r_edn radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33)   text-023.&lt;/P&gt;&lt;P&gt;parameters: r_pemp radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33)   text-024.&lt;/P&gt;&lt;P&gt;parameters: r_job radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33)   text-025.&lt;/P&gt;&lt;P&gt;parameters: r_app radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block b1.&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; At selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Selection Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform validate_screen.&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; Start-of-Selection&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection of Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get PERNR from LDB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;get pernr.&lt;/P&gt;&lt;P&gt;  if pernr-persg eq c_1 or pernr-pernr ne c_pernr.&lt;/P&gt;&lt;P&gt;    if r_all eq c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Personal data from PA0001,PA0002, PA0008, PA0041&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_pers_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Payroll data from PA0008&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_pay_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Education data from PA0022&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_edn_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Previous Employment data from PA0023&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_pemp_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Job History data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_job_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Performance Appraisal data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_app_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif r_per eq c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Personal data from PA0001,PA0002, PA0008, PA0041&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_pers_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif r_pay eq c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Payroll data from PA0008&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_pay_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif r_edn eq c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Education data from PA0022&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_edn_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif r_pemp eq c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Previous Employment data from PA0023&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_pemp_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif r_job eq c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Job History data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_job_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif r_app eq c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Performance Appraisal data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform get_app_data.&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;***********************************************************************&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;P&gt;top-of-page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Report and Column Headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform top_of_page.&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; End-of-Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;end-of-page.&lt;/P&gt;&lt;P&gt;  perform end_of_page.&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; End-of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display the Output Report.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform display_report.&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; Form-Routines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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  validate_screen&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;Validation of selection Screen fields&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 validate_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Personnel Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear pa0003.&lt;/P&gt;&lt;P&gt;  if not pnppernr[] is initial.&lt;/P&gt;&lt;P&gt;    select pernr&lt;/P&gt;&lt;P&gt;    from pa0003 up to 1 rows&lt;/P&gt;&lt;P&gt;      into pa0003-pernr&lt;/P&gt;&lt;P&gt;      where pernr in pnppernr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Personnel Number Entered'(001).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Cost Center&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear csks.&lt;/P&gt;&lt;P&gt;  if not pnpkostl[] is initial.&lt;/P&gt;&lt;P&gt;    select single kostl&lt;/P&gt;&lt;P&gt;      into csks-kostl&lt;/P&gt;&lt;P&gt;      from csks&lt;/P&gt;&lt;P&gt;      where kostl in pnpkostl.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Invalid Cost Center'(002).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Personnel Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t500p.&lt;/P&gt;&lt;P&gt;  if not pnpwerks[] is initial.&lt;/P&gt;&lt;P&gt;    select persa&lt;/P&gt;&lt;P&gt;    from t500p up to 1 rows&lt;/P&gt;&lt;P&gt;      into t500p-persa&lt;/P&gt;&lt;P&gt;      where persa in pnpwerks.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Personnel Area Entered'(004).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Personnel Sub Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001p.&lt;/P&gt;&lt;P&gt;  if not pnpbtrtl[] is initial.&lt;/P&gt;&lt;P&gt;    select btrtl&lt;/P&gt;&lt;P&gt;    from t001p up to 1 rows&lt;/P&gt;&lt;P&gt;      into t001p-btrtl&lt;/P&gt;&lt;P&gt;      where btrtl in pnpbtrtl.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Personnel Sub Area Entered'(005).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Employee Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t501.&lt;/P&gt;&lt;P&gt;  if not pnppersg[] is initial.&lt;/P&gt;&lt;P&gt;    select persg&lt;/P&gt;&lt;P&gt;    from t501 up to 1 rows&lt;/P&gt;&lt;P&gt;      into t501-persg&lt;/P&gt;&lt;P&gt;      where persg in pnppersg.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Employee Group Entered'(006).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Employee Sub Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t503k.&lt;/P&gt;&lt;P&gt;  if not pnppersk[] is initial.&lt;/P&gt;&lt;P&gt;    select persk&lt;/P&gt;&lt;P&gt;    from t503k up to 1 rows&lt;/P&gt;&lt;P&gt;      into t503k-persk&lt;/P&gt;&lt;P&gt;      where persk in pnppersk.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Employee Sub Group Entered'(007).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                  "validate_screen&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  get_period&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;Get the Correct Period based on Selection screen selection&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_period.&lt;/P&gt;&lt;P&gt;  clear: v_year,v_mon, v_date, v_date1.&lt;/P&gt;&lt;P&gt;  v_year = sy-datum+0(4).&lt;/P&gt;&lt;P&gt;  v_mon  = sy-datum+4(2).&lt;/P&gt;&lt;P&gt;  if pnptimr1 = c_x.      " Current Date&lt;/P&gt;&lt;P&gt;    pnpbegda = sy-datum.&lt;/P&gt;&lt;P&gt;    pnpendda = sy-datum.&lt;/P&gt;&lt;P&gt;  elseif pnptimr2 = c_x.  " Current Month&lt;/P&gt;&lt;P&gt;    concatenate v_year v_mon c_val into v_date.&lt;/P&gt;&lt;P&gt;    concatenate v_year v_mon c_val1 into v_date1.&lt;/P&gt;&lt;P&gt;    pnpbegda = v_date.&lt;/P&gt;&lt;P&gt;    pnpendda = v_date1.&lt;/P&gt;&lt;P&gt;  elseif pnptimr3 = c_x.  " Current Year&lt;/P&gt;&lt;P&gt;    concatenate v_year c_val c_val into v_date.&lt;/P&gt;&lt;P&gt;    concatenate v_year c_val2 c_val1 into v_date1.&lt;/P&gt;&lt;P&gt;    pnpbegda = v_date.&lt;/P&gt;&lt;P&gt;    pnpendda = v_date1.&lt;/P&gt;&lt;P&gt;  elseif pnptimr4 = c_x.  " Upto Today&lt;/P&gt;&lt;P&gt;    pnpbegda = c_date1.&lt;/P&gt;&lt;P&gt;    pnpendda = sy-datum.&lt;/P&gt;&lt;P&gt;  elseif pnptimr5 = c_x.  " From Today&lt;/P&gt;&lt;P&gt;    pnpbegda = sy-datum.&lt;/P&gt;&lt;P&gt;    pnpendda = c_date2.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if ( pnpbegda is initial and pnpendda is initial ).&lt;/P&gt;&lt;P&gt;      pnpbegda = c_date1.&lt;/P&gt;&lt;P&gt;      pnpendda = c_date2.&lt;/P&gt;&lt;P&gt;    elseif pnpbegda is initial and not pnpendda is initial.&lt;/P&gt;&lt;P&gt;      pnpbegda = c_date1.&lt;/P&gt;&lt;P&gt;      pnpendda = pnpendda.&lt;/P&gt;&lt;P&gt;    elseif not ( pnpbegda is initial and pnpendda is initial ).&lt;/P&gt;&lt;P&gt;      pnpbegda = pnpbegda.&lt;/P&gt;&lt;P&gt;      pnpendda = pnpendda.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.              "get_period&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  get_pers_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;Get the Personal Data from PA0001,PA0002,PA0008, PA0041&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_pers_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get data from Respective Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp_provide_from_last p0001 space pnpbegda pnpendda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0002 space pnpbegda pnpendda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0008 space pnpbegda pnpendda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0041 space pnpbegda pnpendda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  pers_tab-pernr    = p0001-pernr.&lt;/P&gt;&lt;P&gt;  pers_tab-ename    = p0001-ename.&lt;/P&gt;&lt;P&gt;  pers_tab-werks    = p0001-werks.&lt;/P&gt;&lt;P&gt;  pers_tab-plans    = p0001-plans.&lt;/P&gt;&lt;P&gt;  pers_tab-kostl    = p0001-kostl.&lt;/P&gt;&lt;P&gt;  pers_tab-gbdat    = p0002-gbdat.&lt;/P&gt;&lt;P&gt;  pers_tab-trfgr    = p0008-trfgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Engaged Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  read table p0041 with key dar01 = c_val.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    pers_tab-hdate = p0041-dat01.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Cost Center Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear cskt-ltext.&lt;/P&gt;&lt;P&gt;  select single ltext into cskt-ltext from cskt&lt;/P&gt;&lt;P&gt;          where spras = sy-langu and&lt;/P&gt;&lt;P&gt;                kokrs = c_kokrs and&lt;/P&gt;&lt;P&gt;                kostl = p0001-kostl.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    pers_tab-ctext = cskt-ltext.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Position Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t528t-plstx.&lt;/P&gt;&lt;P&gt;  select single plstx into t528t-plstx from t528t&lt;/P&gt;&lt;P&gt;          where plans = p0001-plans and&lt;/P&gt;&lt;P&gt;                otype = c_type and&lt;/P&gt;&lt;P&gt;                sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    pers_tab-ptext = t528t-plstx.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Nationality&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t005t-natio.&lt;/P&gt;&lt;P&gt;  select single natio into t005t-natio from t005t&lt;/P&gt;&lt;P&gt;          where spras = sy-langu and&lt;/P&gt;&lt;P&gt;                land1 = p0002-natio.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    pers_tab-ntext = t005t-natio.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Location (Personal Area) Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t500p-name1.&lt;/P&gt;&lt;P&gt;  select single name1 into t500p-name1 from t500p&lt;/P&gt;&lt;P&gt;          where persa = p0001-werks.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    pers_tab-name1 = t500p-name1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append pers_tab.&lt;/P&gt;&lt;P&gt;  clear pers_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort pers_tab by pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.          "get_pers_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  get_pay_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;Get the Payroll Data from Infotype 0008&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_pay_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Payroll data from Respective Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp_provide_from_last p0008 space pnpbegda pnpendda.&lt;/P&gt;&lt;P&gt;  pay_tab-pernr    = pernr-pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'RP_FILL_WAGE_TYPE_TABLE_EXT'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;     appli                              = 'E'&lt;/P&gt;&lt;P&gt;     begda                              = p0008-begda&lt;/P&gt;&lt;P&gt;     endda                              = p0008-endda&lt;/P&gt;&lt;P&gt;     infty                              = '0008'&lt;/P&gt;&lt;P&gt;     objps                              = '  '&lt;/P&gt;&lt;P&gt;     tclas                              = 'A'&lt;/P&gt;&lt;P&gt;     pernr                              = pernr-pernr&lt;/P&gt;&lt;P&gt;     seqnr                              = '   '&lt;/P&gt;&lt;P&gt;     subty                              = '0   '&lt;/P&gt;&lt;P&gt;     dlspl                              = 'X'&lt;/P&gt;&lt;P&gt;     msgflg                             = ''&lt;/P&gt;&lt;P&gt;     nordct                             = ''&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      pp0001                             = p0001&lt;/P&gt;&lt;P&gt;      pp0007                             = p0007&lt;/P&gt;&lt;P&gt;      pp0008                             = p0008&lt;/P&gt;&lt;P&gt;      ppbwla                             = wage_tab&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PP0230                             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PP0014                             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PP0015                             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PP0052                             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ERROR_AT_INDIRECT_EVALUATION       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                             = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  loop at wage_tab.&lt;/P&gt;&lt;P&gt;    pay_tab-waers = wage_tab-waers.&lt;/P&gt;&lt;P&gt;    case wage_tab-lgart.&lt;/P&gt;&lt;P&gt;      when c_lga01.&lt;/P&gt;&lt;P&gt;        pay_tab-basic = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when c_lga02.&lt;/P&gt;&lt;P&gt;        pay_tab-sup_allow = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when c_lga03.&lt;/P&gt;&lt;P&gt;        pay_tab-hra_allow = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when c_lga04.&lt;/P&gt;&lt;P&gt;        pay_tab-chl_allow = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when c_lga05.&lt;/P&gt;&lt;P&gt;        pay_tab-soc_allow = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when c_lga06.&lt;/P&gt;&lt;P&gt;        pay_tab-fix_allow = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when c_lga07.&lt;/P&gt;&lt;P&gt;        pay_tab-ra_allow = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when c_lga08.&lt;/P&gt;&lt;P&gt;        pay_tab-per_allow = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when c_lga09.&lt;/P&gt;&lt;P&gt;        pay_tab-pen_allow = wage_tab-betrg.&lt;/P&gt;&lt;P&gt;      when others.&lt;/P&gt;&lt;P&gt;        pay_tab-oth_allow = pay_tab-oth_allow + wage_tab-betrg.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;    pay_tab-tot_allow = pay_tab-basic + pay_tab-sup_allow +&lt;/P&gt;&lt;P&gt;                        pay_tab-hra_allow + pay_tab-chl_allow +&lt;/P&gt;&lt;P&gt;                        pay_tab-soc_allow + pay_tab-fix_allow +&lt;/P&gt;&lt;P&gt;                        pay_tab-ra_allow + pay_tab-per_allow +&lt;/P&gt;&lt;P&gt;                        pay_tab-oth_allow - pay_tab-pen_allow.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  append pay_tab.&lt;/P&gt;&lt;P&gt;  clear  pay_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.          "get_pay_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  get_edn_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;Get the Education Data from Infotype 0022&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_edn_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Education data from Respective Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at p0022 where pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;    edn_tab-pernr    = pernr-pernr.&lt;/P&gt;&lt;P&gt;    edn_tab-ausbi    = p0022-ausbi.&lt;/P&gt;&lt;P&gt;    edn_tab-slart    = p0022-slart.&lt;/P&gt;&lt;P&gt;    edn_tab-insti    = p0022-insti.&lt;/P&gt;&lt;P&gt;    edn_tab-sland    = p0022-sland.&lt;/P&gt;&lt;P&gt;    edn_tab-slabs    = p0022-slabs.&lt;/P&gt;&lt;P&gt;    edn_tab-anzkl    = p0022-anzkl.&lt;/P&gt;&lt;P&gt;    edn_tab-anzeh    = p0022-anzeh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Discipline Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t518b-atext.&lt;/P&gt;&lt;P&gt;    select single atext into t518b-atext from t518b&lt;/P&gt;&lt;P&gt;            where langu = sy-langu and&lt;/P&gt;&lt;P&gt;                  ausbi = p0022-ausbi.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      edn_tab-atext = t518b-atext.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Edn Establishment Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t517t-stext.&lt;/P&gt;&lt;P&gt;    select single stext into t517t-stext from t517t&lt;/P&gt;&lt;P&gt;            where slart = p0022-slart and&lt;/P&gt;&lt;P&gt;                  sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      edn_tab-stext = t517t-stext.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Certificate Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t519t-stext.&lt;/P&gt;&lt;P&gt;    select single stext into t519t-stext from t519t&lt;/P&gt;&lt;P&gt;            where slabs = p0022-slabs and&lt;/P&gt;&lt;P&gt;                  sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      edn_tab-ctext = t519t-stext.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Unit Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t538t-etext.&lt;/P&gt;&lt;P&gt;    select single etext into t538t-etext from t538t&lt;/P&gt;&lt;P&gt;            where zeinh = p0022-anzeh and&lt;/P&gt;&lt;P&gt;                  sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      edn_tab-etext = t538t-etext.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Country Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t005t-landx.&lt;/P&gt;&lt;P&gt;    select single landx into t005t-landx from t005t&lt;/P&gt;&lt;P&gt;            where spras = sy-langu and&lt;/P&gt;&lt;P&gt;                  land1 = p0022-sland.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      edn_tab-landx = t005t-landx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append edn_tab.&lt;/P&gt;&lt;P&gt;    clear edn_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.              "edn_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  get_pemp_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;Get the Previous Employment Data from Infotype 0023&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_pemp_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Previous Employment data from Respective Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at p0023 where pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    pemp_tab-pernr    = pernr-pernr.&lt;/P&gt;&lt;P&gt;    pemp_tab-arbgb    = p0023-arbgb.&lt;/P&gt;&lt;P&gt;    pemp_tab-begda    = p0023-begda.&lt;/P&gt;&lt;P&gt;    pemp_tab-endda    = p0023-endda.&lt;/P&gt;&lt;P&gt;    pemp_tab-taete    = p0023-taete.&lt;/P&gt;&lt;P&gt;    pemp_tab-land1    = p0023-land1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Last Job Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t513c-ltext.&lt;/P&gt;&lt;P&gt;    select single ltext into t513c-ltext from t513c&lt;/P&gt;&lt;P&gt;            where taete = pemp_tab-taete and&lt;/P&gt;&lt;P&gt;                  spras = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      pemp_tab-stltx = t513c-ltext.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Country Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t005t-landx.&lt;/P&gt;&lt;P&gt;    select single landx into t005t-landx from t005t&lt;/P&gt;&lt;P&gt;            where spras = sy-langu and&lt;/P&gt;&lt;P&gt;                  land1 = pemp_tab-land1.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      pemp_tab-landx = t005t-landx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append pemp_tab.&lt;/P&gt;&lt;P&gt;    clear pemp_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort pemp_tab by pernr.&lt;/P&gt;&lt;P&gt;endform.              "pemp_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  get_job_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;Get the Job History Data from Infotype&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_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Job History data from Respective Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at p0001 where pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;    job_tab-pernr    = pernr-pernr.&lt;/P&gt;&lt;P&gt;    job_tab-begda    = p0001-begda.&lt;/P&gt;&lt;P&gt;    job_tab-plans    = p0001-plans.&lt;/P&gt;&lt;P&gt;    job_tab-stell    = p0001-stell.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Last Job Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t513s-stltx.&lt;/P&gt;&lt;P&gt;    select single stltx into t513s-stltx from t513s&lt;/P&gt;&lt;P&gt;            where stell = job_tab-stell and&lt;/P&gt;&lt;P&gt;                  sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      job_tab-stltx = t513s-stltx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Position Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t528t-plstx.&lt;/P&gt;&lt;P&gt;    select single plstx into t528t-plstx from t528t&lt;/P&gt;&lt;P&gt;            where plans = job_tab-plans and&lt;/P&gt;&lt;P&gt;                  otype = c_type and&lt;/P&gt;&lt;P&gt;                  sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      job_tab-ptext = t528t-plstx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append job_tab.&lt;/P&gt;&lt;P&gt;    clear  job_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort job_tab by pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.          "get_job_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  get_app_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;Get the Performance Appraisal Data from Infotype&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_app_data.&lt;/P&gt;&lt;P&gt;  clear: v_cyear, v_year1, v_year2, v_year3, v_year4,&lt;/P&gt;&lt;P&gt;         v_year5, v_year6, v_ayear, v_date2, v_date3.&lt;/P&gt;&lt;P&gt;  v_cyear = sy-datum+0(4) - 1.&lt;/P&gt;&lt;P&gt;  v_year1 = v_cyear - 1.&lt;/P&gt;&lt;P&gt;  v_year2 = v_cyear - 2.&lt;/P&gt;&lt;P&gt;  v_year3 = v_cyear - 3.&lt;/P&gt;&lt;P&gt;  v_year4 = v_cyear - 4.&lt;/P&gt;&lt;P&gt;  v_year5 = v_cyear - 5.&lt;/P&gt;&lt;P&gt;  v_year6 = v_cyear - 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate v_cyear c_date2+4(4) into v_date2.&lt;/P&gt;&lt;P&gt;  concatenate v_year6 c_date1+4(4) into v_date3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear: app_in_tab, app_out_tab.&lt;/P&gt;&lt;P&gt;  refresh: app_in_tab, app_out_tab.&lt;/P&gt;&lt;P&gt;  app_in_tab-plvar = c_01.&lt;/P&gt;&lt;P&gt;  app_in_tab-otype = c_p.&lt;/P&gt;&lt;P&gt;  app_in_tab-sobid = pernr-pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append app_in_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Appraisals data from Respective Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  call function 'RHPA_APPRAISEES_APP_READ'&lt;/P&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;P&gt;     begda               =   v_date3&lt;/P&gt;&lt;P&gt;     endda               =   v_date2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WITH_STEXT          = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WITH_ADD_INFO       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      appraisees          = app_in_tab&lt;/P&gt;&lt;P&gt;      appraisals          = app_out_tab&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     no_authority        = 1&lt;/P&gt;&lt;P&gt;     undefined           = 2&lt;/P&gt;&lt;P&gt;     others              = 3&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;  sort app_out_tab  by sobid vbegd vendd appraisal_adate descending .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from app_out_tab&lt;/P&gt;&lt;P&gt;            comparing  sobid vbegd vendd.&lt;/P&gt;&lt;P&gt;  loop at app_out_tab where appraisal_histo = 'X' .&lt;/P&gt;&lt;P&gt;    condense app_out_tab-appraisal_result.&lt;/P&gt;&lt;P&gt;    app1_tab-year = app_out_tab-vendd+0(4).&lt;/P&gt;&lt;P&gt;    app1_tab-appr = app_out_tab-appraisal_result_text.&lt;/P&gt;&lt;P&gt;    append app1_tab.&lt;/P&gt;&lt;P&gt;    clear app1_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort app1_tab by year descending.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at app1_tab.&lt;/P&gt;&lt;P&gt;    app_tab-pernr    = pernr-pernr.&lt;/P&gt;&lt;P&gt;    move-corresponding  app1_tab to app_tab.&lt;/P&gt;&lt;P&gt;    append app_tab.&lt;/P&gt;&lt;P&gt;    clear: app1_tab, app_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  refresh app1_tab.&lt;/P&gt;&lt;P&gt;  sort app_tab by pernr.&lt;/P&gt;&lt;P&gt;  delete app_tab where year = ' ' and appr = ' ' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.          "get_app_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  top_of_page&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;Write the Report and Column Headings&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 top_of_page.&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  format color col_heading on.&lt;/P&gt;&lt;P&gt;  if r_all eq c_x.&lt;/P&gt;&lt;P&gt;    write: /1(193) 'NATIONAL DRILLING COMPANY'(009) centered,&lt;/P&gt;&lt;P&gt;           /1(193) 'Employee Details Report'(066) centered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_per eq c_x.&lt;/P&gt;&lt;P&gt;    write: /1(193) 'NATIONAL DRILLING COMPANY'(009) centered,&lt;/P&gt;&lt;P&gt;           /1(193) 'Employee Details - Personal Data'(010)&lt;/P&gt;&lt;P&gt;                                            centered.&lt;/P&gt;&lt;P&gt;  elseif r_pay eq c_x.&lt;/P&gt;&lt;P&gt;    write: /1(172) 'NATIONAL DRILLING COMPANY'(009) centered,&lt;/P&gt;&lt;P&gt;           /1(172) 'Employee Details - Payroll Data'(027)&lt;/P&gt;&lt;P&gt;                                            centered.&lt;/P&gt;&lt;P&gt;  elseif r_edn eq c_x.&lt;/P&gt;&lt;P&gt;    write: /1(172) 'NATIONAL DRILLING COMPANY'(009) centered,&lt;/P&gt;&lt;P&gt;           /1(172) 'Employee Details - Education Data'(028)&lt;/P&gt;&lt;P&gt;                                            centered.&lt;/P&gt;&lt;P&gt;  elseif r_pemp eq c_x.&lt;/P&gt;&lt;P&gt;    write: /1(97) 'NATIONAL DRILLING COMPANY'(009) centered,&lt;/P&gt;&lt;P&gt;          /1(97) 'Employee Details - Previous Employment Data'(029)&lt;/P&gt;&lt;P&gt;                                            centered.&lt;/P&gt;&lt;P&gt;  elseif r_job eq c_x.&lt;/P&gt;&lt;P&gt;    write: /1(75) 'NATIONAL DRILLING COMPANY'(009) centered,&lt;/P&gt;&lt;P&gt;          /1(75) 'Employee Details - Job History Data'(030)&lt;/P&gt;&lt;P&gt;                                            centered.&lt;/P&gt;&lt;P&gt;  elseif r_app eq c_x.&lt;/P&gt;&lt;P&gt;    write: /1(192) 'NATIONAL DRILLING COMPANY'(009) centered,&lt;/P&gt;&lt;P&gt;          /1(192) 'Employee Details - Performance Appraisal Data'(031)&lt;/P&gt;&lt;P&gt;                                            centered.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  if pnptimr1 = c_x.      " Current Date&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(008), sy-datum,&lt;/P&gt;&lt;P&gt;                     'To:'(019), sy-datum.&lt;/P&gt;&lt;P&gt;  elseif pnptimr2 = c_x.  " Current Month&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(008), v_date, 'To:'(019), v_date1.&lt;/P&gt;&lt;P&gt;  elseif pnptimr3 = c_x.  " Current Year&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(008), v_date, 'To:'(019), v_date1.&lt;/P&gt;&lt;P&gt;  elseif pnptimr4 = c_x.  " Upto Today&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(008), c_date1, 'To:'(019), sy-datum.&lt;/P&gt;&lt;P&gt;  elseif pnptimr5 = c_x.  " From Today&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(008), sy-datum, 'To:'(019), c_date2.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if ( pnpbegda is initial and pnpendda is initial ).&lt;/P&gt;&lt;P&gt;      write: /2 'Period From     :'(008), c_date1, 'To:'(019), c_date2.&lt;/P&gt;&lt;P&gt;    elseif pnpbegda is initial and not pnpendda is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Period From     :'(008), c_date1, 'To:'(019), pnpendda.&lt;/P&gt;&lt;P&gt;    elseif not ( pnpbegda is initial and pnpendda is initial ).&lt;/P&gt;&lt;P&gt;      write: /2 'Period From     :'(008), pnpbegda,&lt;/P&gt;&lt;P&gt;               'To:'(019), pnpendda.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not ( r_pemp eq c_x or r_job eq c_x ).&lt;/P&gt;&lt;P&gt;    write: 140 'Report Run Date:'(073), sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not pnpkostl[] is initial.&lt;/P&gt;&lt;P&gt;      if pnpkostl-high is initial.&lt;/P&gt;&lt;P&gt;        write: /2 'Cost Center     :'(074), pnpkostl-low,&lt;/P&gt;&lt;P&gt;              125 'Time           :'(075), sy-uzeit.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: /2 'Cost Center From:'(076), pnpkostl-low+7(3),&lt;/P&gt;&lt;P&gt;                                  'To:'(019), pnpkostl-high,&lt;/P&gt;&lt;P&gt;              140 'Time           :'(075), sy-uzeit.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /140  'Time           :'(075), sy-uzeit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not pnppernr[] is initial.&lt;/P&gt;&lt;P&gt;      if pnppernr-high is initial.&lt;/P&gt;&lt;P&gt;        write: /2 'Personal Number :'(077), pnppernr-low,&lt;/P&gt;&lt;P&gt;               140 'User           :'(078), sy-uname.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: /2 'Personal No.From:'(079),  pnppernr-low,&lt;/P&gt;&lt;P&gt;                                  'To:'(019), pnppernr-high,&lt;/P&gt;&lt;P&gt;               140 'User           :'(078), sy-uname.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /140 'User           :'(078), sy-uname.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    write: /140 'Page No        :'(080), sy-pagno.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write: 48 'Report Run Date:'(073), sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not pnpkostl[] is initial.&lt;/P&gt;&lt;P&gt;      if pnpkostl-high is initial.&lt;/P&gt;&lt;P&gt;        write: /2 'Cost Center     :'(074), pnpkostl-low,&lt;/P&gt;&lt;P&gt;              48 'Time           :'(075), sy-uzeit.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: /2 'Cost Center From:'(076), pnpkostl-low+7(3),&lt;/P&gt;&lt;P&gt;                                  'To:'(019), pnpkostl-high,&lt;/P&gt;&lt;P&gt;              48 'Time           :'(075), sy-uzeit.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /48  'Time           :'(075), sy-uzeit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not pnppernr[] is initial.&lt;/P&gt;&lt;P&gt;      if pnppernr-high is initial.&lt;/P&gt;&lt;P&gt;        write: /2 'Personal Number :'(077), pnppernr-low,&lt;/P&gt;&lt;P&gt;               48 'User           :'(078), sy-uname.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: /2 'Personal No.From:'(079),  pnppernr-low,&lt;/P&gt;&lt;P&gt;                                  'To:'(019), pnppernr-high,&lt;/P&gt;&lt;P&gt;               48 'User           :'(078), sy-uname.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /48 'User           :'(078), sy-uname.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    write: /48 'Page No        :'(080), sy-pagno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  if r_per eq c_x.&lt;/P&gt;&lt;P&gt;    write /1(193) sy-uline.&lt;/P&gt;&lt;P&gt;    format color col_heading on.&lt;/P&gt;&lt;P&gt;    write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;          12 sy-vline, 13(40) 'Name'(012) centered,&lt;/P&gt;&lt;P&gt;          53 sy-vline, 54(8)  'Grade'(013) centered,&lt;/P&gt;&lt;P&gt;          62 sy-vline, 63(15) 'Nationality'(017) centered,&lt;/P&gt;&lt;P&gt;          78 sy-vline, 79(10) 'Eng.Date'(014) centered,&lt;/P&gt;&lt;P&gt;          89 sy-vline, 90(10) 'Birth Date'(016) centered,&lt;/P&gt;&lt;P&gt;         100 sy-vline,101(25) 'Location'(026) centered,&lt;/P&gt;&lt;P&gt;         126 sy-vline,127(25) 'Position'(015) centered,&lt;/P&gt;&lt;P&gt;         152 sy-vline,153(40) 'Division'(018) centered,&lt;/P&gt;&lt;P&gt;         193 sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    write /1(193) sy-uline.&lt;/P&gt;&lt;P&gt;  elseif r_pay eq c_x.&lt;/P&gt;&lt;P&gt;    write /1(188) sy-uline.&lt;/P&gt;&lt;P&gt;    format color col_heading on.&lt;/P&gt;&lt;P&gt;    write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;          12 sy-vline, 13(15) 'Basic'(033) centered,&lt;/P&gt;&lt;P&gt;          28 sy-vline, 29(15) 'Housing Allow.'(034) centered,&lt;/P&gt;&lt;P&gt;          44 sy-vline, 45(15) 'Sup.Allow.'(035) centered,&lt;/P&gt;&lt;P&gt;          60 sy-vline, 61(15) 'Social Allow.'(036) centered,&lt;/P&gt;&lt;P&gt;          76 sy-vline, 77(15) 'Child Allow.'(037) centered,&lt;/P&gt;&lt;P&gt;          92 sy-vline, 93(15) 'Fixed Overtime'(038) centered,&lt;/P&gt;&lt;P&gt;         108 sy-vline,109(15) 'R.A.Allow.'(041) centered,&lt;/P&gt;&lt;P&gt;         124 sy-vline,125(15) 'Perform.Allow.'(039) centered,&lt;/P&gt;&lt;P&gt;         140 sy-vline,141(15) 'Pension.Allow.'(059) centered,&lt;/P&gt;&lt;P&gt;         156 sy-vline,157(15) 'Others'(040) centered,&lt;/P&gt;&lt;P&gt;         172 sy-vline,173(15) 'Total'(042) centered,&lt;/P&gt;&lt;P&gt;         188 sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    write /1(188) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_edn eq c_x.&lt;/P&gt;&lt;P&gt;    write /1(172) sy-uline.&lt;/P&gt;&lt;P&gt;    format color col_heading on.&lt;/P&gt;&lt;P&gt;    write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;          12 sy-vline, 13(25) 'Discipline'(043) centered,&lt;/P&gt;&lt;P&gt;          38 sy-vline, 39(20) 'Edu.Establishment'(044) centered,&lt;/P&gt;&lt;P&gt;          59 sy-vline, 60(45) 'Institute'(045) centered,&lt;/P&gt;&lt;P&gt;         105 sy-vline,106(15) 'Country'(046) centered,&lt;/P&gt;&lt;P&gt;         121 sy-vline,122(30) 'Certificate'(047) centered,&lt;/P&gt;&lt;P&gt;         152 sy-vline,153(19) 'Duration of Course'(048) centered,&lt;/P&gt;&lt;P&gt;         172 sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    write /1(172) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_pemp eq c_x.&lt;/P&gt;&lt;P&gt;    write /1(97) sy-uline.&lt;/P&gt;&lt;P&gt;    format color col_heading on.&lt;/P&gt;&lt;P&gt;    write:/1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;          33 sy-vline, 34(21) 'Employment Period'(055) centered,&lt;/P&gt;&lt;P&gt;          55 sy-vline, 81 sy-vline,&lt;/P&gt;&lt;P&gt;          97 sy-vline.&lt;/P&gt;&lt;P&gt;    write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;          12 sy-vline, 13(20) 'Employer'(049) centered,&lt;/P&gt;&lt;P&gt;          33 sy-vline, 34(10) 'From'(050) centered,&lt;/P&gt;&lt;P&gt;          44 sy-vline, 45(10) 'To'(051) centered,&lt;/P&gt;&lt;P&gt;          55 sy-vline, 56(25) 'Last Position'(052) centered,&lt;/P&gt;&lt;P&gt;          81 sy-vline, 82(15) 'Country'(053) centered,&lt;/P&gt;&lt;P&gt;          97 sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    write /1(97) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_job eq c_x.&lt;/P&gt;&lt;P&gt;    write /1(75) sy-uline.&lt;/P&gt;&lt;P&gt;    format color col_heading on.&lt;/P&gt;&lt;P&gt;    write:/1 sy-vline,&lt;/P&gt;&lt;P&gt;          12 sy-vline,13(10) 'Date of'(054) centered,&lt;/P&gt;&lt;P&gt;          23 sy-vline,49 sy-vline,&lt;/P&gt;&lt;P&gt;          75 sy-vline.&lt;/P&gt;&lt;P&gt;    write:/1 sy-vline,2(10)  'Employee #'(011),&lt;/P&gt;&lt;P&gt;          12 sy-vline,13(10) 'Upgrading/'(058) centered,&lt;/P&gt;&lt;P&gt;          23 sy-vline,24(25) 'Position'(015) centered,&lt;/P&gt;&lt;P&gt;          49 sy-vline,50(25) 'Job'(056) centered,&lt;/P&gt;&lt;P&gt;          75 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;          13(10) 'Promotion'(057) centered,&lt;/P&gt;&lt;P&gt;          23 sy-vline, 49 sy-vline,&lt;/P&gt;&lt;P&gt;          75 sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    write /1(75) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_app eq c_x.&lt;/P&gt;&lt;P&gt;    format color col_heading on.&lt;/P&gt;&lt;P&gt;     write: /1 sy-vline,2(56) sy-uline, 58 sy-vline,&lt;/P&gt;&lt;P&gt;            /1 sy-vline, 2(56) text-025 centered color 3, 58 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     write /1(58) sy-uline.&lt;/P&gt;&lt;P&gt;     format color col_heading on.&lt;/P&gt;&lt;P&gt;     write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;           12 sy-vline, 13(4)  'Year'(067),&lt;/P&gt;&lt;P&gt;           17 sy-vline, 18(40) 'Appraisal Text'(068) centered,&lt;/P&gt;&lt;P&gt;           58 sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    write /1(58) sy-uline.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.               "top_of_page&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  end_of_page&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;Write the Page footers&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 end_of_page.&lt;/P&gt;&lt;P&gt;  if r_per eq c_x.&lt;/P&gt;&lt;P&gt;    write : /(193) sy-uline.&lt;/P&gt;&lt;P&gt;  elseif r_pay eq c_x.&lt;/P&gt;&lt;P&gt;    write : /(188) sy-uline.&lt;/P&gt;&lt;P&gt;  elseif r_edn eq c_x.&lt;/P&gt;&lt;P&gt;    write : /(172) sy-uline.&lt;/P&gt;&lt;P&gt;  elseif r_pemp eq c_x.&lt;/P&gt;&lt;P&gt;    write /1(97) sy-uline.&lt;/P&gt;&lt;P&gt;  elseif r_job eq c_x.&lt;/P&gt;&lt;P&gt;    write /1(75) sy-uline.&lt;/P&gt;&lt;P&gt;  elseif r_app eq c_x.&lt;/P&gt;&lt;P&gt;    write /1(217) sy-uline.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.               "end_of_page&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  Display_report&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;Write the Report Output&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 display_report.&lt;/P&gt;&lt;P&gt;  if r_all eq c_x.&lt;/P&gt;&lt;P&gt;    if pers_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Personal Data found'(061).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline,2(51) sy-uline, 53 sy-vline,&lt;/P&gt;&lt;P&gt;             /1 sy-vline, 2(50) text-020 centered color 3, 53 sy-vline.&lt;/P&gt;&lt;P&gt;      write /1(193) sy-uline.&lt;/P&gt;&lt;P&gt;      format color col_heading on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(40) 'Name'(012) centered,&lt;/P&gt;&lt;P&gt;            53 sy-vline, 54(8)  'Grade'(013) centered,&lt;/P&gt;&lt;P&gt;            62 sy-vline, 63(15) 'Nationality'(017) centered,&lt;/P&gt;&lt;P&gt;            78 sy-vline, 79(10) 'Eng.Date'(014) centered,&lt;/P&gt;&lt;P&gt;            89 sy-vline, 90(10) 'Birth Date'(016) centered,&lt;/P&gt;&lt;P&gt;           100 sy-vline,101(25) 'Location'(026) centered,&lt;/P&gt;&lt;P&gt;           126 sy-vline,127(25) 'Position'(015) centered,&lt;/P&gt;&lt;P&gt;           152 sy-vline,153(40) 'Division'(018) centered,&lt;/P&gt;&lt;P&gt;           193 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(193) sy-uline.&lt;/P&gt;&lt;P&gt;      sort pers_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at pers_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) pers_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(40) pers_tab-ename,&lt;/P&gt;&lt;P&gt;              53 sy-vline, 56(6)  pers_tab-trfgr,&lt;/P&gt;&lt;P&gt;              62 sy-vline, 63(15) pers_tab-ntext,&lt;/P&gt;&lt;P&gt;              78 sy-vline, 79(10) pers_tab-hdate,&lt;/P&gt;&lt;P&gt;              89 sy-vline, 90(10) pers_tab-gbdat,&lt;/P&gt;&lt;P&gt;             100 sy-vline,101(25) pers_tab-name1,&lt;/P&gt;&lt;P&gt;             126 sy-vline,127(25) pers_tab-ptext,&lt;/P&gt;&lt;P&gt;             152 sy-vline,153(40) pers_tab-ctext,&lt;/P&gt;&lt;P&gt;             193 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(193) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    skip 3.&lt;/P&gt;&lt;P&gt;    if pay_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Standard Pay Data found'(062).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline,2(42) sy-uline, 44 sy-vline,&lt;/P&gt;&lt;P&gt;             /1 sy-vline, 2(42) text-021 centered color 3, 44 sy-vline.&lt;/P&gt;&lt;P&gt;      format color col_heading on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write /1(188) sy-uline.&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(15) 'Basic'(033) centered,&lt;/P&gt;&lt;P&gt;            28 sy-vline, 29(15) 'Housing Allow.'(034) centered,&lt;/P&gt;&lt;P&gt;            44 sy-vline, 45(15) 'Sup.Allow.'(035) centered,&lt;/P&gt;&lt;P&gt;            60 sy-vline, 61(15) 'Social Allow.'(036) centered,&lt;/P&gt;&lt;P&gt;            76 sy-vline, 77(15) 'Child Allow.'(037) centered,&lt;/P&gt;&lt;P&gt;            92 sy-vline, 93(15) 'Fixed Overtime'(038) centered,&lt;/P&gt;&lt;P&gt;           108 sy-vline,109(15) 'R.A.Allow.'(041) centered,&lt;/P&gt;&lt;P&gt;           124 sy-vline,125(15) 'Perform.Allow.'(039) centered,&lt;/P&gt;&lt;P&gt;           140 sy-vline,141(15) 'Pension.Allow.'(059) centered,&lt;/P&gt;&lt;P&gt;           156 sy-vline,157(15) 'Others'(040) centered,&lt;/P&gt;&lt;P&gt;           172 sy-vline,173(15) 'Total'(042) centered,&lt;/P&gt;&lt;P&gt;           188 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(188) sy-uline.&lt;/P&gt;&lt;P&gt;      sort pay_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at pay_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) pay_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline,&lt;/P&gt;&lt;P&gt;              13(15) pay_tab-basic currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              28 sy-vline,&lt;/P&gt;&lt;P&gt;              29(15) pay_tab-hra_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              44 sy-vline,&lt;/P&gt;&lt;P&gt;              45(15) pay_tab-sup_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              60 sy-vline,&lt;/P&gt;&lt;P&gt;              61(15) pay_tab-soc_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              76 sy-vline,&lt;/P&gt;&lt;P&gt;              77(15) pay_tab-chl_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              92 sy-vline,&lt;/P&gt;&lt;P&gt;              93(15) pay_tab-fix_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;             108 sy-vline,&lt;/P&gt;&lt;P&gt;             109(15) pay_tab-ra_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;             124 sy-vline,&lt;/P&gt;&lt;P&gt;             125(15) pay_tab-per_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;             140 sy-vline.&lt;/P&gt;&lt;P&gt;        pay_tab-pen_allow = pay_tab-pen_allow * -1.&lt;/P&gt;&lt;P&gt;        write: 141(15) pay_tab-pen_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;               156 sy-vline,&lt;/P&gt;&lt;P&gt;               157(15) pay_tab-oth_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;               172 sy-vline,&lt;/P&gt;&lt;P&gt;               173(15) pay_tab-tot_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;               188 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(188) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    skip 3.&lt;/P&gt;&lt;P&gt;    if edn_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Educational Data found'(063).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline,2(36) sy-uline, 38 sy-vline,&lt;/P&gt;&lt;P&gt;             /1 sy-vline, 2(36) text-022 centered color 3, 38 sy-vline.&lt;/P&gt;&lt;P&gt;      format color col_heading on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write /1(172) sy-uline.&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(25) 'Discipline'(043) centered,&lt;/P&gt;&lt;P&gt;            38 sy-vline, 39(20) 'Edu.Establishment'(044) centered,&lt;/P&gt;&lt;P&gt;            59 sy-vline, 60(45) 'Institute'(045) centered,&lt;/P&gt;&lt;P&gt;           105 sy-vline,106(15) 'Country'(046) centered,&lt;/P&gt;&lt;P&gt;           121 sy-vline,122(30) 'Certificate'(047) centered,&lt;/P&gt;&lt;P&gt;           152 sy-vline,153(19) 'Duration of Course'(048) centered,&lt;/P&gt;&lt;P&gt;           172 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(172) sy-uline.&lt;/P&gt;&lt;P&gt;      sort edn_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at edn_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) edn_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(25) edn_tab-atext,&lt;/P&gt;&lt;P&gt;              38 sy-vline, 39(20) edn_tab-stext,&lt;/P&gt;&lt;P&gt;              59 sy-vline, 60(45) edn_tab-insti,&lt;/P&gt;&lt;P&gt;             105 sy-vline,106(15) edn_tab-landx,&lt;/P&gt;&lt;P&gt;             121 sy-vline,122(30) edn_tab-ctext,&lt;/P&gt;&lt;P&gt;             152 sy-vline,153(4) edn_tab-anzkl,&lt;/P&gt;&lt;P&gt;             157(10) edn_tab-etext,&lt;/P&gt;&lt;P&gt;             172 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(172) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    skip 3.&lt;/P&gt;&lt;P&gt;    if pemp_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Previous Employment Data found'(064).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline,2(53) sy-uline, 55 sy-vline,&lt;/P&gt;&lt;P&gt;             /1 sy-vline, 2(53) text-023 centered color 3, 55 sy-vline.&lt;/P&gt;&lt;P&gt;      write /1(97) sy-uline.&lt;/P&gt;&lt;P&gt;      format color col_heading on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;            33 sy-vline, 34(21) 'Employment Period'(055) centered,&lt;/P&gt;&lt;P&gt;            55 sy-vline, 81 sy-vline,&lt;/P&gt;&lt;P&gt;            97 sy-vline.&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(20) 'Employer'(049) centered,&lt;/P&gt;&lt;P&gt;            33 sy-vline, 34(10) 'From'(050) centered,&lt;/P&gt;&lt;P&gt;            44 sy-vline, 45(10) 'To'(051) centered,&lt;/P&gt;&lt;P&gt;            55 sy-vline, 56(25) 'Last Position'(052) centered,&lt;/P&gt;&lt;P&gt;            81 sy-vline, 82(15) 'Country'(053) centered,&lt;/P&gt;&lt;P&gt;            97 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(97) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sort pemp_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at pemp_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) pemp_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(20) pemp_tab-arbgb,&lt;/P&gt;&lt;P&gt;              33 sy-vline, 34(10) pemp_tab-begda,&lt;/P&gt;&lt;P&gt;              44 sy-vline, 45(10) pemp_tab-endda,&lt;/P&gt;&lt;P&gt;              55 sy-vline, 56(25) pemp_tab-stltx,&lt;/P&gt;&lt;P&gt;              81 sy-vline, 82(15) pemp_tab-landx,&lt;/P&gt;&lt;P&gt;              97 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(97) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    skip 2.&lt;/P&gt;&lt;P&gt;    new-page.&lt;/P&gt;&lt;P&gt;    if job_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Job History Data found'(065).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline,2(47) sy-uline, 49 sy-vline,&lt;/P&gt;&lt;P&gt;             /1 sy-vline, 2(47) text-024 centered color 3, 49 sy-vline.&lt;/P&gt;&lt;P&gt;      format color col_heading on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write /1(75) sy-uline.&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline,&lt;/P&gt;&lt;P&gt;            12 sy-vline,13(10) 'Date of'(054) centered,&lt;/P&gt;&lt;P&gt;            23 sy-vline,49 sy-vline,&lt;/P&gt;&lt;P&gt;            75 sy-vline.&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline,2(10)  'Employee #'(011),&lt;/P&gt;&lt;P&gt;            12 sy-vline,13(10) 'Upgrading/'(058) centered,&lt;/P&gt;&lt;P&gt;            23 sy-vline,24(25) 'Position'(015) centered,&lt;/P&gt;&lt;P&gt;            49 sy-vline,50(25) 'Job'(056) centered,&lt;/P&gt;&lt;P&gt;            75 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;            13(10) 'Promotion'(057) centered,&lt;/P&gt;&lt;P&gt;            23 sy-vline, 49 sy-vline,&lt;/P&gt;&lt;P&gt;            75 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(75) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sort job_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at job_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        at new pernr.&lt;/P&gt;&lt;P&gt;          write:/1 sy-vline,  2(10) job_tab-pernr.&lt;/P&gt;&lt;P&gt;        endat.&lt;/P&gt;&lt;P&gt;        write:  1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;               13(10) job_tab-begda,&lt;/P&gt;&lt;P&gt;               23 sy-vline,24(25) job_tab-ptext,&lt;/P&gt;&lt;P&gt;               49 sy-vline,50(25) job_tab-stltx,&lt;/P&gt;&lt;P&gt;               75 sy-vline.&lt;/P&gt;&lt;P&gt;        new-line.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(75) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    skip 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if app_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Performance Appraisal Data found'(072).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline,2(56) sy-uline, 58 sy-vline,&lt;/P&gt;&lt;P&gt;             /1 sy-vline, 2(56) text-025 centered color 3, 58 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write /1(58) sy-uline.&lt;/P&gt;&lt;P&gt;      format color col_heading on.&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline,  2(10) 'Employee #'(011),&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(4)  'Year'(067),&lt;/P&gt;&lt;P&gt;            17 sy-vline, 18(40) 'Appraisal Text'(068) centered,&lt;/P&gt;&lt;P&gt;            58 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(58) sy-uline.&lt;/P&gt;&lt;P&gt;      sort app_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at app_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) app_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(4)  app_tab-year,&lt;/P&gt;&lt;P&gt;              17 sy-vline, 18(40) app_tab-appr,&lt;/P&gt;&lt;P&gt;              58 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(58) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    skip 2.&lt;/P&gt;&lt;P&gt;  elseif r_per eq c_x.&lt;/P&gt;&lt;P&gt;    if pers_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Data found for the entered Selection'(032).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      sort pers_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at pers_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) pers_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(40) pers_tab-ename,&lt;/P&gt;&lt;P&gt;              53 sy-vline, 56(6)  pers_tab-trfgr,&lt;/P&gt;&lt;P&gt;              62 sy-vline, 63(15) pers_tab-ntext,&lt;/P&gt;&lt;P&gt;              78 sy-vline, 79(10) pers_tab-hdate,&lt;/P&gt;&lt;P&gt;              89 sy-vline, 90(10) pers_tab-gbdat,&lt;/P&gt;&lt;P&gt;             100 sy-vline,101(25) pers_tab-name1,&lt;/P&gt;&lt;P&gt;             126 sy-vline,127(25) pers_tab-ptext,&lt;/P&gt;&lt;P&gt;             152 sy-vline,153(40) pers_tab-ctext,&lt;/P&gt;&lt;P&gt;             193 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(193) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_pay eq c_x.&lt;/P&gt;&lt;P&gt;    if pay_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Data found for the entered Selection'(032).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      sort pay_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at pay_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) pay_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline,&lt;/P&gt;&lt;P&gt;              13(15) pay_tab-basic currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              28 sy-vline,&lt;/P&gt;&lt;P&gt;              29(15) pay_tab-hra_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              44 sy-vline,&lt;/P&gt;&lt;P&gt;              45(15) pay_tab-sup_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              60 sy-vline,&lt;/P&gt;&lt;P&gt;              61(15) pay_tab-soc_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              76 sy-vline,&lt;/P&gt;&lt;P&gt;              77(15) pay_tab-chl_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;              92 sy-vline,&lt;/P&gt;&lt;P&gt;              93(15) pay_tab-fix_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;             108 sy-vline,&lt;/P&gt;&lt;P&gt;             109(15) pay_tab-ra_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;             124 sy-vline,&lt;/P&gt;&lt;P&gt;             125(15) pay_tab-per_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;             140 sy-vline.&lt;/P&gt;&lt;P&gt;        pay_tab-pen_allow = pay_tab-pen_allow * -1.&lt;/P&gt;&lt;P&gt;        write: 141(15) pay_tab-pen_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;                 156 sy-vline,&lt;/P&gt;&lt;P&gt;               157(15) pay_tab-oth_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;                 172 sy-vline,&lt;/P&gt;&lt;P&gt;               173(15) pay_tab-tot_allow currency pay_tab-waers no-zero,&lt;/P&gt;&lt;P&gt;                 188 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(188) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_edn eq c_x.&lt;/P&gt;&lt;P&gt;    if edn_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Data found for the entered Selection'(032).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      sort edn_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at edn_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) edn_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(25) edn_tab-atext,&lt;/P&gt;&lt;P&gt;              38 sy-vline, 39(20) edn_tab-stext,&lt;/P&gt;&lt;P&gt;              59 sy-vline, 60(45) edn_tab-insti,&lt;/P&gt;&lt;P&gt;             105 sy-vline,106(15) edn_tab-landx,&lt;/P&gt;&lt;P&gt;             121 sy-vline,122(30) edn_tab-ctext,&lt;/P&gt;&lt;P&gt;             152 sy-vline,153(4) edn_tab-anzkl,&lt;/P&gt;&lt;P&gt;             157(10) edn_tab-etext,&lt;/P&gt;&lt;P&gt;             172 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(172) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_pemp eq c_x.&lt;/P&gt;&lt;P&gt;    if pemp_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Data found for the entered Selection'(032).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      sort pemp_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at pemp_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) pemp_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(20) pemp_tab-arbgb,&lt;/P&gt;&lt;P&gt;              33 sy-vline, 34(10) pemp_tab-begda,&lt;/P&gt;&lt;P&gt;              44 sy-vline, 45(10) pemp_tab-endda,&lt;/P&gt;&lt;P&gt;              55 sy-vline, 56(25) pemp_tab-stltx,&lt;/P&gt;&lt;P&gt;              81 sy-vline, 82(15) pemp_tab-landx,&lt;/P&gt;&lt;P&gt;              97 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(97) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_job eq c_x.&lt;/P&gt;&lt;P&gt;    if job_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Data found for the entered Selection'(032).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      sort job_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at job_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        at new pernr.&lt;/P&gt;&lt;P&gt;          write:/1 sy-vline,  2(10) job_tab-pernr.&lt;/P&gt;&lt;P&gt;        endat.&lt;/P&gt;&lt;P&gt;        write:  1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;               13(10) job_tab-begda,&lt;/P&gt;&lt;P&gt;               23 sy-vline,24(25) job_tab-ptext,&lt;/P&gt;&lt;P&gt;               49 sy-vline,50(25) job_tab-stltx,&lt;/P&gt;&lt;P&gt;               75 sy-vline.&lt;/P&gt;&lt;P&gt;        new-line.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(75) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif r_app eq c_x.&lt;/P&gt;&lt;P&gt;    if app_tab[] is initial.&lt;/P&gt;&lt;P&gt;      message i999 with&lt;/P&gt;&lt;P&gt;       'No Data found for the entered Selection'(032).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      sort app_tab by pernr.&lt;/P&gt;&lt;P&gt;      loop at app_tab.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write:/1 sy-vline,  2(10) app_tab-pernr,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(4)  app_tab-year,&lt;/P&gt;&lt;P&gt;              17 sy-vline, 18(40) app_tab-appr,&lt;/P&gt;&lt;P&gt;              58 sy-vline.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write /1(58) sy-uline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " Display_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points for useful Answers&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 12:09:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469267#M554940</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T12:09:23Z</dc:date>
    </item>
    <item>
      <title>Re: Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469268#M554941</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't need example how to use rp_provide* macros.&lt;/P&gt;&lt;P&gt;I just asks how abap program that use pnp logical database &lt;/P&gt;&lt;P&gt;recognize the macro from table trmac.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As i know macro should be declare in the same program under lines:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;define.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-definition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any answer ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 12:38:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469268#M554941</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T12:38:30Z</dc:date>
    </item>
    <item>
      <title>Re: Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469269#M554942</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; Whenever u r using the LDB . after calling the GET PERNR the values all are coming to the structure (Whatever u declared in Infotypes) and that all values u can filter using the Macro&lt;/P&gt;&lt;P&gt;RP-PROVIDE-FROM-FIRST &lt;/P&gt;&lt;P&gt;RP-PROVIDE-FROM-last &lt;/P&gt;&lt;P&gt;or Provide and endprovide.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nandha&lt;/P&gt;&lt;P&gt;reward if it helps&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 12:44:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469269#M554942</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T12:44:10Z</dc:date>
    </item>
    <item>
      <title>Re: Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469270#M554943</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i didn't understand how macros:&lt;/P&gt;&lt;P&gt;RP-PROVIDE*&lt;/P&gt;&lt;P&gt;perform from table trmac. where abap programs know to relation&lt;/P&gt;&lt;P&gt;the macros from table trmac ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 12:53:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469270#M554943</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T12:53:21Z</dc:date>
    </item>
    <item>
      <title>Re: Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469271#M554944</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can either deifne a macro in the Program or in the TRMAC Table.. these are the two Std options of defining a Macro..  This &amp;lt;a href="http://help.sap.com/saphelp_erp2005vp/helpdata/en/4f/d52a51575e11d189270000e8322f96/frameset.htm"&amp;gt;SAP Help&amp;lt;/a&amp;gt; should provide you the clarification.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;~Suresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 13:11:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469271#M554944</guid>
      <dc:creator>suresh_datti</dc:creator>
      <dc:date>2007-06-26T13:11:36Z</dc:date>
    </item>
    <item>
      <title>Re: Hr programming - logical database - macro</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469272#M554945</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Eliram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can see the definition part the macros RP_PROVIDE_FROM_LAST and RP_PROVIDE_FROM_FRST&lt;/P&gt;&lt;P&gt;in the include program &lt;STRONG&gt;DBPNPMAC&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Velangini Bandanadham&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Apr 2011 12:38:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming-logical-database-macro/m-p/2469272#M554945</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-04-14T12:38:19Z</dc:date>
    </item>
  </channel>
</rss>

