<?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 ldb in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405657#M817865</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; 1) How u used logical database? How is data transferred to program? Corresponding statement in LDB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) How do u suppress fields on selection screen generated by LDB?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;kb&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Feb 2008 08:04:29 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-08T08:04:29Z</dc:date>
    <item>
      <title>ldb</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405657#M817865</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; 1) How u used logical database? How is data transferred to program? Corresponding statement in LDB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) How do u suppress fields on selection screen generated by LDB?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;kb&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 08:04:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405657#M817865</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T08:04:29Z</dc:date>
    </item>
    <item>
      <title>Re: ldb</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405658#M817866</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some links to refer..&lt;/P&gt;&lt;P&gt;/people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/893908#" target="test_blank"&gt;http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/893908#&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A sample prog with LDB PNP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report ZH_REPT_PAYMENT *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report zh_rept_payment line-size 80 no standard page&lt;/P&gt;&lt;P&gt;heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: pernr, " Standard Selections for HR Master Data Reporting&lt;/P&gt;&lt;P&gt;pcl1, " HR Cluster 1&lt;/P&gt;&lt;P&gt;pcl2, " HR Cluster 2&lt;/P&gt;&lt;P&gt;pa0009,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PA9001,&lt;/P&gt;&lt;P&gt;PA9006,&lt;/P&gt;&lt;P&gt;pa0002,&lt;/P&gt;&lt;P&gt;pc260 , " Cluster Directory for Payroll Results&lt;/P&gt;&lt;P&gt;bnka .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Infotypes&lt;/P&gt;&lt;P&gt;infotypes: 0001. " Organizational Assignment&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Declaration of Internal Tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : bnka1 like bnka occurs 0 with header line .&lt;/P&gt;&lt;P&gt;*-&lt;/P&gt;&lt;P&gt;data: begin of t_int_rep occurs 100,&lt;/P&gt;&lt;P&gt;bankl like pc209-bankl, " Bank Number&lt;/P&gt;&lt;P&gt;zlsch like pc209-zlsch, " Payment method&lt;/P&gt;&lt;P&gt;pernr like pernr-pernr, " Employee Number&lt;/P&gt;&lt;P&gt;ename like pernr-ename, " Employee Name&lt;/P&gt;&lt;P&gt;bankn like pc209-bankn, " Bank Account Number&lt;/P&gt;&lt;P&gt;betrg like pc209-betrg, " Amount to be transfered&lt;/P&gt;&lt;P&gt;zweck like pa0009-zweck, " Purpose&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end of t_int_rep.&lt;/P&gt;&lt;P&gt;***********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of int_rep occurs 100,&lt;/P&gt;&lt;P&gt;bankl like pc209-bankl, " Bank Number&lt;/P&gt;&lt;P&gt;zlsch like pc209-zlsch, " Payment method&lt;/P&gt;&lt;P&gt;pernr like pernr-pernr, " Employee Number&lt;/P&gt;&lt;P&gt;ename like pernr-ename, " Employee Name&lt;/P&gt;&lt;P&gt;bankn like pc209-bankn, " Bank Account Number&lt;/P&gt;&lt;P&gt;betrg like pc209-betrg, " Amount to be transfered&lt;/P&gt;&lt;P&gt;zweck like pa0009-zweck, " Purpose&lt;/P&gt;&lt;P&gt;begda like pa0009-begda, "Begin date&lt;/P&gt;&lt;P&gt;end of int_rep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Declaration of Data Variables&lt;/P&gt;&lt;P&gt;data: ws_betrg like pc209-betrg, " BT Amount&lt;/P&gt;&lt;P&gt;w_val like spell occurs 0 with header line,&lt;/P&gt;&lt;P&gt;int_rep1(6), " TYPE I, " Employee Number&lt;/P&gt;&lt;P&gt;cnt type i value 0, " Counter&lt;/P&gt;&lt;P&gt;calcmolga like t500l-molga value '40', " Country Grouping&lt;/P&gt;&lt;P&gt;v_id(15),&lt;/P&gt;&lt;P&gt;calc_currency like t001-waers value 'INR'. " Currency&lt;/P&gt;&lt;P&gt;data : ctr type i,&lt;/P&gt;&lt;P&gt;dt_merge like pa0009-begda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: ws_totemp(6) type c,&lt;/P&gt;&lt;P&gt;ws_totamt(20) type c,&lt;/P&gt;&lt;P&gt;r_mth(9) type c,&lt;/P&gt;&lt;P&gt;ws_fpbeg(6) type c,&lt;/P&gt;&lt;P&gt;ws_fpend(6) type c,&lt;/P&gt;&lt;P&gt;ws_mthyr(6) type c,&lt;/P&gt;&lt;P&gt;ws_mthyr_r(14) type c,&lt;/P&gt;&lt;P&gt;r_mth_t(3) type c,&lt;/P&gt;&lt;P&gt;ws_amt(8) type c,&lt;/P&gt;&lt;P&gt;ws_bankl(14) type c,&lt;/P&gt;&lt;P&gt;ws_date(6) type c,&lt;/P&gt;&lt;P&gt;amount_word(500),&lt;/P&gt;&lt;P&gt;total_page type i,&lt;/P&gt;&lt;P&gt;pages type i,&lt;/P&gt;&lt;P&gt;remain type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data begin of i_spell.&lt;/P&gt;&lt;P&gt;include structure spell .&lt;/P&gt;&lt;P&gt;data end of i_spell .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : c_molga type t500l-molga value '40',&lt;/P&gt;&lt;P&gt;c_banks type bnka-banks value 'IN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Standard Includes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include rpc2cd09. "Cluster CD data definition&lt;/P&gt;&lt;P&gt;include pc2rxin0.&lt;/P&gt;&lt;P&gt;include rpc2rx09.&lt;/P&gt;&lt;P&gt;include rpppxd00. " Data Definition buffer PCL1/PCL2&lt;/P&gt;&lt;P&gt;include rpppxd10. " Common Part buffer PCL1/PCL2&lt;/P&gt;&lt;P&gt;include rpppxm00. " Buffer Handling RoutinePCL1/PCL2&lt;/P&gt;&lt;P&gt;include zrpc2rox2. " Data Definition POCLSTERS (not J,K,U)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Selection Screen&lt;/P&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;parameter: pa_mth(2) type c default sy-datum+4(2) obligatory,&lt;/P&gt;&lt;P&gt;pa_year(4) type c default sy-datum(4) obligatory,&lt;/P&gt;&lt;P&gt;p_bankl like pc209-bankl, " Bank Number&lt;/P&gt;&lt;P&gt;p_zlsch like pc209-zlsch. " Payment method&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;P&gt;save_calc_currency = calc_currency.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;count_top = 0.&lt;/P&gt;&lt;P&gt;get_pernr_flag = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Top-Of-Page&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform convert_month using pa_mth(2) r_mth.&lt;/P&gt;&lt;P&gt;ws_mthyr_r = r_mth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate ws_mthyr_r pa_year into ws_mthyr_r separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SKIP 5.&lt;/P&gt;&lt;P&gt;skip 1.&lt;/P&gt;&lt;P&gt;skip 4.&lt;/P&gt;&lt;P&gt;if int_rep-bankl eq ' '.&lt;/P&gt;&lt;P&gt;if int_rep-zlsch eq 'C' or int_rep-zlsch eq 'E' or&lt;/P&gt;&lt;P&gt;int_rep-zlsch eq ' '.&lt;/P&gt;&lt;P&gt;write: /1(85) 'CHEQUE PAYMENT STATEMENT'(047) centered.&lt;/P&gt;&lt;P&gt;elseif int_rep-zlsch eq 'L'.&lt;/P&gt;&lt;P&gt;write: /1(85) 'DEMAND DRAFT STATEMENT'(047) centered.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;write: /1(85) 'BANK TRANSFER STATEMENT'(002) centered.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;write: /34 ws_mthyr_r,&lt;/P&gt;&lt;P&gt;62 'Page :'(008),69(2) sy-pagno intensified off,&lt;/P&gt;&lt;P&gt;' Of ',78(2) pages intensified off.&lt;/P&gt;&lt;P&gt;clear pages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table bnka1 with key bankl = int_rep-bankl .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;if int_rep-zlsch eq 'T'.&lt;/P&gt;&lt;P&gt;write:/03(10) 'Bank Name : ', bnka1-banka.&lt;/P&gt;&lt;P&gt;write:/03(10) 'Branch : ', bnka1-brnch.&lt;/P&gt;&lt;P&gt;write:/03(10) 'Address : ', bnka1-stras.&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;skip.&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;write: /1 sy-vline, 2(5) 'Sl.No'(002),&lt;/P&gt;&lt;P&gt;7 sy-vline, 8(8) 'Emp.No.'(003),&lt;/P&gt;&lt;P&gt;16 sy-vline,17(35) 'Employee Name'(004).&lt;/P&gt;&lt;P&gt;*--added for Demand Draft&lt;/P&gt;&lt;P&gt;if ( int_rep-zlsch = 'l' or int_rep-zlsch = 'L' ).&lt;/P&gt;&lt;P&gt;write : 47 sy-vline, 48(15) 'Payable at'(005).&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;*---&lt;/P&gt;&lt;P&gt;write : 47 sy-vline,48(15) 'Account No.'(005).&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: 63 sy-vline,64(16) 'Amount'(006),&lt;/P&gt;&lt;P&gt;80 sy-vline.&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-page.&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;write:/2 'Printed on ', sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start-of-selection.&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform h_headr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ctr = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;set margin 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'RP_GET_CURRENCY'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;molga = calcmolga&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;waers = calc_currency&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others.&lt;/P&gt;&lt;P&gt;if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;calc_currency = 'DEM'.&lt;/P&gt;&lt;P&gt;calc_currency = save_calc_currency.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get pernr.&lt;/P&gt;&lt;P&gt;cd-key-pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;perform import_cluster.&lt;/P&gt;&lt;P&gt;get_pernr_flag = 1.&lt;/P&gt;&lt;P&gt;check : ocd-version-molga eq calcmolga.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The table 'tabpernr' is filled with the personnel numbers&lt;/P&gt;&lt;P&gt;and is used after selection is finished.&lt;/P&gt;&lt;P&gt;move-corresponding pernr to tabpernr.&lt;/P&gt;&lt;P&gt;append tabpernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The table 'tab_rgdir' is filled&lt;/P&gt;&lt;P&gt;loop at rgdir.&lt;/P&gt;&lt;P&gt;rx-key-pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;unpack rgdir-seqnr to rx-key-seqno.&lt;/P&gt;&lt;P&gt;perform int_tab. "fill tab_rgdir&lt;/P&gt;&lt;P&gt;perform import_bt.&lt;/P&gt;&lt;P&gt;perform validate.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End of Selection&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform h_headr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform convert_date_a using pa_mth r_mth_t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort int_rep by bankl zlsch pernr betrg descending.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from int_rep&lt;/P&gt;&lt;P&gt;comparing bankl zlsch pernr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort int_rep by bankl zlsch bankn . "PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at int_rep.&lt;/P&gt;&lt;P&gt;at new bankl.&lt;/P&gt;&lt;P&gt;select single * into bnka1 from bnka&lt;/P&gt;&lt;P&gt;where banks = c_banks and&lt;/P&gt;&lt;P&gt;bankl = int_rep-bankl .&lt;/P&gt;&lt;P&gt;append bnka1.&lt;/P&gt;&lt;P&gt;clear bnka1.&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for Demand Draft - purpose added&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at int_rep.&lt;/P&gt;&lt;P&gt;concatenate pa_year(4) pa_mth(2) '01' into dt_merge.&lt;/P&gt;&lt;P&gt;select single * "zweck into int_rep-zweck&lt;/P&gt;&lt;P&gt;from pa0009 where&lt;/P&gt;&lt;P&gt;pernr = int_rep-pernr and&lt;/P&gt;&lt;P&gt;bankl = int_rep-bankl and&lt;/P&gt;&lt;P&gt;zlsch = int_rep-zlsch&lt;/P&gt;&lt;P&gt;and begda &amp;lt;= dt_merge and&lt;/P&gt;&lt;P&gt;endda &amp;gt;= dt_merge .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;int_rep-zweck = pa0009-zweck.&lt;/P&gt;&lt;P&gt;modify int_rep.&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;*-for DD and Chq sorted by PAyable at and EMPNO wise&lt;/P&gt;&lt;P&gt;if p_zlsch = 'T' .&lt;/P&gt;&lt;P&gt;sort int_rep by bankl zlsch bankn . "PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else. "added for "payable at" for DD/Chq&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;sort int_rep by zweck pernr . "PERNR.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*delete adjacent duplicates from int_rep.&lt;/P&gt;&lt;P&gt;t_int_rep] = int_rep[.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at int_rep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-for page of page no.&lt;/P&gt;&lt;P&gt;total_page = 0.&lt;/P&gt;&lt;P&gt;loop at t_int_rep where bankl = int_rep-bankl&lt;/P&gt;&lt;P&gt;and zlsch = int_rep-zlsch.&lt;/P&gt;&lt;P&gt;total_page = total_page + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pages = total_page div 25.&lt;/P&gt;&lt;P&gt;remain = total_page mod 25.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;comment bcoz its adding one extra page no.&lt;/P&gt;&lt;P&gt;done as on 29/11/2004&lt;/P&gt;&lt;P&gt;if remain &amp;gt; 0.&lt;/P&gt;&lt;P&gt;pages = pages + 1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;**-end&lt;/P&gt;&lt;P&gt;*-&lt;/P&gt;&lt;P&gt;at new bankl.&lt;/P&gt;&lt;P&gt;ctr = 0 .&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at new zlsch.&lt;/P&gt;&lt;P&gt;ctr = 0 .&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear v_id.&lt;/P&gt;&lt;P&gt;select single natio&lt;/P&gt;&lt;P&gt;into pa0002-natio&lt;/P&gt;&lt;P&gt;from pa0002&lt;/P&gt;&lt;P&gt;where pernr eq int_rep-pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-testing......for soma&lt;/P&gt;&lt;P&gt;if ctr &amp;gt; 24.&lt;/P&gt;&lt;P&gt;ctr = 0 .&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;new-page .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ctr = ctr + 1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cnt = cnt + 1.&lt;/P&gt;&lt;P&gt;pack int_rep-pernr to int_rep1.&lt;/P&gt;&lt;P&gt;write:/1 sy-vline, 2(3) cnt intensified off,&lt;/P&gt;&lt;P&gt;7 sy-vline, 9(6) int_rep1 intensified off,&lt;/P&gt;&lt;P&gt;16 sy-vline,17(35) int_rep-ename intensified off .&lt;/P&gt;&lt;P&gt;if ( int_rep-zlsch = 'l' or int_rep-zlsch = 'L' ).&lt;/P&gt;&lt;P&gt;write : 47 sy-vline,48(15) int_rep-zweck intensified off.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;write:&lt;/P&gt;&lt;P&gt;47 sy-vline,48(15) int_rep-bankn intensified off .&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;write: 63 sy-vline,64(16) int_rep-betrg&lt;/P&gt;&lt;P&gt;intensified off currency 'INR',&lt;/P&gt;&lt;P&gt;80 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_betrg = ws_betrg + int_rep-betrg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-testing......for soma&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;write :&lt;/P&gt;&lt;P&gt;/1 sy-vline, 7 sy-vline ,16 sy-vline ,47 sy-vline,63 sy-vline,80&lt;/P&gt;&lt;P&gt;sy-vline .&lt;/P&gt;&lt;P&gt;*-end testing......for soma&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at end of zlsch.&lt;/P&gt;&lt;P&gt;if int_rep-bankl = ' '.&lt;/P&gt;&lt;P&gt;call function 'HR_IN_CHG_INR_WRDS'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;amt_in_num = ws_betrg&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;amt_in_words = amount_word&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;DATA_TYPE_MISMATCH = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************&lt;/P&gt;&lt;P&gt;w_val-word = amount_word.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate 'INR.' w_val-word into w_val-word&lt;/P&gt;&lt;P&gt;separated by space.&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: /1 sy-vline, 7 'Total transfer:'(009),&lt;/P&gt;&lt;P&gt;64(16) ws_betrg intensified off currency 'INR',&lt;/P&gt;&lt;P&gt;80 sy-vline.&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;write: /1 sy-vline, 3 w_val-word+0(76) intensified off,&lt;/P&gt;&lt;P&gt;80 sy-vline.&lt;/P&gt;&lt;P&gt;write :/1 sy-vline, 10 w_val-word+76(70) intensified off,&lt;/P&gt;&lt;P&gt;80 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;clear: ws_betrg,cnt.&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;write: /2 'Prepared by :'(010), '_______________'(013),&lt;/P&gt;&lt;P&gt;45 'Checked by :'(011),'_______________'(013).&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;write: /2 'Printed On ', sy-datum,&lt;/P&gt;&lt;P&gt;45 'Approved by :'(012),'_______________'(013).&lt;/P&gt;&lt;P&gt;clear sy-pagno.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;at end of bankl.&lt;/P&gt;&lt;P&gt;if int_rep-bankl ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'HR_IN_CHG_INR_WRDS'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;amt_in_num = ws_betrg&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;amt_in_words = amount_word&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;DATA_TYPE_MISMATCH = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_val-word = amount_word.&lt;/P&gt;&lt;P&gt;concatenate 'INR.' w_val-word into w_val-word&lt;/P&gt;&lt;P&gt;separated by space.&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: /1 sy-vline, 7 'Total transfer:'(009),&lt;/P&gt;&lt;P&gt;64(16) ws_betrg intensified off currency 'INR',&lt;/P&gt;&lt;P&gt;80 sy-vline.&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;write: /1 sy-vline, 3 w_val-word+0(76) intensified off,&lt;/P&gt;&lt;P&gt;80 sy-vline.&lt;/P&gt;&lt;P&gt;write :/1 sy-vline, 10 w_val-word+76(70) intensified off,&lt;/P&gt;&lt;P&gt;80 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/1(80) sy-uline.&lt;/P&gt;&lt;P&gt;clear: ws_betrg,cnt.&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;write: /2 'Prepared by :'(010), '_______________'(013),&lt;/P&gt;&lt;P&gt;45 'Checked by :'(011),'_______________'(013).&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;write: /2 'Printed on ', sy-datum,&lt;/P&gt;&lt;P&gt;45 'Approved by :'(012),'_______________'(013).&lt;/P&gt;&lt;P&gt;clear sy-pagno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NEW-PAGE.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End of Page&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;end-of-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: /2 'Prepared by :'(010), '_______________',&lt;/P&gt;&lt;P&gt;45 'Checked by :'(011),'_______________'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form IMPORT_CLUSTER&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Importing Data from Cluster *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form import_cluster.&lt;/P&gt;&lt;P&gt;sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rp-imp-c2-cd.&lt;/P&gt;&lt;P&gt;if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;if cd-version-number ne ocd-version-number.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif. " SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;endform. " IMPORT_CLUSTER&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form INT_TAB&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Filling internal table tab_rgdir form int_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Fill internal table tab_rgdir.&lt;/P&gt;&lt;P&gt;move-corresponding rgdir to tab_rgdir.&lt;/P&gt;&lt;P&gt;tab_rgdir-pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;append tab_rgdir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " INT_TAB&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form IMPORT_bt&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Import Values from Bank Transactions Table (BT) form import_bt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rp-init-buffer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RP-IMP-C2-RX.&lt;/P&gt;&lt;P&gt;rp-imp-c2-in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if rp-imp-in-subrc eq 0.&lt;/P&gt;&lt;P&gt;if in-version-number ne oin-version-number.&lt;/P&gt;&lt;P&gt;write: / 'Schlüssel des Clusters RX:'(015),&lt;/P&gt;&lt;P&gt;rx-key-pernr, rx-key-seqno.&lt;/P&gt;&lt;P&gt;write: / 'The imported version of the cluster'(016), 'RX',&lt;/P&gt;&lt;P&gt;'is not current'(017).&lt;/P&gt;&lt;P&gt;write: / 'Imported version :'(018),&lt;/P&gt;&lt;P&gt;oin-version-number.&lt;/P&gt;&lt;P&gt;write: / 'Current version of cluster :'(019),&lt;/P&gt;&lt;P&gt;in-version-number.&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;sy-subrc = 0.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;sy-subrc = 8.&lt;/P&gt;&lt;P&gt;write: /&lt;/P&gt;&lt;P&gt;'Inconsistencies between cluster directory and directory for'(020).&lt;/P&gt;&lt;P&gt;write: /&lt;/P&gt;&lt;P&gt;'No payroll results found for data in cluster directory'(021).&lt;/P&gt;&lt;P&gt;write : /&lt;/P&gt;&lt;P&gt;'Please contact hotline to solve the current problem'(022).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fpbeg(2) = versc-fpbeg+4(2).&lt;/P&gt;&lt;P&gt;ws_fpbeg+2(4) = versc-fpbeg(4).&lt;/P&gt;&lt;P&gt;ws_fpend(2) = versc-fpend+4(2).&lt;/P&gt;&lt;P&gt;ws_fpend+2(4) = versc-fpend(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_mthyr(2) = pa_mth.&lt;/P&gt;&lt;P&gt;ws_mthyr+2(4) = pa_year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check ws_mthyr = ws_fpbeg.&lt;/P&gt;&lt;P&gt;check ws_mthyr = ws_fpend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at bt. "from pc209&lt;/P&gt;&lt;P&gt;int_rep-pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;int_rep-ename = pernr-ename.&lt;/P&gt;&lt;P&gt;int_rep-bankl = bt-bankl.&lt;/P&gt;&lt;P&gt;int_rep-bankn = bt-bankn.&lt;/P&gt;&lt;P&gt;int_rep-betrg = bt-betrg.&lt;/P&gt;&lt;P&gt;int_rep-zlsch = bt-zlsch.&lt;/P&gt;&lt;P&gt;append int_rep.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF P_BANKL ' ' AND P_ZLSCH ' '.&lt;/P&gt;&lt;P&gt;DELETE INT_REP WHERE BANKL P_BANKL.&lt;/P&gt;&lt;P&gt;ELSEIF P_BANKL = ' ' AND P_ZLSCH ' '.&lt;/P&gt;&lt;P&gt;DELETE INT_REP WHERE ZLSCH P_ZLSCH.&lt;/P&gt;&lt;P&gt;ELSEIF P_BANKL ' ' AND P_ZLSCH = ' '.&lt;/P&gt;&lt;P&gt;DELETE INT_REP WHERE BANKL P_BANKL.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;endform. " IMPORT_BT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form CONVERT_MONTH&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fetching Month Text form convert_month using mth t_mth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;case mth.&lt;/P&gt;&lt;P&gt;when '01'.&lt;/P&gt;&lt;P&gt;t_mth = 'January'(023).&lt;/P&gt;&lt;P&gt;when '02'.&lt;/P&gt;&lt;P&gt;t_mth = 'February'(024).&lt;/P&gt;&lt;P&gt;when '03'.&lt;/P&gt;&lt;P&gt;t_mth = 'March'(025).&lt;/P&gt;&lt;P&gt;when '04'.&lt;/P&gt;&lt;P&gt;t_mth = 'April'(026).&lt;/P&gt;&lt;P&gt;when '05'.&lt;/P&gt;&lt;P&gt;t_mth = 'May'(027).&lt;/P&gt;&lt;P&gt;when '06'.&lt;/P&gt;&lt;P&gt;t_mth = 'June'(028).&lt;/P&gt;&lt;P&gt;when '07'.&lt;/P&gt;&lt;P&gt;t_mth = 'July'(029).&lt;/P&gt;&lt;P&gt;when '08'.&lt;/P&gt;&lt;P&gt;t_mth = 'August'(030).&lt;/P&gt;&lt;P&gt;when '09'.&lt;/P&gt;&lt;P&gt;t_mth = 'September'(031).&lt;/P&gt;&lt;P&gt;when '10'.&lt;/P&gt;&lt;P&gt;t_mth = 'October'(032).&lt;/P&gt;&lt;P&gt;when '11'.&lt;/P&gt;&lt;P&gt;t_mth = 'November'(033).&lt;/P&gt;&lt;P&gt;when '12'.&lt;/P&gt;&lt;P&gt;t_mth = 'December'(034).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;endform. " CONVERT_MONTH&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form CONVERT_DATE_A&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fetching Month Text * form convert_date_a using mth_t t_mth_t.&lt;/P&gt;&lt;P&gt;case mth_t.&lt;/P&gt;&lt;P&gt;when '01'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Jan.'(035).&lt;/P&gt;&lt;P&gt;when '02'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Feb.'(036).&lt;/P&gt;&lt;P&gt;when '03'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Mar.'(037).&lt;/P&gt;&lt;P&gt;when '04'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Apr.'(038).&lt;/P&gt;&lt;P&gt;when '05'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'May.'(039).&lt;/P&gt;&lt;P&gt;when '06'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Jun.'(040).&lt;/P&gt;&lt;P&gt;when '07'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Jul.'(041).&lt;/P&gt;&lt;P&gt;when '08'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Aug.'(042).&lt;/P&gt;&lt;P&gt;when '09'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Sep.'(043).&lt;/P&gt;&lt;P&gt;when '10'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Oct.'(044).&lt;/P&gt;&lt;P&gt;when '11'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Nov.'(045).&lt;/P&gt;&lt;P&gt;when '12'.&lt;/P&gt;&lt;P&gt;t_mth_t = 'Dec.'(046).&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;endform. " CONVERT_DATE_A&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form VALIDATE&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text form validate .&lt;/P&gt;&lt;P&gt;if p_bankl &amp;lt;&amp;gt; ' ' and p_zlsch ' '.&lt;/P&gt;&lt;P&gt;delete int_rep where bankl p_bankl.&lt;/P&gt;&lt;P&gt;elseif p_bankl = ' ' and p_zlsch ' '.&lt;/P&gt;&lt;P&gt;delete int_rep where zlsch p_zlsch.&lt;/P&gt;&lt;P&gt;elseif p_bankl ' ' and p_zlsch = ' '.&lt;/P&gt;&lt;P&gt;delete int_rep where bankl p_bankl.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. " VALIDATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this weblog.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/people/dj.adams/blog/2003/11/13/food-for-thought-ldbs-and-abap-objects&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also , check the following link too.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.datamanagementgroup.com/Resources/Articles/Article_1005_2.asp" target="test_blank"&gt;http://www.datamanagementgroup.com/Resources/Articles/Article_1005_2.asp&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if found helpfull,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Chaitanya.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 08:07:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405658#M817866</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T08:07:20Z</dc:date>
    </item>
    <item>
      <title>Re: ldb</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405659#M817867</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;check this code..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT ZPROJPSJ MESSAGE-ID OK.

