<?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 HR in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr/m-p/2262441#M490535</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;pls help me,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i was checking a report related to HR,here in hr ,the terms and conditions are quite different,they r using infoset ,infostar ,macros, fieldsymbols,etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now i have to modify the code .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so,pls help me what r all these terms.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 May 2007 04:02:40 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-18T04:02:40Z</dc:date>
    <item>
      <title>HR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr/m-p/2262441#M490535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;pls help me,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i was checking a report related to HR,here in hr ,the terms and conditions are quite different,they r using infoset ,infostar ,macros, fieldsymbols,etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now i have to modify the code .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so,pls help me what r all these terms.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 May 2007 04:02:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr/m-p/2262441#M490535</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-18T04:02:40Z</dc:date>
    </item>
    <item>
      <title>Re: HR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr/m-p/2262442#M490536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;HR:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HR deals with the INFOTYPES which are similar to Tables in General ABAP.&lt;/P&gt;&lt;P&gt;There are different ways of fetching data from these infotypes.&lt;/P&gt;&lt;P&gt;There are different areas in HR LIKE Personal Admn, Orgn Management, Benefits, Time amangement, Event Management, Payroll etc&lt;/P&gt;&lt;P&gt;Infotypes for these areas are different from one another area.&lt;/P&gt;&lt;P&gt;storing of records data in each type of area is different&lt;/P&gt;&lt;P&gt;LDBS like PNP are used in HR programing.&lt;/P&gt;&lt;P&gt;Instead of Select.. we use some ROUTINES and PROVIDE..ENDPROVIDE.. etc &lt;/P&gt;&lt;P&gt;and in the case of Pay roll we use Clusters and we Import and Export them for data fetching.&lt;/P&gt;&lt;P&gt;On the whole Normal ABAP is different from HR abap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Personal Admn the Infotypes start with PA0000 to PA1999&lt;/P&gt;&lt;P&gt;Time Related Infotypes start with PA2000 to PA2999.&lt;/P&gt;&lt;P&gt;Orgn related Infotypes start with HRP1000 to HRP1999.&lt;/P&gt;&lt;P&gt;All custom developed infotypes stsrat with PA9000 onwards.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In payroll processing we use Clusters like PCL1,2,3 and 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead of Select query we use PROVIDE and ENDPROVIDE..&lt;/P&gt;&lt;P&gt;You have to assign a Logical Database in the attributes PNP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go through the SAp doc for HR programming and start doing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/hr/hrhome.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/hr/hrhome.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;See:&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_46c/helpdata/en/4f/d5268a575e11d189270000e8322f96/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_46c/helpdata/en/4f/d5268a575e11d189270000e8322f96/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;see the sample HR report:&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;Reward points if useful&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>Fri, 18 May 2007 04:09:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr/m-p/2262442#M490536</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-18T04:09:37Z</dc:date>
    </item>
  </channel>
</rss>

