<?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 help with report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758602#M642090</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello guru's&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pls help this querry..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;am giving prgm code pls explained th logic and from where the data is fetching and how its working. i want all the details of program. pls help. &amp;lt;b&amp;gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;arjun&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report zrvp2222 message-id zz line-size 132 line-count 36&lt;/P&gt;&lt;P&gt;no standard page heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;zrvp2222 - OTDB Report, WeekToDate [Z_ONTIME_WK]&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;co.qt 1595(0982).794 devk925285/318/391 11oct04 jcr initial install&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;cp.qt 0217.0887 devk926914 04may05 - simplify operations; fy06&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include zrvp2222_00. " top&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;perform init_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;if sscrfields-ucomm = 'FC01'.&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_POPUP_LOAD_DATES'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen output.&lt;/P&gt;&lt;P&gt;perform set_screen_fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;perform hof.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection. " MAIN&lt;/P&gt;&lt;P&gt;perform hskp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get and total data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform bld_dy_tables.&lt;/P&gt;&lt;P&gt;perform bld_fp_tables.&lt;/P&gt;&lt;P&gt;perform bld_qt_tables. commit work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform output_summary.&lt;/P&gt;&lt;P&gt;perform output_bu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form init_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;load: button description, standard business units;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;setup screen depending on user: Operator|R3admin or not&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 init_screen.&lt;/P&gt;&lt;P&gt;move 'OTDB Date Info' to sscrfields-functxt_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;s_bu-sign = 'I'.&lt;/P&gt;&lt;P&gt;s_bu-option = 'EQ'.&lt;/P&gt;&lt;P&gt;select bunit&lt;/P&gt;&lt;P&gt;from z145&lt;/P&gt;&lt;P&gt;into (s_bu-low)&lt;/P&gt;&lt;P&gt;where bunit between '01' and '05'&lt;/P&gt;&lt;P&gt;order by bunit.&lt;/P&gt;&lt;P&gt;append s_bu.&lt;/P&gt;&lt;P&gt;endselect."z145&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message x022 with 'z145 load fail:' sy-subrc.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform set_screen_fields.&lt;/P&gt;&lt;P&gt;endform. " init_screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form hof&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;head of form.&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 hof.&lt;/P&gt;&lt;P&gt;write: 001 text-h10.&lt;/P&gt;&lt;P&gt;write: 009 sy-datum,&lt;/P&gt;&lt;P&gt;094 sy-uzeit.&lt;/P&gt;&lt;P&gt;write:/001 text-h20.&lt;/P&gt;&lt;P&gt;write:/001 text-h30,&lt;/P&gt;&lt;P&gt;046 'Fiscal Week',&lt;/P&gt;&lt;P&gt;g_wknbr.&lt;/P&gt;&lt;P&gt;write:/001 text-h40.&lt;/P&gt;&lt;P&gt;skip 1.&lt;/P&gt;&lt;P&gt;endform. " hof&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form hskp&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;lock otdb (shared); get z135 and edit screen date; load date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ranges for week, fiscal period, fiscal quarter&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 hskp.&lt;/P&gt;&lt;P&gt;data: ls_chrdate type z170. " date in character format&lt;/P&gt;&lt;P&gt;data: l_tgtdate type sy-datum. " target date for report&lt;/P&gt;&lt;P&gt;data: l_date type sy-datum. " initially, sy-datum; allow for&lt;/P&gt;&lt;P&gt;"testing&lt;/P&gt;&lt;P&gt;data: l_dow type langt. " weekday name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_LOCK_DB'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_mode = 'S'&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;lock_fail = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message e001 with sy-msgv1 'has OTDB locked!'.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single *&lt;/P&gt;&lt;P&gt;from z135&lt;/P&gt;&lt;P&gt;into gs_dcon&lt;/P&gt;&lt;P&gt;where funcid = 'LOAD'.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message x002 with 'z135 not found'.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;if pa_std = 'X'.&lt;/P&gt;&lt;P&gt;l_date = sy-datum.&lt;/P&gt;&lt;P&gt;write l_date to ls_chrdate. " use for testing special dates&lt;/P&gt;&lt;P&gt;perform get_dow using l_date changing l_dow.&lt;/P&gt;&lt;P&gt;case l_dow.&lt;/P&gt;&lt;P&gt;when 'Monday'.&lt;/P&gt;&lt;P&gt;case ls_chrdate-dd.&lt;/P&gt;&lt;P&gt;when '01'. " yesterday (sunday) is monthend&lt;/P&gt;&lt;P&gt;l_tgtdate = l_date - 2.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;perform inc_wkend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when '03'. " previous friday is monthend&lt;/P&gt;&lt;P&gt;l_tgtdate = l_date - 3.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when others. " no monthend; normal saturday week end&lt;/P&gt;&lt;P&gt;l_tgtdate = l_date - 2.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;endcase."chrdate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when others. " use yesterday; adjust week begin for&lt;/P&gt;&lt;P&gt;" sunday = 02&lt;/P&gt;&lt;P&gt;l_tgtdate = l_date - 1.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;write l_tgtdate to ls_chrdate.&lt;/P&gt;&lt;P&gt;if ls_chrdate-dd = '02'&lt;/P&gt;&lt;P&gt;and l_dow = 'Sunday'.&lt;/P&gt;&lt;P&gt;perform dec_wkbeg.&lt;/P&gt;&lt;P&gt;endif."day, date&lt;/P&gt;&lt;P&gt;endcase."dow&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else. " use whatever date user entered&lt;/P&gt;&lt;P&gt;l_tgtdate = m_vdatu.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;endif."std&lt;/P&gt;&lt;P&gt;endform. " hskp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form do_over&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;date from screen not found; if online, leave (does not return!)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;program and re-execute; if batch, abort.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user entered a bad date or there's a system problem&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 do_over.&lt;/P&gt;&lt;P&gt;if sy-batch is initial.&lt;/P&gt;&lt;P&gt;message i003 with 'Date not found on OTDB; &amp;lt;cr&amp;gt; then'&lt;/P&gt;&lt;P&gt;'click OTDB DATE INFO button'.&lt;/P&gt;&lt;P&gt;leave to transaction 'Z_ONTIME_WK'.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message x004 with 'Date not found on OTDB' m_vdatu.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. " do_over&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form bld_dy_tables&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;build day tables for week: week summed on date, summed on bu,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;grand total; calc percents for each.&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 bld_dy_tables.&lt;/P&gt;&lt;P&gt;data: lt_sum type z140 occurs 0. " summarized on date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get data summarized on date for the week&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_SUMMARIZE_HEADER'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_get_header = 'X'&lt;/P&gt;&lt;P&gt;i_summarize_date = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_bu = s_bu&lt;/P&gt;&lt;P&gt;it_vdatu = gr_dy&lt;/P&gt;&lt;P&gt;et_op = lt_sum&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;syserr_level = 1&lt;/P&gt;&lt;P&gt;nothing_found = 2&lt;/P&gt;&lt;P&gt;no_date_range = 3&lt;/P&gt;&lt;P&gt;fisc_cal_fail = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;if sy-subrc = 2.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message x005 with 'syserr' sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize data on bu, all bu's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_bu = 'X'&lt;/P&gt;&lt;P&gt;i_grand = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_dybu&lt;/P&gt;&lt;P&gt;et_grand = gt_dygr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize bu and date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_date = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_budy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize all bu's on date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_budate = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_bugr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calc percents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = lt_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_dybu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_dygr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_budy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_bugr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the day detail; sort tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gt_dy = lt_sum.&lt;/P&gt;&lt;P&gt;sort gt_dy by bunit vdatu.&lt;/P&gt;&lt;P&gt;sort gt_dybu by bunit.&lt;/P&gt;&lt;P&gt;sort gt_budy by bunit vdatu.&lt;/P&gt;&lt;P&gt;sort gt_bugr by vdatu.&lt;/P&gt;&lt;P&gt;endform. " bld_dy_tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form bld_fp_tables&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;build fiscal period tables: summed on bu, grand total;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calc percents for each.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;note date detail not needed: date info in day tables is used&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 bld_fp_tables.&lt;/P&gt;&lt;P&gt;data: lt_sum type z140 occurs 0. " summarized on fiscal period&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get data summarized on date for the week&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_SUMMARIZE_HEADER'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_get_header = 'X'&lt;/P&gt;&lt;P&gt;i_summarize_fp = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_bu = s_bu&lt;/P&gt;&lt;P&gt;it_vdatu = gr_fp&lt;/P&gt;&lt;P&gt;et_op = lt_sum&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;syserr_level = 1&lt;/P&gt;&lt;P&gt;nothing_found = 2&lt;/P&gt;&lt;P&gt;no_date_range = 3&lt;/P&gt;&lt;P&gt;fisc_cal_fail = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;if sy-subrc = 2.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message x014 with 'syserr' sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize data on bu, all bu's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_bu = 'X'&lt;/P&gt;&lt;P&gt;i_grand = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_fpbu&lt;/P&gt;&lt;P&gt;et_grand = gt_fpgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_fpbu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_fpgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the fp detail; sort tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;sort gt_fpbu by bunit.&lt;/P&gt;&lt;P&gt;endform. " bld_fp_tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form bld_qt_tables&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;build fiscal quarter tables: summed on bu, grand total;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calc percents for each.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;note date detail not needed: date info in day tables is used&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 bld_qt_tables.&lt;/P&gt;&lt;P&gt;data: lt_sum type z140 occurs 0. " summarized on fiscal quarter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get data summarized on date for the week&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_SUMMARIZE_HEADER'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_get_header = 'X'&lt;/P&gt;&lt;P&gt;i_summarize_quarter = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_bu = s_bu&lt;/P&gt;&lt;P&gt;it_vdatu = gr_qt&lt;/P&gt;&lt;P&gt;et_op = lt_sum&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;syserr_level = 1&lt;/P&gt;&lt;P&gt;nothing_found = 2&lt;/P&gt;&lt;P&gt;no_date_range = 3&lt;/P&gt;&lt;P&gt;fisc_cal_fail = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;if sy-subrc = 2.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message x018 with 'syserr' sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize data on bu, all bu's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_bu = 'X'&lt;/P&gt;&lt;P&gt;i_grand = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_qtbu&lt;/P&gt;&lt;P&gt;et_grand = gt_qtgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_qtbu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_qtgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the quarter detail; sort tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;sort gt_qtbu by bunit.&lt;/P&gt;&lt;P&gt;endform. " bld_qt_tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form output_summary&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;otifne section: wtd, mtd, qtd on page 1&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 output_summary.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WTD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/023 'Fiscal Week',&lt;/P&gt;&lt;P&gt;g_wknbr,&lt;/P&gt;&lt;P&gt;'(' no-gap,&lt;/P&gt;&lt;P&gt;gr_dy-low mm/dd/yy no-gap, '-' no-gap,&lt;/P&gt;&lt;P&gt;gr_dy-high mm/dd/yy no-gap,&lt;/P&gt;&lt;P&gt;')'.&lt;/P&gt;&lt;P&gt;if gr_dy-high &amp;gt; gs_dcon-erdat.&lt;/P&gt;&lt;P&gt;write: 'thru', gs_dcon-erdat mm/dd/yy.&lt;/P&gt;&lt;P&gt;endif."dy-high&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;write:/023 text-i10.&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform print_summary tables s_bu gt_dygr gt_dybu.&lt;/P&gt;&lt;P&gt;skip 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/023 'Fiscal Period',&lt;/P&gt;&lt;P&gt;g_fpnbr,&lt;/P&gt;&lt;P&gt;'(' no-gap,&lt;/P&gt;&lt;P&gt;gr_fp-low mm/dd/yy no-gap, '-' no-gap,&lt;/P&gt;&lt;P&gt;gr_fp-high mm/dd/yy no-gap,&lt;/P&gt;&lt;P&gt;')'.&lt;/P&gt;&lt;P&gt;if gr_fp-high &amp;gt; gs_dcon-erdat.&lt;/P&gt;&lt;P&gt;write: 'thru', gs_dcon-erdat mm/dd/yy.&lt;/P&gt;&lt;P&gt;endif."dy-high&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;write:/023 text-i10.&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform print_summary tables s_bu gt_fpgr gt_fpbu.&lt;/P&gt;&lt;P&gt;skip 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;QTR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/023 'Fiscal Qtr.',&lt;/P&gt;&lt;P&gt;g_qtnbr,&lt;/P&gt;&lt;P&gt;'(' no-gap,&lt;/P&gt;&lt;P&gt;gr_qt-low mm/dd/yy no-gap, '-' no-gap,&lt;/P&gt;&lt;P&gt;gr_qt-high mm/dd/yy no-gap,&lt;/P&gt;&lt;P&gt;')'.&lt;/P&gt;&lt;P&gt;if gr_qt-high &amp;gt; gs_dcon-erdat.&lt;/P&gt;&lt;P&gt;write: 'thru', gs_dcon-erdat mm/dd/yy.&lt;/P&gt;&lt;P&gt;endif."dy-high&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;write:/023 text-i10.&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform print_summary tables s_bu gt_qtgr gt_qtbu.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;endform. " output_summary&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form output_bu&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;detail section: wtd for all bu's then each in turn&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 output_bu.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all bu's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 'All Business Units'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_bugr gt_dygr using space.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;01: USA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '01: USA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '01'.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;02: Asia&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '02: Asia'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '02'.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;03: PA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '03: PA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '03'.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;04: EMEA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '04: EMEA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '04'.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;05: IA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '05: IA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '05'.&lt;/P&gt;&lt;P&gt;endform. " output_bu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form print_summary&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;first page of report is the summary (ontime and infull lines)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;aka otifne&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PR_BU range of bu's from selection screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PT_XXGR detail, grand totals&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PT_XXBU detail, bu by date&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 print_summary tables pr_bu structure s_bu&lt;/P&gt;&lt;P&gt;pt_xxgr structure z140&lt;/P&gt;&lt;P&gt;pt_xxbu structure z140.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OnTime and InFull field tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: lt_otd type z140-pc_ot occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: lt_if type z140-pc_ot occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: ls_ip type z140. " work area for grand/bu detail&lt;/P&gt;&lt;P&gt;data: l_pp type p. " print position&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at pt_xxgr into ls_ip.&lt;/P&gt;&lt;P&gt;lt_otd = ls_ip-pc_ot. append lt_otd.&lt;/P&gt;&lt;P&gt;lt_if = ls_ip-pc_if. append lt_if.&lt;/P&gt;&lt;P&gt;endloop."xxgr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at pr_bu.&lt;/P&gt;&lt;P&gt;clear: lt_otd, lt_if, ls_ip.&lt;/P&gt;&lt;P&gt;loop at pt_xxbu into ls_ip where bunit = pr_bu-low.&lt;/P&gt;&lt;P&gt;lt_otd = ls_ip-pc_ot.&lt;/P&gt;&lt;P&gt;lt_if = ls_ip-pc_if.&lt;/P&gt;&lt;P&gt;endloop."xxgr&lt;/P&gt;&lt;P&gt;append: lt_otd, lt_if.&lt;/P&gt;&lt;P&gt;endloop."bu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/011 '% On Time'.&lt;/P&gt;&lt;P&gt;l_pp = 21.&lt;/P&gt;&lt;P&gt;loop at lt_otd.&lt;/P&gt;&lt;P&gt;write: at l_pp lt_otd no-gap no-sign no-zero.&lt;/P&gt;&lt;P&gt;l_pp = l_pp + 10.&lt;/P&gt;&lt;P&gt;endloop."otd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/011 '% In Full'.&lt;/P&gt;&lt;P&gt;l_pp = 21.&lt;/P&gt;&lt;P&gt;loop at lt_if.&lt;/P&gt;&lt;P&gt;write: at l_pp lt_if no-gap no-sign no-zero.&lt;/P&gt;&lt;P&gt;l_pp = l_pp + 10.&lt;/P&gt;&lt;P&gt;endloop."if.&lt;/P&gt;&lt;P&gt;endform. " print_summary&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form print_bu&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 wtd bu detail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PT_DTL bu detail&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PT_GR grand total for detail&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_BU bu number or blank&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 print_bu tables pt_dtl structure z140&lt;/P&gt;&lt;P&gt;pt_gr structure z140&lt;/P&gt;&lt;P&gt;using p_bu type z140-bunit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: ls_dtl type z140. " work area&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: lr_bu type zbunit_range_tab " bu range of&lt;/P&gt;&lt;P&gt;with header line. " one value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_dyname type hrvsched-daytxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lr_bu-sign = 'I'.&lt;/P&gt;&lt;P&gt;if p_bu is initial.&lt;/P&gt;&lt;P&gt;lr_bu-low = '*'.&lt;/P&gt;&lt;P&gt;lr_bu-option = 'CP'.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;lr_bu-low = p_bu.&lt;/P&gt;&lt;P&gt;lr_bu-option = 'EQ'.&lt;/P&gt;&lt;P&gt;endif."p_bu&lt;/P&gt;&lt;P&gt;append lr_bu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at pt_dtl into ls_dtl where bunit = p_bu.&lt;/P&gt;&lt;P&gt;call function 'RH_GET_DATE_DAYNAME'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;langu = sy-langu&lt;/P&gt;&lt;P&gt;date = ls_dtl-vdatu&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;daytxt = l_dyname&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;no_langu = 1&lt;/P&gt;&lt;P&gt;no_date = 2&lt;/P&gt;&lt;P&gt;no_daytxt_for_langu = 3&lt;/P&gt;&lt;P&gt;invalid_date = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message x006 with 'rhgetdayname fail:'&lt;/P&gt;&lt;P&gt;sy-subrc ls_dtl-vdatu.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/ l_dyname+0(3),&lt;/P&gt;&lt;P&gt;ls_dtl-vdatu mm/dd/yy,&lt;/P&gt;&lt;P&gt;016 ls_dtl-pc_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;025(007) ls_dtl-cnt_tl no-sign no-zero,&lt;/P&gt;&lt;P&gt;036(007) ls_dtl-cnt_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;049 ls_dtl-pv_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;059(012) ls_dtl-val_tl no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;072(012) ls_dtl-val_ot no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;086(007) ls_dtl-cnt_cr no-sign no-zero,&lt;/P&gt;&lt;P&gt;096(012) ls_dtl-val_cr no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;114 ls_dtl-pc_cr no-sign no-zero,&lt;/P&gt;&lt;P&gt;124 ls_dtl-pv_cr no-sign no-zero.&lt;/P&gt;&lt;P&gt;endloop."ls_dtl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at pt_gr into ls_dtl where bunit = p_bu.&lt;/P&gt;&lt;P&gt;write:/001 'WTD',&lt;/P&gt;&lt;P&gt;013 '=&amp;gt;',&lt;/P&gt;&lt;P&gt;016 ls_dtl-pc_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;025(007) ls_dtl-cnt_tl no-sign no-zero,&lt;/P&gt;&lt;P&gt;036(007) ls_dtl-cnt_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;049 ls_dtl-pv_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;059(012) ls_dtl-val_tl no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;072(012) ls_dtl-val_ot no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;086(007) ls_dtl-cnt_cr no-sign no-zero,&lt;/P&gt;&lt;P&gt;096(012) ls_dtl-val_cr no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;114 ls_dtl-pc_cr no-sign no-zero,&lt;/P&gt;&lt;P&gt;124 ls_dtl-pv_cr no-sign no-zero.&lt;/P&gt;&lt;P&gt;endloop."lt_gr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;write:/001 'WTD',&lt;/P&gt;&lt;P&gt;013 '=&amp;gt; No Sales'.&lt;/P&gt;&lt;P&gt;endform. " print_bu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form get_dow&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 day of week for input date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;U_DATE input date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;--C_DOW returned day of week&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_dow using u_date type sy-datum&lt;/P&gt;&lt;P&gt;changing c_dow type langt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: lta_casdayattr type table of casdayattr.&lt;/P&gt;&lt;P&gt;data: ls_casdayattr type casdayattr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_returncode type sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'DAY_ATTRIBUTES_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;date_from = u_date&lt;/P&gt;&lt;P&gt;date_to = u_date&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;returncode = l_returncode&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;day_attributes = lta_casdayattr&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;factory_calendar_not_found = 1&lt;/P&gt;&lt;P&gt;holiday_calendar_not_found = 2&lt;/P&gt;&lt;P&gt;date_has_invalid_format = 3&lt;/P&gt;&lt;P&gt;date_inconsistency = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0 or l_returncode &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message x007 with 'dayattributesget fail:'&lt;/P&gt;&lt;P&gt;u_date l_returncode sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at lta_casdayattr into ls_casdayattr.&lt;/P&gt;&lt;P&gt;c_dow = ls_casdayattr-weekday_l.&lt;/P&gt;&lt;P&gt;exit.&lt;/P&gt;&lt;P&gt;endloop."casdayattr&lt;/P&gt;&lt;P&gt;endform. " get_dow&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form load_ra&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;edit target date; load fiscal week/period/quarter ranges&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;U_TGTDATE date used to identify fiscal info&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 load_ra using u_tgtdate type sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not u_tgtdate between gs_dcon-begda and gs_dcon-erdat.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;endif."tgtdaye&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_BLD_RANGES_FOR_DATE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_date = u_tgtdate&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;e_week = g_wknbr&lt;/P&gt;&lt;P&gt;e_period = g_fpnbr&lt;/P&gt;&lt;P&gt;e_quarter = g_qtnbr&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;et_week = gr_dy&lt;/P&gt;&lt;P&gt;et_period = gr_fp&lt;/P&gt;&lt;P&gt;et_quarter = gr_qt&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;syserr = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;endform. " load_ra&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form inc_wkend&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;increment the end of the week one day&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 inc_wkend.&lt;/P&gt;&lt;P&gt;loop at gr_dy.&lt;/P&gt;&lt;P&gt;gr_dy-high = gr_dy-high + 1.&lt;/P&gt;&lt;P&gt;modify gr_dy.&lt;/P&gt;&lt;P&gt;endloop."week&lt;/P&gt;&lt;P&gt;endform. " inc_wkend&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 dec_wkbeg&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;decrement the beginning of week one day&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 dec_wkbeg.&lt;/P&gt;&lt;P&gt;loop at gr_dy.&lt;/P&gt;&lt;P&gt;gr_dy-low = gr_dy-low - 1.&lt;/P&gt;&lt;P&gt;modify gr_dy.&lt;/P&gt;&lt;P&gt;endloop."week&lt;/P&gt;&lt;P&gt;endform. " dec_wkbeg&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form set_screen_fields&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;set visible fields on sel scrn depending on login name&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 set_screen_fields.&lt;/P&gt;&lt;P&gt;case sy-uname.&lt;/P&gt;&lt;P&gt;when 'OPERATOR' or 'R3ADMIN'.&lt;/P&gt;&lt;P&gt;loop at screen.&lt;/P&gt;&lt;P&gt;if screen-name = 'PA_STD'. " show field&lt;/P&gt;&lt;P&gt;screen-active = 1.&lt;/P&gt;&lt;P&gt;screen-input = 1.&lt;/P&gt;&lt;P&gt;screen-output = 1.&lt;/P&gt;&lt;P&gt;screen-invisible = 0.&lt;/P&gt;&lt;P&gt;modify screen.&lt;/P&gt;&lt;P&gt;elseif&lt;/P&gt;&lt;P&gt;screen-name = 'M_VDATU'. " not obligatory&lt;/P&gt;&lt;P&gt;screen-required = 0.&lt;/P&gt;&lt;P&gt;modify screen.&lt;/P&gt;&lt;P&gt;endif."screen&lt;/P&gt;&lt;P&gt;endloop."screen&lt;/P&gt;&lt;P&gt;if m_vdatu is initial.&lt;/P&gt;&lt;P&gt;pa_std = 'X'. " operator default&lt;/P&gt;&lt;P&gt;endif."vdatu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when others.&lt;/P&gt;&lt;P&gt;loop at screen.&lt;/P&gt;&lt;P&gt;if screen-name = 'PA_STD' " hide field&lt;/P&gt;&lt;P&gt;or screen-name = '%C311010_1000'. " hide comments&lt;/P&gt;&lt;P&gt;screen-active = 0.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;screen-output = 0.&lt;/P&gt;&lt;P&gt;screen-invisible = 1.&lt;/P&gt;&lt;P&gt;modify screen.&lt;/P&gt;&lt;P&gt;endif."screen&lt;/P&gt;&lt;P&gt;endloop."screen&lt;/P&gt;&lt;P&gt;if m_vdatu is initial.&lt;/P&gt;&lt;P&gt;m_vdatu = sy-datum - 1. " default yesterday&lt;/P&gt;&lt;P&gt;endif."vdatu&lt;/P&gt;&lt;P&gt;endcase."uname&lt;/P&gt;&lt;P&gt;endform. " set_screen_fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Title and Message were edited by: &lt;/P&gt;&lt;P&gt;        Alvaro Tejada Galindo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 14 Sep 2007 09:44:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-14T09:44:51Z</dc:date>
    <item>
      <title>help with report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758602#M642090</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello guru's&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pls help this querry..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;am giving prgm code pls explained th logic and from where the data is fetching and how its working. i want all the details of program. pls help. &amp;lt;b&amp;gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;arjun&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report zrvp2222 message-id zz line-size 132 line-count 36&lt;/P&gt;&lt;P&gt;no standard page heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;zrvp2222 - OTDB Report, WeekToDate [Z_ONTIME_WK]&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;co.qt 1595(0982).794 devk925285/318/391 11oct04 jcr initial install&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;cp.qt 0217.0887 devk926914 04may05 - simplify operations; fy06&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include zrvp2222_00. " top&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;perform init_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;if sscrfields-ucomm = 'FC01'.&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_POPUP_LOAD_DATES'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen output.&lt;/P&gt;&lt;P&gt;perform set_screen_fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;perform hof.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection. " MAIN&lt;/P&gt;&lt;P&gt;perform hskp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get and total data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform bld_dy_tables.&lt;/P&gt;&lt;P&gt;perform bld_fp_tables.&lt;/P&gt;&lt;P&gt;perform bld_qt_tables. commit work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform output_summary.&lt;/P&gt;&lt;P&gt;perform output_bu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form init_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;load: button description, standard business units;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;setup screen depending on user: Operator|R3admin or not&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 init_screen.&lt;/P&gt;&lt;P&gt;move 'OTDB Date Info' to sscrfields-functxt_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;s_bu-sign = 'I'.&lt;/P&gt;&lt;P&gt;s_bu-option = 'EQ'.&lt;/P&gt;&lt;P&gt;select bunit&lt;/P&gt;&lt;P&gt;from z145&lt;/P&gt;&lt;P&gt;into (s_bu-low)&lt;/P&gt;&lt;P&gt;where bunit between '01' and '05'&lt;/P&gt;&lt;P&gt;order by bunit.&lt;/P&gt;&lt;P&gt;append s_bu.&lt;/P&gt;&lt;P&gt;endselect."z145&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message x022 with 'z145 load fail:' sy-subrc.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform set_screen_fields.&lt;/P&gt;&lt;P&gt;endform. " init_screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form hof&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;head of form.&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 hof.&lt;/P&gt;&lt;P&gt;write: 001 text-h10.&lt;/P&gt;&lt;P&gt;write: 009 sy-datum,&lt;/P&gt;&lt;P&gt;094 sy-uzeit.&lt;/P&gt;&lt;P&gt;write:/001 text-h20.&lt;/P&gt;&lt;P&gt;write:/001 text-h30,&lt;/P&gt;&lt;P&gt;046 'Fiscal Week',&lt;/P&gt;&lt;P&gt;g_wknbr.&lt;/P&gt;&lt;P&gt;write:/001 text-h40.&lt;/P&gt;&lt;P&gt;skip 1.&lt;/P&gt;&lt;P&gt;endform. " hof&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form hskp&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;lock otdb (shared); get z135 and edit screen date; load date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ranges for week, fiscal period, fiscal quarter&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 hskp.&lt;/P&gt;&lt;P&gt;data: ls_chrdate type z170. " date in character format&lt;/P&gt;&lt;P&gt;data: l_tgtdate type sy-datum. " target date for report&lt;/P&gt;&lt;P&gt;data: l_date type sy-datum. " initially, sy-datum; allow for&lt;/P&gt;&lt;P&gt;"testing&lt;/P&gt;&lt;P&gt;data: l_dow type langt. " weekday name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_LOCK_DB'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_mode = 'S'&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;lock_fail = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message e001 with sy-msgv1 'has OTDB locked!'.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single *&lt;/P&gt;&lt;P&gt;from z135&lt;/P&gt;&lt;P&gt;into gs_dcon&lt;/P&gt;&lt;P&gt;where funcid = 'LOAD'.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message x002 with 'z135 not found'.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;if pa_std = 'X'.&lt;/P&gt;&lt;P&gt;l_date = sy-datum.&lt;/P&gt;&lt;P&gt;write l_date to ls_chrdate. " use for testing special dates&lt;/P&gt;&lt;P&gt;perform get_dow using l_date changing l_dow.&lt;/P&gt;&lt;P&gt;case l_dow.&lt;/P&gt;&lt;P&gt;when 'Monday'.&lt;/P&gt;&lt;P&gt;case ls_chrdate-dd.&lt;/P&gt;&lt;P&gt;when '01'. " yesterday (sunday) is monthend&lt;/P&gt;&lt;P&gt;l_tgtdate = l_date - 2.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;perform inc_wkend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when '03'. " previous friday is monthend&lt;/P&gt;&lt;P&gt;l_tgtdate = l_date - 3.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when others. " no monthend; normal saturday week end&lt;/P&gt;&lt;P&gt;l_tgtdate = l_date - 2.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;endcase."chrdate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when others. " use yesterday; adjust week begin for&lt;/P&gt;&lt;P&gt;" sunday = 02&lt;/P&gt;&lt;P&gt;l_tgtdate = l_date - 1.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;write l_tgtdate to ls_chrdate.&lt;/P&gt;&lt;P&gt;if ls_chrdate-dd = '02'&lt;/P&gt;&lt;P&gt;and l_dow = 'Sunday'.&lt;/P&gt;&lt;P&gt;perform dec_wkbeg.&lt;/P&gt;&lt;P&gt;endif."day, date&lt;/P&gt;&lt;P&gt;endcase."dow&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else. " use whatever date user entered&lt;/P&gt;&lt;P&gt;l_tgtdate = m_vdatu.&lt;/P&gt;&lt;P&gt;perform load_ra using l_tgtdate.&lt;/P&gt;&lt;P&gt;endif."std&lt;/P&gt;&lt;P&gt;endform. " hskp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form do_over&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;date from screen not found; if online, leave (does not return!)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;program and re-execute; if batch, abort.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user entered a bad date or there's a system problem&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 do_over.&lt;/P&gt;&lt;P&gt;if sy-batch is initial.&lt;/P&gt;&lt;P&gt;message i003 with 'Date not found on OTDB; &amp;lt;cr&amp;gt; then'&lt;/P&gt;&lt;P&gt;'click OTDB DATE INFO button'.&lt;/P&gt;&lt;P&gt;leave to transaction 'Z_ONTIME_WK'.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message x004 with 'Date not found on OTDB' m_vdatu.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. " do_over&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form bld_dy_tables&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;build day tables for week: week summed on date, summed on bu,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;grand total; calc percents for each.&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 bld_dy_tables.&lt;/P&gt;&lt;P&gt;data: lt_sum type z140 occurs 0. " summarized on date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get data summarized on date for the week&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_SUMMARIZE_HEADER'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_get_header = 'X'&lt;/P&gt;&lt;P&gt;i_summarize_date = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_bu = s_bu&lt;/P&gt;&lt;P&gt;it_vdatu = gr_dy&lt;/P&gt;&lt;P&gt;et_op = lt_sum&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;syserr_level = 1&lt;/P&gt;&lt;P&gt;nothing_found = 2&lt;/P&gt;&lt;P&gt;no_date_range = 3&lt;/P&gt;&lt;P&gt;fisc_cal_fail = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;if sy-subrc = 2.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message x005 with 'syserr' sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize data on bu, all bu's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_bu = 'X'&lt;/P&gt;&lt;P&gt;i_grand = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_dybu&lt;/P&gt;&lt;P&gt;et_grand = gt_dygr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize bu and date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_date = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_budy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize all bu's on date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_budate = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_bugr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calc percents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = lt_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_dybu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_dygr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_budy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_bugr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the day detail; sort tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gt_dy = lt_sum.&lt;/P&gt;&lt;P&gt;sort gt_dy by bunit vdatu.&lt;/P&gt;&lt;P&gt;sort gt_dybu by bunit.&lt;/P&gt;&lt;P&gt;sort gt_budy by bunit vdatu.&lt;/P&gt;&lt;P&gt;sort gt_bugr by vdatu.&lt;/P&gt;&lt;P&gt;endform. " bld_dy_tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form bld_fp_tables&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;build fiscal period tables: summed on bu, grand total;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calc percents for each.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;note date detail not needed: date info in day tables is used&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 bld_fp_tables.&lt;/P&gt;&lt;P&gt;data: lt_sum type z140 occurs 0. " summarized on fiscal period&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get data summarized on date for the week&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_SUMMARIZE_HEADER'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_get_header = 'X'&lt;/P&gt;&lt;P&gt;i_summarize_fp = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_bu = s_bu&lt;/P&gt;&lt;P&gt;it_vdatu = gr_fp&lt;/P&gt;&lt;P&gt;et_op = lt_sum&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;syserr_level = 1&lt;/P&gt;&lt;P&gt;nothing_found = 2&lt;/P&gt;&lt;P&gt;no_date_range = 3&lt;/P&gt;&lt;P&gt;fisc_cal_fail = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;if sy-subrc = 2.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message x014 with 'syserr' sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize data on bu, all bu's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_bu = 'X'&lt;/P&gt;&lt;P&gt;i_grand = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_fpbu&lt;/P&gt;&lt;P&gt;et_grand = gt_fpgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_fpbu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_fpgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the fp detail; sort tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;sort gt_fpbu by bunit.&lt;/P&gt;&lt;P&gt;endform. " bld_fp_tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form bld_qt_tables&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;build fiscal quarter tables: summed on bu, grand total;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calc percents for each.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;note date detail not needed: date info in day tables is used&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 bld_qt_tables.&lt;/P&gt;&lt;P&gt;data: lt_sum type z140 occurs 0. " summarized on fiscal quarter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get data summarized on date for the week&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_SUMMARIZE_HEADER'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_get_header = 'X'&lt;/P&gt;&lt;P&gt;i_summarize_quarter = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_bu = s_bu&lt;/P&gt;&lt;P&gt;it_vdatu = gr_qt&lt;/P&gt;&lt;P&gt;et_op = lt_sum&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;syserr_level = 1&lt;/P&gt;&lt;P&gt;nothing_found = 2&lt;/P&gt;&lt;P&gt;no_date_range = 3&lt;/P&gt;&lt;P&gt;fisc_cal_fail = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;if sy-subrc = 2.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message x018 with 'syserr' sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize data on bu, all bu's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'Z_OTDB_ROLLUP_BU_GRAND'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_bu = 'X'&lt;/P&gt;&lt;P&gt;i_grand = 'X'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;it_ip = lt_sum&lt;/P&gt;&lt;P&gt;et_bu = gt_qtbu&lt;/P&gt;&lt;P&gt;et_grand = gt_qtgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_qtbu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_CALC_PERCENTS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;iet_tgt = gt_qtgr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the quarter detail; sort tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;sort gt_qtbu by bunit.&lt;/P&gt;&lt;P&gt;endform. " bld_qt_tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form output_summary&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;otifne section: wtd, mtd, qtd on page 1&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 output_summary.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WTD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/023 'Fiscal Week',&lt;/P&gt;&lt;P&gt;g_wknbr,&lt;/P&gt;&lt;P&gt;'(' no-gap,&lt;/P&gt;&lt;P&gt;gr_dy-low mm/dd/yy no-gap, '-' no-gap,&lt;/P&gt;&lt;P&gt;gr_dy-high mm/dd/yy no-gap,&lt;/P&gt;&lt;P&gt;')'.&lt;/P&gt;&lt;P&gt;if gr_dy-high &amp;gt; gs_dcon-erdat.&lt;/P&gt;&lt;P&gt;write: 'thru', gs_dcon-erdat mm/dd/yy.&lt;/P&gt;&lt;P&gt;endif."dy-high&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;write:/023 text-i10.&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform print_summary tables s_bu gt_dygr gt_dybu.&lt;/P&gt;&lt;P&gt;skip 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/023 'Fiscal Period',&lt;/P&gt;&lt;P&gt;g_fpnbr,&lt;/P&gt;&lt;P&gt;'(' no-gap,&lt;/P&gt;&lt;P&gt;gr_fp-low mm/dd/yy no-gap, '-' no-gap,&lt;/P&gt;&lt;P&gt;gr_fp-high mm/dd/yy no-gap,&lt;/P&gt;&lt;P&gt;')'.&lt;/P&gt;&lt;P&gt;if gr_fp-high &amp;gt; gs_dcon-erdat.&lt;/P&gt;&lt;P&gt;write: 'thru', gs_dcon-erdat mm/dd/yy.&lt;/P&gt;&lt;P&gt;endif."dy-high&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;write:/023 text-i10.&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform print_summary tables s_bu gt_fpgr gt_fpbu.&lt;/P&gt;&lt;P&gt;skip 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;QTR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/023 'Fiscal Qtr.',&lt;/P&gt;&lt;P&gt;g_qtnbr,&lt;/P&gt;&lt;P&gt;'(' no-gap,&lt;/P&gt;&lt;P&gt;gr_qt-low mm/dd/yy no-gap, '-' no-gap,&lt;/P&gt;&lt;P&gt;gr_qt-high mm/dd/yy no-gap,&lt;/P&gt;&lt;P&gt;')'.&lt;/P&gt;&lt;P&gt;if gr_qt-high &amp;gt; gs_dcon-erdat.&lt;/P&gt;&lt;P&gt;write: 'thru', gs_dcon-erdat mm/dd/yy.&lt;/P&gt;&lt;P&gt;endif."dy-high&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;write:/023 text-i10.&lt;/P&gt;&lt;P&gt;write:/022(58) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform print_summary tables s_bu gt_qtgr gt_qtbu.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;endform. " output_summary&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form output_bu&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;detail section: wtd for all bu's then each in turn&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 output_bu.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all bu's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 'All Business Units'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_bugr gt_dygr using space.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;01: USA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '01: USA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '01'.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;02: Asia&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '02: Asia'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '02'.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;03: PA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '03: PA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '03'.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;04: EMEA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '04: EMEA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '04'.&lt;/P&gt;&lt;P&gt;new-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;05: IA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write:/015 '05: IA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;write:/015 text-s05.&lt;/P&gt;&lt;P&gt;write:/015 text-s10.&lt;/P&gt;&lt;P&gt;write:/015 text-s20.&lt;/P&gt;&lt;P&gt;write:/015 text-s30.&lt;/P&gt;&lt;P&gt;write:/014(118) sy-uline.&lt;/P&gt;&lt;P&gt;perform print_bu tables gt_budy gt_dybu using '05'.&lt;/P&gt;&lt;P&gt;endform. " output_bu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form print_summary&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;first page of report is the summary (ontime and infull lines)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;aka otifne&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PR_BU range of bu's from selection screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PT_XXGR detail, grand totals&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PT_XXBU detail, bu by date&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 print_summary tables pr_bu structure s_bu&lt;/P&gt;&lt;P&gt;pt_xxgr structure z140&lt;/P&gt;&lt;P&gt;pt_xxbu structure z140.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OnTime and InFull field tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: lt_otd type z140-pc_ot occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: lt_if type z140-pc_ot occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: ls_ip type z140. " work area for grand/bu detail&lt;/P&gt;&lt;P&gt;data: l_pp type p. " print position&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at pt_xxgr into ls_ip.&lt;/P&gt;&lt;P&gt;lt_otd = ls_ip-pc_ot. append lt_otd.&lt;/P&gt;&lt;P&gt;lt_if = ls_ip-pc_if. append lt_if.&lt;/P&gt;&lt;P&gt;endloop."xxgr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at pr_bu.&lt;/P&gt;&lt;P&gt;clear: lt_otd, lt_if, ls_ip.&lt;/P&gt;&lt;P&gt;loop at pt_xxbu into ls_ip where bunit = pr_bu-low.&lt;/P&gt;&lt;P&gt;lt_otd = ls_ip-pc_ot.&lt;/P&gt;&lt;P&gt;lt_if = ls_ip-pc_if.&lt;/P&gt;&lt;P&gt;endloop."xxgr&lt;/P&gt;&lt;P&gt;append: lt_otd, lt_if.&lt;/P&gt;&lt;P&gt;endloop."bu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/011 '% On Time'.&lt;/P&gt;&lt;P&gt;l_pp = 21.&lt;/P&gt;&lt;P&gt;loop at lt_otd.&lt;/P&gt;&lt;P&gt;write: at l_pp lt_otd no-gap no-sign no-zero.&lt;/P&gt;&lt;P&gt;l_pp = l_pp + 10.&lt;/P&gt;&lt;P&gt;endloop."otd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/011 '% In Full'.&lt;/P&gt;&lt;P&gt;l_pp = 21.&lt;/P&gt;&lt;P&gt;loop at lt_if.&lt;/P&gt;&lt;P&gt;write: at l_pp lt_if no-gap no-sign no-zero.&lt;/P&gt;&lt;P&gt;l_pp = l_pp + 10.&lt;/P&gt;&lt;P&gt;endloop."if.&lt;/P&gt;&lt;P&gt;endform. " print_summary&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form print_bu&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 wtd bu detail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PT_DTL bu detail&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PT_GR grand total for detail&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_BU bu number or blank&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 print_bu tables pt_dtl structure z140&lt;/P&gt;&lt;P&gt;pt_gr structure z140&lt;/P&gt;&lt;P&gt;using p_bu type z140-bunit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: ls_dtl type z140. " work area&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: lr_bu type zbunit_range_tab " bu range of&lt;/P&gt;&lt;P&gt;with header line. " one value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_dyname type hrvsched-daytxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lr_bu-sign = 'I'.&lt;/P&gt;&lt;P&gt;if p_bu is initial.&lt;/P&gt;&lt;P&gt;lr_bu-low = '*'.&lt;/P&gt;&lt;P&gt;lr_bu-option = 'CP'.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;lr_bu-low = p_bu.&lt;/P&gt;&lt;P&gt;lr_bu-option = 'EQ'.&lt;/P&gt;&lt;P&gt;endif."p_bu&lt;/P&gt;&lt;P&gt;append lr_bu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at pt_dtl into ls_dtl where bunit = p_bu.&lt;/P&gt;&lt;P&gt;call function 'RH_GET_DATE_DAYNAME'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;langu = sy-langu&lt;/P&gt;&lt;P&gt;date = ls_dtl-vdatu&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;daytxt = l_dyname&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;no_langu = 1&lt;/P&gt;&lt;P&gt;no_date = 2&lt;/P&gt;&lt;P&gt;no_daytxt_for_langu = 3&lt;/P&gt;&lt;P&gt;invalid_date = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message x006 with 'rhgetdayname fail:'&lt;/P&gt;&lt;P&gt;sy-subrc ls_dtl-vdatu.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write:/ l_dyname+0(3),&lt;/P&gt;&lt;P&gt;ls_dtl-vdatu mm/dd/yy,&lt;/P&gt;&lt;P&gt;016 ls_dtl-pc_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;025(007) ls_dtl-cnt_tl no-sign no-zero,&lt;/P&gt;&lt;P&gt;036(007) ls_dtl-cnt_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;049 ls_dtl-pv_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;059(012) ls_dtl-val_tl no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;072(012) ls_dtl-val_ot no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;086(007) ls_dtl-cnt_cr no-sign no-zero,&lt;/P&gt;&lt;P&gt;096(012) ls_dtl-val_cr no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;114 ls_dtl-pc_cr no-sign no-zero,&lt;/P&gt;&lt;P&gt;124 ls_dtl-pv_cr no-sign no-zero.&lt;/P&gt;&lt;P&gt;endloop."ls_dtl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at pt_gr into ls_dtl where bunit = p_bu.&lt;/P&gt;&lt;P&gt;write:/001 'WTD',&lt;/P&gt;&lt;P&gt;013 '=&amp;gt;',&lt;/P&gt;&lt;P&gt;016 ls_dtl-pc_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;025(007) ls_dtl-cnt_tl no-sign no-zero,&lt;/P&gt;&lt;P&gt;036(007) ls_dtl-cnt_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;049 ls_dtl-pv_ot no-sign no-zero,&lt;/P&gt;&lt;P&gt;059(012) ls_dtl-val_tl no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;072(012) ls_dtl-val_ot no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;086(007) ls_dtl-cnt_cr no-sign no-zero,&lt;/P&gt;&lt;P&gt;096(012) ls_dtl-val_cr no-sign no-zero decimals 0,&lt;/P&gt;&lt;P&gt;114 ls_dtl-pc_cr no-sign no-zero,&lt;/P&gt;&lt;P&gt;124 ls_dtl-pv_cr no-sign no-zero.&lt;/P&gt;&lt;P&gt;endloop."lt_gr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;write:/001 'WTD',&lt;/P&gt;&lt;P&gt;013 '=&amp;gt; No Sales'.&lt;/P&gt;&lt;P&gt;endform. " print_bu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form get_dow&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 day of week for input date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;U_DATE input date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;--C_DOW returned day of week&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_dow using u_date type sy-datum&lt;/P&gt;&lt;P&gt;changing c_dow type langt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: lta_casdayattr type table of casdayattr.&lt;/P&gt;&lt;P&gt;data: ls_casdayattr type casdayattr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_returncode type sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'DAY_ATTRIBUTES_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;date_from = u_date&lt;/P&gt;&lt;P&gt;date_to = u_date&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;returncode = l_returncode&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;day_attributes = lta_casdayattr&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;factory_calendar_not_found = 1&lt;/P&gt;&lt;P&gt;holiday_calendar_not_found = 2&lt;/P&gt;&lt;P&gt;date_has_invalid_format = 3&lt;/P&gt;&lt;P&gt;date_inconsistency = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0 or l_returncode &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message x007 with 'dayattributesget fail:'&lt;/P&gt;&lt;P&gt;u_date l_returncode sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at lta_casdayattr into ls_casdayattr.&lt;/P&gt;&lt;P&gt;c_dow = ls_casdayattr-weekday_l.&lt;/P&gt;&lt;P&gt;exit.&lt;/P&gt;&lt;P&gt;endloop."casdayattr&lt;/P&gt;&lt;P&gt;endform. " get_dow&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form load_ra&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;edit target date; load fiscal week/period/quarter ranges&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;U_TGTDATE date used to identify fiscal info&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 load_ra using u_tgtdate type sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not u_tgtdate between gs_dcon-begda and gs_dcon-erdat.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;endif."tgtdaye&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'Z_OTDB_BLD_RANGES_FOR_DATE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_date = u_tgtdate&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;e_week = g_wknbr&lt;/P&gt;&lt;P&gt;e_period = g_fpnbr&lt;/P&gt;&lt;P&gt;e_quarter = g_qtnbr&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;et_week = gr_dy&lt;/P&gt;&lt;P&gt;et_period = gr_fp&lt;/P&gt;&lt;P&gt;et_quarter = gr_qt&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;syserr = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;perform do_over.&lt;/P&gt;&lt;P&gt;endif."subrc&lt;/P&gt;&lt;P&gt;endform. " load_ra&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form inc_wkend&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;increment the end of the week one day&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 inc_wkend.&lt;/P&gt;&lt;P&gt;loop at gr_dy.&lt;/P&gt;&lt;P&gt;gr_dy-high = gr_dy-high + 1.&lt;/P&gt;&lt;P&gt;modify gr_dy.&lt;/P&gt;&lt;P&gt;endloop."week&lt;/P&gt;&lt;P&gt;endform. " inc_wkend&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 dec_wkbeg&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;decrement the beginning of week one day&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 dec_wkbeg.&lt;/P&gt;&lt;P&gt;loop at gr_dy.&lt;/P&gt;&lt;P&gt;gr_dy-low = gr_dy-low - 1.&lt;/P&gt;&lt;P&gt;modify gr_dy.&lt;/P&gt;&lt;P&gt;endloop."week&lt;/P&gt;&lt;P&gt;endform. " dec_wkbeg&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;eject----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form set_screen_fields&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;set visible fields on sel scrn depending on login name&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 set_screen_fields.&lt;/P&gt;&lt;P&gt;case sy-uname.&lt;/P&gt;&lt;P&gt;when 'OPERATOR' or 'R3ADMIN'.&lt;/P&gt;&lt;P&gt;loop at screen.&lt;/P&gt;&lt;P&gt;if screen-name = 'PA_STD'. " show field&lt;/P&gt;&lt;P&gt;screen-active = 1.&lt;/P&gt;&lt;P&gt;screen-input = 1.&lt;/P&gt;&lt;P&gt;screen-output = 1.&lt;/P&gt;&lt;P&gt;screen-invisible = 0.&lt;/P&gt;&lt;P&gt;modify screen.&lt;/P&gt;&lt;P&gt;elseif&lt;/P&gt;&lt;P&gt;screen-name = 'M_VDATU'. " not obligatory&lt;/P&gt;&lt;P&gt;screen-required = 0.&lt;/P&gt;&lt;P&gt;modify screen.&lt;/P&gt;&lt;P&gt;endif."screen&lt;/P&gt;&lt;P&gt;endloop."screen&lt;/P&gt;&lt;P&gt;if m_vdatu is initial.&lt;/P&gt;&lt;P&gt;pa_std = 'X'. " operator default&lt;/P&gt;&lt;P&gt;endif."vdatu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when others.&lt;/P&gt;&lt;P&gt;loop at screen.&lt;/P&gt;&lt;P&gt;if screen-name = 'PA_STD' " hide field&lt;/P&gt;&lt;P&gt;or screen-name = '%C311010_1000'. " hide comments&lt;/P&gt;&lt;P&gt;screen-active = 0.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;screen-output = 0.&lt;/P&gt;&lt;P&gt;screen-invisible = 1.&lt;/P&gt;&lt;P&gt;modify screen.&lt;/P&gt;&lt;P&gt;endif."screen&lt;/P&gt;&lt;P&gt;endloop."screen&lt;/P&gt;&lt;P&gt;if m_vdatu is initial.&lt;/P&gt;&lt;P&gt;m_vdatu = sy-datum - 1. " default yesterday&lt;/P&gt;&lt;P&gt;endif."vdatu&lt;/P&gt;&lt;P&gt;endcase."uname&lt;/P&gt;&lt;P&gt;endform. " set_screen_fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Title and Message were edited by: &lt;/P&gt;&lt;P&gt;        Alvaro Tejada Galindo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2007 09:44:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758602#M642090</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-14T09:44:51Z</dc:date>
    </item>
    <item>
      <title>Re: help with report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758603#M642091</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Arjun,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To really understand ur code is a big problem..&lt;/P&gt;&lt;P&gt;Why ???&lt;/P&gt;&lt;P&gt;a) The include in ur program is not coded here.&lt;/P&gt;&lt;P&gt;b) ur program includes ztables, so without knowing the fields,&lt;/P&gt;&lt;P&gt;one cannot clue it out to find what exactly is going on ur programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So next time b careful to code ur includes n giv info bout ur Ztables..&lt;/P&gt;&lt;P&gt; Hope this helps u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;S.Agarwal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2007 09:51:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758603#M642091</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-14T09:51:56Z</dc:date>
    </item>
    <item>
      <title>Re: help with report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758604#M642092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello sapna!&lt;/P&gt;&lt;P&gt;actually wat happen is this is developed 1 year bak. now i get ticket as code review. and it is checking as per require not. i know the flow. but here in this func. mod included some other func.modules. this becomes difficult 2 undersand me how d data  fetching. i hav to giv documentation on this code review. really am not able to do  this. &lt;/P&gt;&lt;P&gt;bcoz its very difficult to understand the ztables and zfunction modules. and their logics&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tell me wat  2 do yaar!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any how thks 4 reply....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;y indiatimes bcoz no other sites are access here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;arjun&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Alvaro Tejada Galindo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2007 11:31:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758604#M642092</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-14T11:31:11Z</dc:date>
    </item>
    <item>
      <title>Re: help with report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758605#M642093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Execute the report and debug it...Don't expect us to read the whole code and the documentation work for you...Anyway...If you need help with a particular piece of code...just paste that particular piece of code...and not the whole...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greetings,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Blag.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2007 22:05:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-report/m-p/2758605#M642093</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-14T22:05:44Z</dc:date>
    </item>
  </channel>
</rss>