TABLES: PROJ,
PRPS_R,
AUFK,
ACT01,
DRAD,
DRAT,
ELM_PS,
RSTHIE,
CNDB.

INCLUDE MZNW2D01.

INITIALIZATION.
FREE MEMORY ID 'SAPDBPSJ999 AUFRUFE'.

GET RSTHIE.
CLEAR ITAB_HIERARCHY.
MOVE-CORRESPONDING RSTHIE TO ITAB_HIERARCHY.

GET PROJ FIELDS OBJNR PSPID POST1.

GET PRPS_R FIELDS OBJNR POSID POST1.

GET AUFK FIELDS OBJNR KTEXT.

GET ACT01 FIELDS OBJNR AUFPL APLZL VORNR UVORN LTXA1.

GET DRAD.
MOVE-CORRESPONDING DRAD TO ITAB_DOCUMENTS.
APPEND ITAB_DOCUMENTS.

GET ELM_PS.
ITAB_HIERARCHY-OBJNR = ELM_PS-OBJNR.
CASE ELM_PS-OBTYP.
WHEN 'PD'.
ITAB_HIERARCHY-PSPNR = ELM_PS-PROJ_INT.
WRITE ELM_PS-PROJ_EXT TO ITAB_HIERARCHY-NAME.
WHEN 'PR'.
ITAB_HIERARCHY-PSPNR = ELM_PS-PRPS_INT.
WRITE ELM_PS-PRPS_EXT TO ITAB_HIERARCHY-NAME.
WHEN 'NP'.
ITAB_HIERARCHY-AUFNR = ELM_PS-AUFNR.
WRITE ELM_PS-AUFNR TO ITAB_HIERARCHY-NAME.
WHEN 'NV'.
ITAB_HIERARCHY-VORNR = ELM_PS-VORNR.
WRITE ELM_PS-AUFNR TO ITAB_HIERARCHY-NAME.
IF ACT01-UVORN IS INITIAL.
CONCATENATE ITAB_HIERARCHY-NAME ACT01-VORNR
INTO ITAB_HIERARCHY-NAME SEPARATED BY ' / '.
ELSE.
CONCATENATE ITAB_HIERARCHY-NAME ACT01-VORNR ACT01-UVORN
INTO ITAB_HIERARCHY-NAME SEPARATED BY ' / '.
ENDIF.
ENDCASE.
IF ELM_PS-KTEXT IS INITIAL.
ITAB_HIERARCHY-DESC = ITAB_HIERARCHY-NAME.
ELSE.
ITAB_HIERARCHY-DESC = ELM_PS-KTEXT.
ENDIF.
ITAB_HIERARCHY-OBTYP = ELM_PS-OBTYP.
APPEND ITAB_HIERARCHY.
CLEAR ITAB_HIERARCHY.

