<?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 Programming in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540549#M577261</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to write code on retrieving all ACTIVE and FULL TIME employees.&lt;/P&gt;&lt;P&gt;The following is the code. But I am not getting correct output. Please help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0000,&lt;/P&gt;&lt;P&gt;           0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;provide * from p0000&lt;/P&gt;&lt;P&gt;        &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from p0001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          between pn-begda and pn-endda&lt;/P&gt;&lt;P&gt;          where p0000-stat2 eq '3'&lt;/P&gt;&lt;P&gt;            and p0001-persk eq 'A1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write: / p0000-pernr,&lt;/P&gt;&lt;P&gt;                   p0001-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endprovide.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please send me some sample HR reports which has logic on how to process the infotype data of 3-4 infotypes. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 12 Jul 2007 12:29:33 GMT</pubDate>
    <dc:creator>abdulazeez12</dc:creator>
    <dc:date>2007-07-12T12:29:33Z</dc:date>
    <item>
      <title>HR Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540549#M577261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to write code on retrieving all ACTIVE and FULL TIME employees.&lt;/P&gt;&lt;P&gt;The following is the code. But I am not getting correct output. Please help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0000,&lt;/P&gt;&lt;P&gt;           0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;provide * from p0000&lt;/P&gt;&lt;P&gt;        &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from p0001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          between pn-begda and pn-endda&lt;/P&gt;&lt;P&gt;          where p0000-stat2 eq '3'&lt;/P&gt;&lt;P&gt;            and p0001-persk eq 'A1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write: / p0000-pernr,&lt;/P&gt;&lt;P&gt;                   p0001-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endprovide.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please send me some sample HR reports which has logic on how to process the infotype data of 3-4 infotypes. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jul 2007 12:29:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540549#M577261</guid>
      <dc:creator>abdulazeez12</dc:creator>
      <dc:date>2007-07-12T12:29:33Z</dc:date>
    </item>
    <item>
      <title>Re: HR Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540550#M577262</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 the sample HR report&lt;/P&gt;&lt;P&gt;report zporgr0040&lt;/P&gt;&lt;P&gt;       line-size 108&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: hrp1001,     " HR Master Record (Orgn. Assignment)&lt;/P&gt;&lt;P&gt;        pa0002,      " Personal Data&lt;/P&gt;&lt;P&gt;        t528t,       " Position Texts&lt;/P&gt;&lt;P&gt;        t527x,       " Org Unit Text&lt;/P&gt;&lt;P&gt;        t528b,       " Positions&lt;/P&gt;&lt;P&gt;        csks,        " Cost Center&lt;/P&gt;&lt;P&gt;        cskt.        " Cost Center Texts&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 Orgn Object Data  HRP1000&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of obj_tab occurs 0,&lt;/P&gt;&lt;P&gt;        otype like hrp1000-otype,      " Object Type&lt;/P&gt;&lt;P&gt;        objid like hrp1000-objid,      " Object ID&lt;/P&gt;&lt;P&gt;        plvar like hrp1000-plvar,      " Plan Version&lt;/P&gt;&lt;P&gt;        istat like hrp1000-istat,      " Planning Status&lt;/P&gt;&lt;P&gt;        begda like hrp1000-begda,      " Begin date&lt;/P&gt;&lt;P&gt;        endda like hrp1000-endda,      " End date&lt;/P&gt;&lt;P&gt;      end of obj_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 Active Employees data PA0000&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of stat_tab occurs 0,&lt;/P&gt;&lt;P&gt;        pernr like pa0000-pernr,       " Object Type&lt;/P&gt;&lt;P&gt;        begda like pa0000-begda,       " Begin date&lt;/P&gt;&lt;P&gt;        endda like pa0000-endda,       " End date&lt;/P&gt;&lt;P&gt;        stat2 like pa0000-stat2,       " Employment Status&lt;/P&gt;&lt;P&gt;      end of stat_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 Actual Orgn Assignment Data PA0001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of act_tab occurs 0,&lt;/P&gt;&lt;P&gt;        pernr like pa0001-pernr,       " Object Type&lt;/P&gt;&lt;P&gt;        begda like pa0001-begda,       " Begin date&lt;/P&gt;&lt;P&gt;        endda like pa0001-endda,       " End date&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        orgeh like pa0001-orgeh,       " Org Unit&lt;/P&gt;&lt;P&gt;        plans like pa0001-plans,       " Position&lt;/P&gt;&lt;P&gt;        natio like pa0002-natio,       " Nationality&lt;/P&gt;&lt;P&gt;      end of act_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 Orgn Data HRP1001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of org_tab occurs 0,&lt;/P&gt;&lt;P&gt;        otype like hrp1001-otype,      " Object Type&lt;/P&gt;&lt;P&gt;        objid like hrp1001-objid,      " Object ID&lt;/P&gt;&lt;P&gt;        plvar like hrp1001-plvar,      " Plan Version&lt;/P&gt;&lt;P&gt;        istat like hrp1001-istat,      " Planning Status&lt;/P&gt;&lt;P&gt;        begda like hrp1001-begda,      " Begin date&lt;/P&gt;&lt;P&gt;        endda like hrp1001-endda,      " End date&lt;/P&gt;&lt;P&gt;        subty like hrp1001-subty,      " Sub Type&lt;/P&gt;&lt;P&gt;        sclas like hrp1001-sclas,      " Type of Related Object&lt;/P&gt;&lt;P&gt;        sobid like hrp1001-sobid,      " Id of Related Object&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        plstx like t528t-plstx,        " Position Text&lt;/P&gt;&lt;P&gt;        orgtx like t527x-orgtx,        " Org Unit Text&lt;/P&gt;&lt;P&gt;      end of org_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 Position Calculations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of org1_tab occurs 0,&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        objid like hrp1001-objid,      " Object ID&lt;/P&gt;&lt;P&gt;      end of org1_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 Position Calculations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of org2_tab occurs 0,&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        count type i,                  " No of Positions&lt;/P&gt;&lt;P&gt;      end of org2_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 Actual Manpower Calculations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of act1_tab occurs 0,&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        natio like pa0002-natio,       " Nationality&lt;/P&gt;&lt;P&gt;        plans like pa0001-plans,       " Position&lt;/P&gt;&lt;P&gt;      end of act1_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 Actual Manpower Calculations(UAE)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of act2_tab occurs 0,&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        natio like pa0002-natio,       " Nationality&lt;/P&gt;&lt;P&gt;      end of act2_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 Actual Manpower Calculations(Others)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of act3_tab occurs 0,&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        natio like pa0002-natio,       " Nationality&lt;/P&gt;&lt;P&gt;      end of act3_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 Actual Manpower Calculations(UAE)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of act4_tab occurs 0,&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        count1 type i,                 " No of Positions(UAE)&lt;/P&gt;&lt;P&gt;      end of act4_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 Actual Manpower Calculations(OTHERS)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of act5_tab occurs 0,&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,       " Cost Center&lt;/P&gt;&lt;P&gt;        count2 type i,                 " No of Positions(Others)&lt;/P&gt;&lt;P&gt;      end of act5_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 Vaccancies Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of vac_tab occurs 0,&lt;/P&gt;&lt;P&gt;        plvar like hrp1007-plvar,      " Plan Version&lt;/P&gt;&lt;P&gt;        otype like hrp1007-otype,      " Object Type&lt;/P&gt;&lt;P&gt;        objid like hrp1007-objid,      " Object ID&lt;/P&gt;&lt;P&gt;        istat like hrp1007-istat,      " Planning Status&lt;/P&gt;&lt;P&gt;        begda like hrp1007-begda,      " Begin date&lt;/P&gt;&lt;P&gt;        endda like hrp1007-endda,      " End date&lt;/P&gt;&lt;P&gt;        vacan like hrp1007-vacan,      " Vacancy Indicator&lt;/P&gt;&lt;P&gt;        status like hrp1007-status,    " Status of Vacancy&lt;/P&gt;&lt;P&gt;      end of vac_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 store the Report Output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of rep_tab occurs 0 ,&lt;/P&gt;&lt;P&gt;         kostl(10) type n,                  " Cost Cente&lt;/P&gt;&lt;P&gt;         plans   like pa0001-plans,         " Position&lt;/P&gt;&lt;P&gt;         vacan   like hrp1007-vacan,        " Vacancy Indicator&lt;/P&gt;&lt;P&gt;         status  like hrp1007-status,       " Status of Vacancy&lt;/P&gt;&lt;P&gt;         plstx   like t528t-plstx,          " Position Text&lt;/P&gt;&lt;P&gt;         orgtx like t527x-orgtx,            " Org Unit Text&lt;/P&gt;&lt;P&gt;       end of rep_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 store the Report Output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of rep1_tab occurs 0 ,&lt;/P&gt;&lt;P&gt;         kostl(10) type n,                  " Cost Cente&lt;/P&gt;&lt;P&gt;         cnt     type i,                    " No of Vacancies&lt;/P&gt;&lt;P&gt;       end of rep1_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 store the Report Output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of rep2_tab occurs 0 ,&lt;/P&gt;&lt;P&gt;         kostl(10) type n,                  " Cost Cente&lt;/P&gt;&lt;P&gt;         app_no    type i,                  " Approved&lt;/P&gt;&lt;P&gt;         nat_no    type i,                  " National&lt;/P&gt;&lt;P&gt;         exp_no    type i,                  " Expatriate&lt;/P&gt;&lt;P&gt;         tot_no    type i,                  " Total&lt;/P&gt;&lt;P&gt;         vac_no    type i,                  " Vacancies&lt;/P&gt;&lt;P&gt;       end of rep2_tab.&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_sobid  like hrp1001-sobid,   " Object Id&lt;/P&gt;&lt;P&gt;      v_sobid1 like hrp1001-sobid,   " Object Id&lt;/P&gt;&lt;P&gt;      v_sobid2 like hrp1001-sobid,   " Object Id&lt;/P&gt;&lt;P&gt;      v_sclas  like hrp1001-sclas,   " Related Obj Type&lt;/P&gt;&lt;P&gt;      v_subty  like hrp1001-subty,   " Related Object Id&lt;/P&gt;&lt;P&gt;      v_otype  like hrp1007-otype,   " Object Type&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     v_str(9)    type c,            " Text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     v_str1(10)  type c,            " Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      v_cnt    like sy-tabix.        " Table Index&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',            " Flag&lt;/P&gt;&lt;P&gt;            c_stat1  like pa0000-stat2  value '3',   " Emp Status&lt;/P&gt;&lt;P&gt;            c_plan   like hrp1001-plvar value '01',  " Plan Version&lt;/P&gt;&lt;P&gt;            c_name   like hrp1000-uname value 'SAP', " Uname&lt;/P&gt;&lt;P&gt;            c_uae    like pa0002-natio  value 'AE',  " Country&lt;/P&gt;&lt;P&gt;            c_type   like hrp1007-otype  value 'O',  " Object Type&lt;/P&gt;&lt;P&gt;            c_otype  like hrp1007-otype  value 'S',  " Object Type&lt;/P&gt;&lt;P&gt;            c_stat   like hrp1007-status value '0',  " Status&lt;/P&gt;&lt;P&gt;            c_pstat  like hrp1007-istat  value '1',  " Plang Status&lt;/P&gt;&lt;P&gt;            c_sclas  like hrp1001-sclas value 'K',    " Rel. Obj Type&lt;/P&gt;&lt;P&gt;            c_subty  like hrp1001-subty value 'A002', " Related ObjId&lt;/P&gt;&lt;P&gt;            c_subty2 like hrp1001-subty value 'A003', " Related ObjId&lt;/P&gt;&lt;P&gt;            c_sclas1 like hrp1001-sclas value 'O',    " Rel.Obj Type&lt;/P&gt;&lt;P&gt;            c_subty1 like hrp1001-subty value 'A011', " Rel.Object Id&lt;/P&gt;&lt;P&gt;            c_kokrs  like coej-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-001.&lt;/P&gt;&lt;P&gt;parameters     :&lt;/P&gt;&lt;P&gt;  p_date  like pa0001-begda obligatory default sy-datum. " Date&lt;/P&gt;&lt;P&gt;select-options :&lt;/P&gt;&lt;P&gt;  s_kostl for csks-kostl,                     " Cost Center&lt;/P&gt;&lt;P&gt;  s_plans for t528b-plans.                    " Position ID&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Orgn data from database Table HRP1001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_org_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 Actual Manpower from PA0001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_act_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 Vaccancies data from database Table HRP1007&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_vac_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the data into final Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform append_data.&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;  write /1(108) sy-uline.&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 Position ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t528b.&lt;/P&gt;&lt;P&gt;  if not s_plans[] is initial.&lt;/P&gt;&lt;P&gt;    select single plans&lt;/P&gt;&lt;P&gt;      into t528b-plans&lt;/P&gt;&lt;P&gt;      from t528b&lt;/P&gt;&lt;P&gt;      where plans in s_plans.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Invalid Position ID'(009).&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 s_kostl[] 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 s_kostl.&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'(008).&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;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_org_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 Orgn Data from Database Table HRP1001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form get_org_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; v_str  = 'Developee'(002).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; v_str1 = 'Deployment'(003).&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;Select All the Positions from HRP1000&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select otype       " Object Type&lt;/P&gt;&lt;P&gt;         objid       " Object ID&lt;/P&gt;&lt;P&gt;         plvar       " Plan Version&lt;/P&gt;&lt;P&gt;         istat       " Planning Status&lt;/P&gt;&lt;P&gt;         begda       " Begin date&lt;/P&gt;&lt;P&gt;         endda       " End date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     into table obj_tab&lt;/P&gt;&lt;P&gt;     from hrp1000&lt;/P&gt;&lt;P&gt;     where otype = c_otype  and&lt;/P&gt;&lt;P&gt;           plvar = c_plan   and&lt;/P&gt;&lt;P&gt;           istat = c_pstat  and&lt;/P&gt;&lt;P&gt;           begda le p_date  and&lt;/P&gt;&lt;P&gt;           endda ge p_date  and&lt;/P&gt;&lt;P&gt;           objid in s_plans and&lt;/P&gt;&lt;P&gt;           uname ne c_name.&lt;/P&gt;&lt;P&gt;  sort obj_tab by otype objid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Orgn and Cost Center for all the above Positions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if not obj_tab[] is initial.&lt;/P&gt;&lt;P&gt;    select otype       " Object Type&lt;/P&gt;&lt;P&gt;           objid       " Object ID&lt;/P&gt;&lt;P&gt;           plvar       " Plan Version&lt;/P&gt;&lt;P&gt;           istat       " Planning Status&lt;/P&gt;&lt;P&gt;           begda       " Begin date&lt;/P&gt;&lt;P&gt;           endda       " End date&lt;/P&gt;&lt;P&gt;           subty       " Sub Type&lt;/P&gt;&lt;P&gt;           sclas       " Type of Related Object&lt;/P&gt;&lt;P&gt;           sobid       " Id of Related Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       into table org_tab&lt;/P&gt;&lt;P&gt;       from hrp1001&lt;/P&gt;&lt;P&gt;       for all entries in obj_tab&lt;/P&gt;&lt;P&gt;       where otype = c_otype  and&lt;/P&gt;&lt;P&gt;             plvar = c_plan   and&lt;/P&gt;&lt;P&gt;             istat = c_pstat  and&lt;/P&gt;&lt;P&gt;             begda le p_date  and&lt;/P&gt;&lt;P&gt;             endda ge p_date  and&lt;/P&gt;&lt;P&gt;             sclas eq c_sclas1 and&lt;/P&gt;&lt;P&gt;             subty eq c_subty2 and&lt;/P&gt;&lt;P&gt;             objid eq obj_tab-objid.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  sort org_tab by otype objid.&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&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at org_tab.&lt;/P&gt;&lt;P&gt;    v_otype = c_otype.       " S&lt;/P&gt;&lt;P&gt;    v_sclas = c_sclas.       " K&lt;/P&gt;&lt;P&gt;    v_subty = c_subty1.                                     " A011&lt;/P&gt;&lt;P&gt;    v_sobid = org_tab-objid.&lt;/P&gt;&lt;P&gt;    perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                    v_sobid.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      org_tab-kostl = hrp1001-sobid+0(10).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      v_otype = c_otype.    " S&lt;/P&gt;&lt;P&gt;      v_sclas = c_sclas1.   " O&lt;/P&gt;&lt;P&gt;      v_subty = c_subty2.                                   " A003&lt;/P&gt;&lt;P&gt;      v_sobid = org_tab-objid.&lt;/P&gt;&lt;P&gt;      perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                     v_sobid.&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        v_otype = c_type.     " O&lt;/P&gt;&lt;P&gt;        v_sclas = c_sclas.    " K&lt;/P&gt;&lt;P&gt;        v_subty = c_subty1.                                 " A011&lt;/P&gt;&lt;P&gt;        v_sobid1 = v_sobid.&lt;/P&gt;&lt;P&gt;        perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                             v_sobid.&lt;/P&gt;&lt;P&gt;        if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          v_otype = c_type.    " O&lt;/P&gt;&lt;P&gt;          v_sclas = c_sclas1.  " O&lt;/P&gt;&lt;P&gt;          v_subty = c_subty.                                " A002&lt;/P&gt;&lt;P&gt;          v_sobid = v_sobid1.&lt;/P&gt;&lt;P&gt;          perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                    v_sobid.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            v_otype = c_type.   " O&lt;/P&gt;&lt;P&gt;            v_sclas = c_sclas.  " K&lt;/P&gt;&lt;P&gt;            v_subty = c_subty1.                             " A011&lt;/P&gt;&lt;P&gt;            v_sobid2 = v_sobid.&lt;/P&gt;&lt;P&gt;            perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                             v_sobid.&lt;/P&gt;&lt;P&gt;            if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;              v_otype = c_type.   " O&lt;/P&gt;&lt;P&gt;              v_sclas = c_sclas1. " O&lt;/P&gt;&lt;P&gt;              v_subty = c_subty.                            " A002&lt;/P&gt;&lt;P&gt;              v_sobid = v_sobid2.&lt;/P&gt;&lt;P&gt;              perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                      v_sobid.&lt;/P&gt;&lt;P&gt;            else.&lt;/P&gt;&lt;P&gt;              org_tab-kostl = hrp1001-sobid+0(10).&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          org_tab-kostl = hrp1001-sobid+0(10).&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        v_otype = c_otype.   " S&lt;/P&gt;&lt;P&gt;        v_sclas = c_otype.   " S&lt;/P&gt;&lt;P&gt;        v_subty = c_subty.                                  " A002&lt;/P&gt;&lt;P&gt;        v_sobid = org_tab-objid.&lt;/P&gt;&lt;P&gt;        perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                       v_sobid.&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          v_otype = c_otype.  " S&lt;/P&gt;&lt;P&gt;          v_sclas = c_sclas.  " K&lt;/P&gt;&lt;P&gt;          v_subty = c_subty1.                               " A011&lt;/P&gt;&lt;P&gt;          v_sobid1 = v_sobid.&lt;/P&gt;&lt;P&gt;          perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                               v_sobid.&lt;/P&gt;&lt;P&gt;          if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            v_otype = c_otype.  " S&lt;/P&gt;&lt;P&gt;            v_sclas = c_sclas1. " O&lt;/P&gt;&lt;P&gt;            v_subty = c_subty2.                             " A003&lt;/P&gt;&lt;P&gt;            v_sobid = v_sobid1.&lt;/P&gt;&lt;P&gt;            perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                      v_sobid.&lt;/P&gt;&lt;P&gt;            if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              v_otype = c_type.   " O&lt;/P&gt;&lt;P&gt;              v_sclas = c_sclas.  " K&lt;/P&gt;&lt;P&gt;              v_subty = c_subty1.                           " A011&lt;/P&gt;&lt;P&gt;              v_sobid2 = v_sobid.&lt;/P&gt;&lt;P&gt;              perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                               v_sobid.&lt;/P&gt;&lt;P&gt;              if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;                v_otype = c_type.    " O&lt;/P&gt;&lt;P&gt;                v_sclas = c_sclas1.  " O&lt;/P&gt;&lt;P&gt;                v_subty = c_subty.                          " A002&lt;/P&gt;&lt;P&gt;                v_sobid = v_sobid2.&lt;/P&gt;&lt;P&gt;                perform get_org using v_otype v_sclas v_subty&lt;/P&gt;&lt;P&gt;                        v_sobid.&lt;/P&gt;&lt;P&gt;              else.&lt;/P&gt;&lt;P&gt;                org_tab-kostl = hrp1001-sobid+0(10).&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            org_tab-kostl = hrp1001-sobid+0(10).&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&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;Get the Position Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t528t.&lt;/P&gt;&lt;P&gt;    select single plstx from t528t into t528t-plstx&lt;/P&gt;&lt;P&gt;      where sprsl = sy-langu and&lt;/P&gt;&lt;P&gt;            otype = c_otype  and&lt;/P&gt;&lt;P&gt;            plans = org_tab-objid.&lt;/P&gt;&lt;P&gt;    org_tab-plstx = t528t-plstx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Org Unit Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t527x.&lt;/P&gt;&lt;P&gt;    select single orgtx from t527x into t527x-orgtx&lt;/P&gt;&lt;P&gt;      where sprsl = sy-langu and&lt;/P&gt;&lt;P&gt;            orgeh = org_tab-sobid+0(8).&lt;/P&gt;&lt;P&gt;    org_tab-orgtx = t527x-orgtx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    modify org_tab index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear v_sobid.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort org_tab by otype objid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate the Approved No of Positions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at org_tab.&lt;/P&gt;&lt;P&gt;    if org_tab-kostl in s_kostl.&lt;/P&gt;&lt;P&gt;      move-corresponding org_tab to org1_tab.&lt;/P&gt;&lt;P&gt;      append org1_tab.&lt;/P&gt;&lt;P&gt;      clear org1_tab.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort org1_tab by kostl objid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear v_cnt.&lt;/P&gt;&lt;P&gt;  loop at org1_tab.&lt;/P&gt;&lt;P&gt;    at end of kostl.&lt;/P&gt;&lt;P&gt;      sy-tabix = sy-tabix - v_cnt.&lt;/P&gt;&lt;P&gt;      org2_tab-kostl = org1_tab-kostl.&lt;/P&gt;&lt;P&gt;      org2_tab-count   = sy-tabix.&lt;/P&gt;&lt;P&gt;      v_cnt = v_cnt + sy-tabix.&lt;/P&gt;&lt;P&gt;      append org2_tab.&lt;/P&gt;&lt;P&gt;      clear:org2_tab.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort org2_tab by kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.              "get_org_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_act_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 Actual Manpower Data from Database Table PA0001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form get_act_data.&lt;/P&gt;&lt;P&gt;  clear  : stat_tab, act_tab.&lt;/P&gt;&lt;P&gt;  refresh: stat_tab, act_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get all the Active Employees&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select pernr       " Object Type&lt;/P&gt;&lt;P&gt;         begda       " Begin date&lt;/P&gt;&lt;P&gt;         endda       " End date&lt;/P&gt;&lt;P&gt;         stat2       " Emp Status&lt;/P&gt;&lt;P&gt;       into table stat_tab&lt;/P&gt;&lt;P&gt;       from pa0000&lt;/P&gt;&lt;P&gt;       where stat2 eq c_stat1 and&lt;/P&gt;&lt;P&gt;             begda le p_date  and&lt;/P&gt;&lt;P&gt;             endda ge p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort act_tab by pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not stat_tab[] is initial.&lt;/P&gt;&lt;P&gt;    select pernr       " Object Type&lt;/P&gt;&lt;P&gt;           begda       " Begin date&lt;/P&gt;&lt;P&gt;           endda       " End date&lt;/P&gt;&lt;P&gt;           kostl       " Cost Center&lt;/P&gt;&lt;P&gt;           orgeh       " Org Unit&lt;/P&gt;&lt;P&gt;           plans       " Position&lt;/P&gt;&lt;P&gt;       into table act_tab&lt;/P&gt;&lt;P&gt;       from pa0001&lt;/P&gt;&lt;P&gt;       for all entries in stat_tab&lt;/P&gt;&lt;P&gt;       where pernr eq stat_tab-pernr and&lt;/P&gt;&lt;P&gt;             kostl in s_kostl and&lt;/P&gt;&lt;P&gt;             plans in s_plans and&lt;/P&gt;&lt;P&gt;             persg eq '1'     and&lt;/P&gt;&lt;P&gt;             begda le p_date  and&lt;/P&gt;&lt;P&gt;             endda ge p_date.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  sort act_tab by pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at act_tab.&lt;/P&gt;&lt;P&gt;    move-corresponding act_tab to act1_tab.&lt;/P&gt;&lt;P&gt;    clear pa0002-natio.&lt;/P&gt;&lt;P&gt;    select single natio into pa0002-natio from pa0002&lt;/P&gt;&lt;P&gt;      where pernr = act_tab-pernr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      act1_tab-natio = pa0002-natio.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append act1_tab.&lt;/P&gt;&lt;P&gt;    clear act1_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort act1_tab by kostl natio.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate the Local and Expatriate Manpower&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at act1_tab.&lt;/P&gt;&lt;P&gt;    if act1_tab-natio = c_uae.&lt;/P&gt;&lt;P&gt;      act2_tab-kostl = act1_tab-kostl.&lt;/P&gt;&lt;P&gt;      act2_tab-natio = act1_tab-natio.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      act3_tab-kostl = act1_tab-kostl.&lt;/P&gt;&lt;P&gt;      act3_tab-natio = act1_tab-natio.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append: act2_tab, act3_tab.&lt;/P&gt;&lt;P&gt;    clear : act2_tab,act3_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort act2_tab by kostl.&lt;/P&gt;&lt;P&gt;  sort act3_tab by kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Actual UAE Manpower&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear v_cnt.&lt;/P&gt;&lt;P&gt;  loop at act2_tab.&lt;/P&gt;&lt;P&gt;    at end of kostl.&lt;/P&gt;&lt;P&gt;      sy-tabix = sy-tabix - v_cnt.&lt;/P&gt;&lt;P&gt;      act4_tab-kostl   = act2_tab-kostl.&lt;/P&gt;&lt;P&gt;      act4_tab-count1  = sy-tabix.&lt;/P&gt;&lt;P&gt;      v_cnt = v_cnt + sy-tabix.&lt;/P&gt;&lt;P&gt;      append act4_tab.&lt;/P&gt;&lt;P&gt;      clear:act4_tab.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort act4_tab by kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Other Countries&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear v_cnt.&lt;/P&gt;&lt;P&gt;  loop at act3_tab.&lt;/P&gt;&lt;P&gt;    at end of kostl.&lt;/P&gt;&lt;P&gt;      sy-tabix = sy-tabix - v_cnt.&lt;/P&gt;&lt;P&gt;      act5_tab-kostl   = act3_tab-kostl.&lt;/P&gt;&lt;P&gt;      act5_tab-count2  = sy-tabix.&lt;/P&gt;&lt;P&gt;      v_cnt = v_cnt + sy-tabix.&lt;/P&gt;&lt;P&gt;      append act5_tab.&lt;/P&gt;&lt;P&gt;      clear:act5_tab.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort act5_tab by kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.              "get_act_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;P&gt;*&amp;amp;      Form  get_org&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 Cost Center from Parent Org Id&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_org using p_v_otype p_v_sclas p_v_subty p_v_sobid.&lt;/P&gt;&lt;P&gt;  clear hrp1001.&lt;/P&gt;&lt;P&gt;  select single * from hrp1001&lt;/P&gt;&lt;P&gt;        where otype = p_v_otype  and&lt;/P&gt;&lt;P&gt;              plvar = c_plan   and&lt;/P&gt;&lt;P&gt;              istat = c_pstat  and&lt;/P&gt;&lt;P&gt;              begda le p_date  and&lt;/P&gt;&lt;P&gt;              endda ge p_date  and&lt;/P&gt;&lt;P&gt;              sclas eq p_v_sclas   and&lt;/P&gt;&lt;P&gt;              subty eq p_v_subty  and&lt;/P&gt;&lt;P&gt;              objid eq p_v_sobid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_sobid = hrp1001-sobid+0(8).&lt;/P&gt;&lt;P&gt;endform.                    " get_org&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_vac_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 Vaccancies Data from Database Table HRP1007&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_vac_data.&lt;/P&gt;&lt;P&gt;  if not org_tab[] is initial.&lt;/P&gt;&lt;P&gt;    select plvar       " Plan Version&lt;/P&gt;&lt;P&gt;           otype       " Object Type&lt;/P&gt;&lt;P&gt;           objid       " Object ID&lt;/P&gt;&lt;P&gt;           istat       " Planning Status&lt;/P&gt;&lt;P&gt;           begda       " Begin date&lt;/P&gt;&lt;P&gt;           endda       " End date&lt;/P&gt;&lt;P&gt;           vacan       " Vacancy Indicator&lt;/P&gt;&lt;P&gt;           status      " Status of Vacancy&lt;/P&gt;&lt;P&gt;       into table vac_tab&lt;/P&gt;&lt;P&gt;       from hrp1007&lt;/P&gt;&lt;P&gt;       for all entries in org_tab&lt;/P&gt;&lt;P&gt;       where plvar = c_plan   and&lt;/P&gt;&lt;P&gt;             otype = c_otype  and&lt;/P&gt;&lt;P&gt;             istat eq c_pstat and&lt;/P&gt;&lt;P&gt;             objid = org_tab-objid and&lt;/P&gt;&lt;P&gt;             begda le p_date and&lt;/P&gt;&lt;P&gt;             endda ge p_date and&lt;/P&gt;&lt;P&gt;             vacan eq c_x  and&lt;/P&gt;&lt;P&gt;             status eq c_stat.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  sort vac_tab by plvar otype objid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the HR data into the rep_tab Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at vac_tab.&lt;/P&gt;&lt;P&gt;    rep_tab-plans  = vac_tab-objid.&lt;/P&gt;&lt;P&gt;    rep_tab-vacan  = vac_tab-vacan.&lt;/P&gt;&lt;P&gt;    rep_tab-status = vac_tab-status.&lt;/P&gt;&lt;P&gt;    read table org_tab with key objid = vac_tab-objid.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      rep_tab-kostl = org_tab-kostl.&lt;/P&gt;&lt;P&gt;      rep_tab-plstx = org_tab-plstx.&lt;/P&gt;&lt;P&gt;      rep_tab-orgtx = org_tab-orgtx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append rep_tab.&lt;/P&gt;&lt;P&gt;    clear  rep_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at rep_tab.&lt;/P&gt;&lt;P&gt;    if not rep_tab-kostl in s_kostl.&lt;/P&gt;&lt;P&gt;      delete rep_tab index sy-tabix.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort rep_tab by kostl plans.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; delete rep_tab where plstx cs v_str.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; delete rep_tab where orgtx cs v_str1.&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;Calculate the Count of Vacancies in each Division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear v_cnt.&lt;/P&gt;&lt;P&gt;  loop at rep_tab.&lt;/P&gt;&lt;P&gt;    at end of kostl.&lt;/P&gt;&lt;P&gt;      sy-tabix = sy-tabix - v_cnt.&lt;/P&gt;&lt;P&gt;      rep1_tab-kostl = rep_tab-kostl.&lt;/P&gt;&lt;P&gt;      rep1_tab-cnt   = sy-tabix.&lt;/P&gt;&lt;P&gt;      v_cnt = v_cnt + sy-tabix.&lt;/P&gt;&lt;P&gt;      append rep1_tab.&lt;/P&gt;&lt;P&gt;      clear:rep1_tab.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort rep1_tab by kostl.&lt;/P&gt;&lt;P&gt;endform.                  "get_vac_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 append_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;Append the data into final Internal Table&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 append_data.&lt;/P&gt;&lt;P&gt;  loop at org2_tab.&lt;/P&gt;&lt;P&gt;    rep2_tab-kostl = org2_tab-kostl.&lt;/P&gt;&lt;P&gt;    rep2_tab-app_no = org2_tab-count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table act4_tab with key kostl = org2_tab-kostl&lt;/P&gt;&lt;P&gt;                                 binary search.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      rep2_tab-nat_no = act4_tab-count1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table act5_tab with key kostl = org2_tab-kostl&lt;/P&gt;&lt;P&gt;                                 binary search.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      rep2_tab-exp_no = act5_tab-count2.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table rep1_tab with key kostl = org2_tab-kostl&lt;/P&gt;&lt;P&gt;                                 binary search.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      rep2_tab-vac_no = rep1_tab-cnt.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    rep2_tab-tot_no = rep2_tab-nat_no + rep2_tab-exp_no.&lt;/P&gt;&lt;P&gt;    append rep2_tab.&lt;/P&gt;&lt;P&gt;    clear rep2_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort rep2_tab by kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.             "append_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;  write: /1(108) 'ABC'(010) centered,&lt;/P&gt;&lt;P&gt;         /1(108) 'Summary of Manning Level Report'(011) centered.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  write: /2 'Key Date        :'(013), p_date,&lt;/P&gt;&lt;P&gt;         75 'Report Run Date:'(041), sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_kostl[] is initial.&lt;/P&gt;&lt;P&gt;    if s_kostl-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Cost Center     :'(023), s_kostl-low,&lt;/P&gt;&lt;P&gt;             75 'Time           :'(042), sy-uzeit.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Cost Center From:'(024), s_kostl-low+7(3),&lt;/P&gt;&lt;P&gt;                                'To'(022), s_kostl-high,&lt;/P&gt;&lt;P&gt;             75 'Time           :'(042), sy-uzeit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write: /75  'Time           :'(042), sy-uzeit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not s_plans[] is initial.&lt;/P&gt;&lt;P&gt;    if s_plans-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Position Id     :'(019), s_plans-low,&lt;/P&gt;&lt;P&gt;             75 'User           :'(043), sy-uname.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Position Id From:'(021), s_plans-low,&lt;/P&gt;&lt;P&gt;                          'To'(022), s_plans-high,&lt;/P&gt;&lt;P&gt;             75 'User           :'(043), sy-uname.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write: /75 'User           :'(043), sy-uname.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  write: /75 'Page No        :'(044), sy-pagno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  write /1(108) sy-uline.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 53 sy-vline,&lt;/P&gt;&lt;P&gt;        64 sy-vline, 65(32)  'Actual'(018) centered,&lt;/P&gt;&lt;P&gt;        97 sy-vline,108 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline,  2(10) 'CostCenter'(014),&lt;/P&gt;&lt;P&gt;        12 sy-vline, 13(40) 'Description'(026) centered,&lt;/P&gt;&lt;P&gt;        53 sy-vline, 54(10) 'Approved'(025) centered,&lt;/P&gt;&lt;P&gt;        64 sy-vline, 65(32)  sy-uline,&lt;/P&gt;&lt;P&gt;        97 sy-vline, 98(10) 'Vacancies'(017),&lt;/P&gt;&lt;P&gt;       108 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 53 sy-vline,&lt;/P&gt;&lt;P&gt;        64 sy-vline, 65(10) 'National'(015) centered,&lt;/P&gt;&lt;P&gt;        75 sy-vline, 76(10) 'Expatriate'(020) centered,&lt;/P&gt;&lt;P&gt;        86 sy-vline, 87(10) 'Total'(016) centered,&lt;/P&gt;&lt;P&gt;        97 sy-vline,108 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  write /1(108) sy-uline.&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  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 rep2_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'(035).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    loop at rep2_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Authorization Check for the Orgn and Cost Centers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform auth_check_org.&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        clear cskt.&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 = rep2_tab-kostl.&lt;/P&gt;&lt;P&gt;        format color col_normal.&lt;/P&gt;&lt;P&gt;        write: /1 sy-vline, 2(10) rep2_tab-kostl+7(3),&lt;/P&gt;&lt;P&gt;               12 sy-vline, 13(40) cskt-ltext,&lt;/P&gt;&lt;P&gt;               53 sy-vline, 54(10) rep2_tab-app_no,&lt;/P&gt;&lt;P&gt;               64 sy-vline, 65(10) rep2_tab-nat_no,&lt;/P&gt;&lt;P&gt;               75 sy-vline, 76(10) rep2_tab-exp_no,&lt;/P&gt;&lt;P&gt;               86 sy-vline, 87(10) rep2_tab-tot_no,&lt;/P&gt;&lt;P&gt;               97 sy-vline, 98(10) rep2_tab-vac_no,&lt;/P&gt;&lt;P&gt;              108 sy-vline.&lt;/P&gt;&lt;P&gt;        format color off.&lt;/P&gt;&lt;P&gt;        at last.&lt;/P&gt;&lt;P&gt;          sum.&lt;/P&gt;&lt;P&gt;          format color 3.&lt;/P&gt;&lt;P&gt;          write /1(108) sy-uline.&lt;/P&gt;&lt;P&gt;          write: /1 sy-vline, 2(10) 'Total'(027),&lt;/P&gt;&lt;P&gt;                 12 sy-vline,&lt;/P&gt;&lt;P&gt;                 53 sy-vline, 54(10) rep2_tab-app_no,&lt;/P&gt;&lt;P&gt;                 64 sy-vline, 65(10) rep2_tab-nat_no,&lt;/P&gt;&lt;P&gt;                 75 sy-vline, 76(10) rep2_tab-exp_no,&lt;/P&gt;&lt;P&gt;                 86 sy-vline, 87(10) rep2_tab-tot_no,&lt;/P&gt;&lt;P&gt;                 97 sy-vline, 98(10) rep2_tab-vac_no,&lt;/P&gt;&lt;P&gt;                108 sy-vline.&lt;/P&gt;&lt;P&gt;          format color off.&lt;/P&gt;&lt;P&gt;        endat.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  write /1(108) sy-uline.&lt;/P&gt;&lt;P&gt;endform.                    " Display_report&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  auth_check_org&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;Authorization Check for the Orgn and Cost Center&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form auth_check_org.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  authority-check object 'ZNDCHROM'&lt;/P&gt;&lt;P&gt;        id 'PLVAR' dummy&lt;/P&gt;&lt;P&gt;        id 'OTYPE' dummy&lt;/P&gt;&lt;P&gt;        id 'KOSTL' field rep2_tab-kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                  "auth_check_org&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>Thu, 12 Jul 2007 12:33:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540550#M577262</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-12T12:33:06Z</dc:date>
    </item>
    <item>
      <title>Re: HR Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540551#M577263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Take a look at &amp;lt;a href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAXX/PYINT_RMAC.pdf"&amp;gt;Programming Utilities for the Logical Databases PNP and PAP&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jul 2007 12:34:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540551#M577263</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2007-07-12T12:34:40Z</dc:date>
    </item>
    <item>
      <title>Re: HR Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540552#M577264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your replies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code which you have sent is written without using LDB PNP. Can you please send me some code where logical DB is used, where PNP selection-screen exists and 2-3 infotypes data is processed?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jul 2007 12:45:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540552#M577264</guid>
      <dc:creator>abdulazeez12</dc:creator>
      <dc:date>2007-07-12T12:45:05Z</dc:date>
    </item>
    <item>
      <title>Re: HR Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540553#M577265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Look also at &amp;lt;a href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAXX/PYINT_PROGRAMM.pdf"&amp;gt;Report Programming in HR&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jul 2007 12:49:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540553#M577265</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2007-07-12T12:49:34Z</dc:date>
    </item>
    <item>
      <title>Re: HR Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540554#M577266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Pl change your as below..&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;tables: pernr.
INFOTYPES: 0000,
0001.
get pernr.
clear: p0000,p0001.
rp-provide-from-last p0000 space pn-ebgda pn-endda.
if p0000-stat2 eq '3'.
rp-provide-from-last p0001 space pn-ebgda pn-endda.
if p0001-persk eq 'A1'.
write: / p0000-pernr,
p0001-ename.
endif.
endif.
end-of-selection.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can achieve the same by using the selection screen too.. you can fill your STAT2 &amp;amp; PERSK on the selection screen &amp;amp; the employee selection will be restricted via the LDB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;~Suresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jul 2007 13:05:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540554#M577266</guid>
      <dc:creator>suresh_datti</dc:creator>
      <dc:date>2007-07-12T13:05:46Z</dc:date>
    </item>
    <item>
      <title>Re: HR Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540555#M577267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One last &amp;lt;a href="http://help.sap.com/saphelp_46c/helpdata/en/4f/d5275f575e11d189270000e8322f96/frameset.htm"&amp;gt;Report Programming in HR&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jul 2007 13:41:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-programming/m-p/2540555#M577267</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2007-07-12T13:41:37Z</dc:date>
    </item>
  </channel>
</rss>