END-OF-SELECTION.
PERFORM READ_DRAT.
PERFORM SAVE_PROJECT_HIERARCHY.


--------------------------------------------------------------------------------

FORM READ_DRAT *
--------------------------------------------------------------------------------
 
........ *
--------------------------------------------------------------------------------
 FORM READ_DRAT.
DATA: C TYPE CURSOR.
DATA: ITAB_DRAT LIKE DRAT.

CHECK NOT ITAB_DOCUMENTS[] IS INITIAL.
SORT ITAB_DOCUMENTS BY DOKAR DOKNR DOKVR DOKTL.
OPEN CURSOR C FOR
SELECT * FROM DRAT
FOR ALL ENTRIES IN ITAB_DOCUMENTS
WHERE DOKAR = ITAB_DOCUMENTS-DOKAR
AND DOKNR = ITAB_DOCUMENTS-DOKNR
AND DOKVR = ITAB_DOCUMENTS-DOKVR
AND DOKTL = ITAB_DOCUMENTS-DOKTL
ORDER BY PRIMARY KEY.

DO.
FETCH NEXT CURSOR C INTO CORRESPONDING FIELDS OF ITAB_DRAT.
IF NOT SY-SUBRC IS INITIAL.
CLOSE CURSOR C.
EXIT.
ENDIF.
READ TABLE ITAB_DOCUMENTS WITH KEY DOKAR = ITAB_DRAT-DOKAR
DOKNR = ITAB_DRAT-DOKNR
DOKVR = ITAB_DRAT-DOKVR
DOKTL = ITAB_DRAT-DOKTL
BINARY SEARCH.
LOOP AT ITAB_DOCUMENTS FROM SY-TABIX.
IF ITAB_DOCUMENTS-DOKAR ITAB_DRAT-DOKAR OR
ITAB_DOCUMENTS-DOKNR ITAB_DRAT-DOKNR OR
ITAB_DOCUMENTS-DOKVR ITAB_DRAT-DOKVR OR
ITAB_DOCUMENTS-DOKTL ITAB_DRAT-DOKTL.
EXIT.
ENDIF.
IF ITAB_DOCUMENTS-DKTXT IS INITIAL OR
ITAB_DRAT-LANGU = SY-LANGU.
ITAB_DOCUMENTS-DKTXT = ITAB_DRAT-DKTXT.
ITAB_DOCUMENTS-LANGU = ITAB_DRAT-LANGU.
MODIFY ITAB_DOCUMENTS.
ENDIF.
ENDLOOP.
ENDDO.
SORT ITAB_DOCUMENTS BY OBJKY DOKAR DOKNR DOKVR DOKTL.
ENDFORM.


--------------------------------------------------------------------------------

FORM SAVE_PROJECT_HIERARCHY *


--------------------------------------------------------------------------------

........ *
--------------------------------------------------------------------------------
 FORM SAVE_PROJECT_HIERARCHY.
CALL FUNCTION 'ENQUEUE_EC_CNDB'
EXPORTING
RELID = '00'
SRTFD = 'SAP DIRECTORY'
_WAIT = 'X'
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2
OTHERS = 3.
IF NOT SY-SUBRC IS INITIAL.
IF SY-SUBRC = 1.
MESSAGE I501 WITH SY-MSGV1 RAISING DIR_ENTRY_NOT_SAVED.
ENDIF.
EXIT.
ENDIF.
IMPORT CNDBDIR TO ITAB_CNDBDIR
FROM DATABASE CNDB(00) ID 'SAP DIRECTORY'.
READ TABLE ITAB_HIERARCHY INDEX 1.
CLEAR CNDBDIR_TMP.
CNDBDIR_TMP-RELID = 'W2'.
CNDBDIR_TMP-SRTFD = ITAB_HIERARCHY-OBJNR.
CNDBDIR_TMP-DBPROG = 'SAPDBPSJ'.
CNDBDIR_TMP-REPORT = SY-CPROG.
CNDBDIR_TMP-DATUM = SY-DATUM.
CNDBDIR_TMP-DATLO = SY-DATLO.
CNDBDIR_TMP-TIMLO = SY-TIMLO.
SORT ITAB_CNDBDIR BY RELID SRTFD.
READ TABLE ITAB_CNDBDIR WITH KEY RELID = 'W2'
SRTFD = ITAB_HIERARCHY-OBJNR
BINARY SEARCH.
IF SY-SUBRC IS INITIAL.
DELETE ITAB_CNDBDIR INDEX SY-TABIX.
ENDIF.
ITAB_CNDBDIR = CNDBDIR_TMP.
INSERT ITAB_CNDBDIR INDEX SY-TABIX.
EXPORT CNDBDIR FROM ITAB_CNDBDIR
TO DATABASE CNDB(00) ID 'SAP DIRECTORY'.

CALL FUNCTION 'DEQUEUE_EC_CNDB'
EXPORTING
RELID = '00'
SRTFD = 'SAP DIRECTORY'.

EXPORT ITAB_HIERARCHY TO DATABASE CNDB(W2) ID ITAB_CNDBDIR-SRTFD.
EXPORT ITAB_DOCUMENTS TO DATABASE CNDB(W3) ID ITAB_CNDBDIR-SRTFD.
ENDFORM.[/code]

*********************************************************

*--LDB PNP -- give it in attributes

tables pernr.
infotypes 0002.
data: begin of itab occurs 0,
vorna like pa0002-vorna,
end of itab.
data wa like line of itab.
*write 'abc'.

get pernr.

provide * from p0002
BETWEEN PNPbegda AND PNPENDDA.
move p0002-vorna to itab-vorna.
append itab.
clear itab.
endprovide.

end-of-selection.

loop at itab.

write:/ itab-vorna.
endloop.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 08:11:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405659#M817867</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T08:11:34Z</dc:date>
    </item>
    <item>
      <title>Re: ldb</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405660#M817868</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Logical database&lt;/P&gt;&lt;P&gt;A logical database is a special ABAP/4 program which combines the contents of certain database tables. Using logical databases facilitates the process of reading database tables. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HR Logical Database is PNP &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Main Functions of the logical database PNP:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Standard Selection screen &lt;/P&gt;&lt;P&gt;Data Retrieval &lt;/P&gt;&lt;P&gt;Authorization check &lt;/P&gt;&lt;P&gt;To use logical database PNP in your program, specify in your program attributes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Standard Selection Screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Date selection&lt;/P&gt;&lt;P&gt;Date selection delimits the time period for which data is evaluated. GET PERNR retrieves all records of the relevant infotypes from the database. When you enter a date selection period, the PROVIDE loop retrieves the infotype records whose validity period overlaps with at least one day of this period. &lt;/P&gt;&lt;P&gt;Person selection&lt;/P&gt;&lt;P&gt;Person selection is the 'true' selection of choosing a group of employees for whom the report is to run. &lt;/P&gt;&lt;P&gt;Sorting Data&lt;/P&gt;&lt;P&gt;· The standard sort sequence lists personnel numbers in ascending order.&lt;/P&gt;&lt;P&gt;· SORT function allows you to sort the report data otherwise. All the sorting fields are from infotype 0001. &lt;/P&gt;&lt;P&gt;Report Class &lt;/P&gt;&lt;P&gt;· You can suppress input fields which are not used on the selection screen by assigning a report class to your program.&lt;/P&gt;&lt;P&gt;· If SAP standard delivered report classes do not satisfy your requirements, you can create your own report class through the IMG. &lt;/P&gt;&lt;P&gt;Data Retrieval from LDB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Create data structures for infotypes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0001, "ORG ASSIGNMENT&lt;/P&gt;&lt;P&gt;0002, "PERSONAL DATA&lt;/P&gt;&lt;P&gt;0008. "BASIC PAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Fill data structures with the infotype records. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start-of-selection. &lt;/P&gt;&lt;P&gt;GET PERNR. &lt;/P&gt;&lt;P&gt;End-0f-selection. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Read Master Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Infotype structures (after GET PERNR) are internal tables loaded with data. &lt;/P&gt;&lt;P&gt;The infotype records (selected within the period) are processed sequentially by the PROVIDE - ENDPROVIDE loop. &lt;/P&gt;&lt;P&gt;GET PERNR.&lt;/P&gt;&lt;P&gt;PROVIDE * FROM Pnnnn BETWEEN PN/BEGDA AND PN/ENDDA&lt;/P&gt;&lt;P&gt;If Pnnnn-XXXX = ' '. write:/ Pnnnn-XXXX. endif. &lt;/P&gt;&lt;P&gt;ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Period-Related Data&lt;/P&gt;&lt;P&gt;All infotype records are time stamped. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT0006 (Address infotype)&lt;/P&gt;&lt;P&gt;01/01/1990 12/31/9999 present &lt;/P&gt;&lt;P&gt;Which record to be read depends on the date selection period specified on the&lt;/P&gt;&lt;P&gt;selection screen. PN/BEGDA PN/ENDDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Current Data &lt;/P&gt;&lt;P&gt;IT0006 Address - 01/01/1990 12/31/9999 present &lt;/P&gt;&lt;P&gt;RP-PROVIDE-FROM-LAST retrieves the record which is valid in the data selection period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, pn/begda = '19990931' pn/endda = '99991231'&lt;/P&gt;&lt;P&gt;IT0006 subtype 1 is resident address&lt;/P&gt;&lt;P&gt;RP-PROVIDE-FROM-LAST P0006 1 PN/BEGDA PN/ENDDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tables used LDB are in hierarchial structure.&lt;/P&gt;&lt;P&gt;Mainly we used LDBs in HR Abap Programming.&lt;/P&gt;&lt;P&gt;Where all tables are highly inter related so LDBs can optimize the performance there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this Document. All abt LDB's&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.highlightedcontent?documenturi=%2flibrary%2fabap%2fabap-code-samples%2fldb+browser.doc" target="test_blank"&gt;https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.highlightedcontent?documenturi=%2flibrary%2fabap%2fabap-code-samples%2fldb+browser.doc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GO THROUGH LINKS - &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-basis-abap.com/saptab.htm" target="test_blank"&gt;http://www.sap-basis-abap.com/saptab.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bfa35c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bfa35c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/c6/8a15381b80436ce10000009b38f8cf/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/c6/8a15381b80436ce10000009b38f8cf/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;/people/srivijaya.gutala/blog/2007/03/05/why-not-logical-databases&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_Logical_Database_FAQ.html" target="test_blank"&gt;www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_Logical_Database_FAQ.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.sap-img.com/abap/abap-interview-question.htm" target="test_blank"&gt;www.sap-img.com/abap/abap-interview-question.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.sap-img.com/abap/quick-note-on-design-of-secondary-database-indexes-and-logical-databases.htm" target="test_blank"&gt;www.sap-img.com/abap/quick-note-on-design-of-secondary-database-indexes-and-logical-databases.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/db9bb935c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/db9bb935c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Gothru the blog which provides info on LDB's:&lt;/P&gt;&lt;P&gt;/people/srivijaya.gutala/blog/2007/03/05/why-not-logical-databases &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample code&lt;/P&gt;&lt;P&gt;TABLES: SPFLI, &lt;/P&gt;&lt;P&gt;SFLIGHT, &lt;/P&gt;&lt;P&gt;SBOOK, &lt;/P&gt;&lt;P&gt;SCARR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION. &lt;/P&gt;&lt;P&gt;GET SPFLI. &lt;/P&gt;&lt;P&gt;WRITE:/ &amp;#146;SPFLI: &amp;#146;, SPFLI-CARRID, SPFLI-CONNID, &lt;/P&gt;&lt;P&gt;SPFLI-AIRPFROM, SPFLI-AIRPTO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET SFLIGHT. &lt;/P&gt;&lt;P&gt;WRITE:/ &amp;#146; SFLIGHT: &amp;#146;, SFLIGHT-CARRID, SFLIGHT-CONNID, SFLIGHT-FLDATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET SBOOK. &lt;/P&gt;&lt;P&gt;WRITE:/ &amp;#146; SBOOK: &amp;#146;, SBOOK-CARRID, SBOOK-CONNID, &lt;/P&gt;&lt;P&gt;SBOOK-FLDATE, SBOOK-BOOKID. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET SFLIGHT LATE. &lt;/P&gt;&lt;P&gt;WRITE:/ &amp;#146; GET SFLIGHT LATE: &amp;#146;, SFLIGHT-FLDATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reward Points if found helpfull..&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Cheers,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Chandra Sekhar.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 08:12:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405660#M817868</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T08:12:21Z</dc:date>
    </item>
    <item>
      <title>Re: ldb</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405661#M817869</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Logical databases are special ABAP programs that retrieve data and make it available to application programs. Logical databases contain Open SQL statements that read data from the database. You do not therefore need to use SQL in your own programs. The logical database reads the program, stores them in the program if necessary, and then passes them line by line to the application program or the function module LDB_PROCESS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Better then suppressing the field provided by LDB.. go for another Report Category or create a new Report category by going to the Attributes of the Program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;About Logical Databases.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;help.sap.com/saphelp_46c/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/content.htm - 7k&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;help.sap.com/saphelp_46c/helpdata/en/9f/db9be035c111d1829f0000e829fbfe/content.htm - 9k &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jayant Sahu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 08:21:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405661#M817869</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T08:21:07Z</dc:date>
    </item>
    <item>
      <title>Re: ldb</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405662#M817870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;*A logical database* is a special ABAP/4 program which combines the contents of certain database tables. You can link a logical database to an ABAP/4 report program as an attribute. The logical database then supplies the report program with a set of hierarchically structured table lines which can be taken from different database tables. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LDB offers an easy-to-use selection screens. You can modify the pre-generated selection screen to your needs. It offers check functions to check whether user input is complete, correct, and plausible. It offers reasonable data selections. It contains central authorization checks for data base accesses. Enhancements such as improved performance immediately apply to all report programs that use the logical database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Less coding s required to retrieve data compared to normal internel tables. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tables used LDB are in hierarchial structure.&lt;/P&gt;&lt;P&gt;Mainly we used LDBs in HR Abap Programming.&lt;/P&gt;&lt;P&gt;Where all tables are highly inter related so LDBs can optimize the performance there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*events in LDB.*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get, -- starts executing from root node onwards.&lt;/P&gt;&lt;P&gt;get late -- starts executing subroot nodes first &amp;amp; later root node.&lt;/P&gt;&lt;P&gt;get late reject -- starts executing subroot nodes only.&lt;/P&gt;&lt;P&gt;get late reject table -- starts executing that particular Database tale only.&lt;/P&gt;&lt;P&gt;put --- it will write the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this link for Procedure for Creating a Logical Database&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bfa35c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bfa35c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 08:45:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405662#M817870</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T08:45:06Z</dc:date>
    </item>
    <item>
      <title>Re: ldb</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405663#M817871</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jan 2009 22:10:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ldb/m-p/3405663#M817871</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-14T22:10:01Z</dc:date>
    </item>
  </channel>
</rss>

