<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: interactive report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315781#M507763</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use HIDE itab-field1 key word after WRITE: itab-field1......&lt;/P&gt;&lt;P&gt;then under AT-line selection..&lt;/P&gt;&lt;P&gt;if itab-field1.&lt;/P&gt;&lt;P&gt;write your logic....,&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward me if usefull.,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Harish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 16 May 2007 06:44:20 GMT</pubDate>
    <dc:creator>harishaginati</dc:creator>
    <dc:date>2007-05-16T06:44:20Z</dc:date>
    <item>
      <title>interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315777#M507759</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts&lt;/P&gt;&lt;P&gt;              i have an esisting report: the code is below.&lt;/P&gt;&lt;P&gt;now in the output when the user clicks on Fuctional Location(s763-tplnr) it should call transaction IL03. and when clicks on Equipment(S763-equnr) it should call tcode IE03. in the program it is already written AT USER COMMAND.&lt;/P&gt;&lt;P&gt;      plz tell how and wht code needed to be added and where without disturbing existing one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        the code is as follows.&lt;/P&gt;&lt;P&gt;&lt;/P&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;Program Name   :  YPMROPFA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program Type   :  Report Program&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developed By   :  PM (Query P5 Conversion)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date created   :  22-02-2002&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purpose        :  Object Part Failure Analysis.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By   :  RP&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;CHANGE CONTROL :&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AUTHOR:		      DATE:	    KEY STRING:    REQUESTED_BY:&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;KEY STRING DESCRIPTION :&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;&lt;/P&gt;&lt;P&gt;REPORT ypmropfa  NO STANDARD PAGE HEADING LINE-SIZE 160.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE &amp;lt;symbol&amp;gt;.&lt;/P&gt;&lt;P&gt;INCLUDE &amp;lt;icon&amp;gt;.&lt;/P&gt;&lt;P&gt;TABLES equz.&lt;/P&gt;&lt;P&gt;TABLES qpct.&lt;/P&gt;&lt;P&gt;TABLES iloa.&lt;/P&gt;&lt;P&gt;TABLES s763.&lt;/P&gt;&lt;P&gt;TABLES eqkt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: periodfr LIKE s763-spmon.&lt;/P&gt;&lt;P&gt;DATA: periodto LIKE s763-spmon.&lt;/P&gt;&lt;P&gt;DATA: partreq(1) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: fname(30),fvalue(30) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF i_tab OCCURS 100,&lt;/P&gt;&lt;P&gt;        equnr LIKE equz-equnr,&lt;/P&gt;&lt;P&gt;        otgrp LIKE s763-otgrp,&lt;/P&gt;&lt;P&gt;        soteil LIKE s763-soteil,&lt;/P&gt;&lt;P&gt;        sscode LIKE s763-sscode,&lt;/P&gt;&lt;P&gt;      END OF i_tab.&lt;/P&gt;&lt;P&gt;PARAMETERS switch(02) TYPE c DEFAULT 'Go' NO-DISPLAY.&lt;/P&gt;&lt;P&gt;DATA : line TYPE i.&lt;/P&gt;&lt;P&gt;DATA : line1 TYPE p DECIMALS 2 .&lt;/P&gt;&lt;P&gt;DATA : line2 TYPE p DECIMALS 2 .&lt;/P&gt;&lt;P&gt;DATA: fild_name(20),&lt;/P&gt;&lt;P&gt;       value.&lt;/P&gt;&lt;P&gt;DATA failures(005) TYPE p  DECIMALS 00 .&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t01 OCCURS 100,&lt;/P&gt;&lt;P&gt;            qpct-kurztext LIKE qpct-kurztext,&lt;/P&gt;&lt;P&gt;            iloa-swerk LIKE iloa-swerk,&lt;/P&gt;&lt;P&gt;            s763-equnr LIKE s763-equnr,&lt;/P&gt;&lt;P&gt;            failures(05) TYPE p  DECIMALS 00 ,&lt;/P&gt;&lt;P&gt;      END OF t01.&lt;/P&gt;&lt;P&gt;*RP1203&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF s01 OCCURS 100,&lt;/P&gt;&lt;P&gt;            qpct-kurztext LIKE qpct-kurztext,&lt;/P&gt;&lt;P&gt;            iloa-swerk LIKE iloa-swerk,&lt;/P&gt;&lt;P&gt;            failures(05) TYPE p  DECIMALS 00 ,&lt;/P&gt;&lt;P&gt;      END OF s01.&lt;/P&gt;&lt;P&gt;*END RP1203&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK prog&lt;/P&gt;&lt;P&gt;                  WITH FRAME TITLE text-f59.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS period FOR s763-spmon OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS ingrp FOR equz-ingrp.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS swerk FOR iloa-swerk OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS equnr FOR s763-equnr.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS tplnr FOR s763-tplnr NO INTERVALS.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS otgrp FOR s763-otgrp NO INTERVALS. "Code group&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS failno FOR failures NO INTERVALS NO-EXTENSION.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS soteil FOR s763-soteil. "Object part&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS part FOR partreq NO INTERVALS NO-EXTENSION DEFAULT 'Y'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK prog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT a~equnr a~otgrp a~soteil a~spmon a~stcode a~sscode&lt;/P&gt;&lt;P&gt;       a~tplnr  a~vrsio equz~equnr equz~iloan&lt;/P&gt;&lt;P&gt;       equz~ingrp iloa~iloan iloa~swerk b~code b~codegruppe&lt;/P&gt;&lt;P&gt;       b~katalogart b~kurztext b~sprache&lt;/P&gt;&lt;P&gt;INTO (s763-equnr , s763-otgrp , s763-soteil , s763-spmon , s763-stcode ,&lt;/P&gt;&lt;P&gt;      s763-sscode , s763-tplnr , s763-vrsio , equz-equnr , equz-iloan ,&lt;/P&gt;&lt;P&gt;      equz-ingrp , iloa-iloan , iloa-swerk , qpct-code ,&lt;/P&gt;&lt;P&gt;      qpct-codegruppe , qpct-katalogart , qpct-kurztext , qpct-sprache)&lt;/P&gt;&lt;P&gt;FROM ( s763 AS a&lt;/P&gt;&lt;P&gt;       INNER JOIN equz&lt;/P&gt;&lt;P&gt;       ON equz~equnr = a~equnr&lt;/P&gt;&lt;P&gt;       INNER JOIN iloa&lt;/P&gt;&lt;P&gt;       ON iloa~iloan = equz~iloan&lt;/P&gt;&lt;P&gt;       INNER JOIN qpct AS b&lt;/P&gt;&lt;P&gt;       ON b~codegruppe = a~otgrp&lt;/P&gt;&lt;P&gt;       AND b~code = a~soteil )&lt;/P&gt;&lt;P&gt;       WHERE a~spmon IN period&lt;/P&gt;&lt;P&gt;         AND a~equnr IN equnr&lt;/P&gt;&lt;P&gt;         AND a~otgrp IN otgrp&lt;/P&gt;&lt;P&gt;         AND a~soteil IN soteil&lt;/P&gt;&lt;P&gt;         AND a~stcode GT '0'&lt;/P&gt;&lt;P&gt;         AND a~tplnr IN tplnr&lt;/P&gt;&lt;P&gt;         AND a~vrsio EQ '000'&lt;/P&gt;&lt;P&gt;         AND equz~ingrp IN ingrp&lt;/P&gt;&lt;P&gt;         AND iloa~swerk IN swerk&lt;/P&gt;&lt;P&gt;         AND b~katalogart EQ 'B'&lt;/P&gt;&lt;P&gt;         AND b~sprache EQ 'E'&lt;/P&gt;&lt;P&gt;ORDER BY a~tplnr equz~ingrp a~equnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : data_flag(1).&lt;/P&gt;&lt;P&gt;  data_flag = 'Y'.&lt;/P&gt;&lt;P&gt;  IF s763-equnr IS INITIAL.&lt;/P&gt;&lt;P&gt;    data_flag = ' '.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA : flag.&lt;/P&gt;&lt;P&gt;  IF flag = space.&lt;/P&gt;&lt;P&gt;  periodfr = period-low.&lt;/P&gt;&lt;P&gt;  periodto = period-high.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM s763&lt;/P&gt;&lt;P&gt;  INTO CORRESPONDING FIELDS OF TABLE i_tab&lt;/P&gt;&lt;P&gt;  WHERE&lt;/P&gt;&lt;P&gt;      spmon GE periodfr AND spmon LE periodto AND NOT equnr IS null&lt;/P&gt;&lt;P&gt;      AND NOT otgrp IS null AND NOT soteil IS null AND vrsio EQ '000'.&lt;/P&gt;&lt;P&gt;  SORT i_tab BY equnr otgrp soteil DESCENDING.&lt;/P&gt;&lt;P&gt;  flag = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  failures = 0.&lt;/P&gt;&lt;P&gt;  IF part = ' '.&lt;/P&gt;&lt;P&gt;      CLEAR qpct-kurztext.&lt;/P&gt;&lt;P&gt;      qpct-kurztext = '*'.&lt;/P&gt;&lt;P&gt;      READ TABLE i_tab WITH KEY equnr = s763-equnr.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;           LOOP AT i_tab WHERE equnr = s763-equnr AND NOT otgrp IS&lt;/P&gt;&lt;P&gt;           initial AND NOT soteil IS initial.&lt;/P&gt;&lt;P&gt;             failures = failures + i_tab-sscode.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;             DELETE i_tab WHERE equnr = s763-equnr.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;            failures = 0.&lt;/P&gt;&lt;P&gt;            CHECK 1 EQ 2.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;P&gt;      READ TABLE i_tab WITH KEY equnr = s763-equnr&lt;/P&gt;&lt;P&gt;            otgrp = s763-otgrp soteil = s763-soteil.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          LOOP AT i_tab WHERE equnr = s763-equnr AND otgrp = s763-otgrp&lt;/P&gt;&lt;P&gt;            AND soteil = s763-soteil.&lt;/P&gt;&lt;P&gt;              failures = failures + i_tab-sscode.&lt;/P&gt;&lt;P&gt;            ENDLOOP.&lt;/P&gt;&lt;P&gt;        DELETE i_tab WHERE equnr = s763-equnr AND otgrp = s763-otgrp&lt;/P&gt;&lt;P&gt;        AND soteil = s763-soteil.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;        failures = 0.&lt;/P&gt;&lt;P&gt;        CHECK 1 = 2.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CHECK failno.&lt;/P&gt;&lt;P&gt;  t01-qpct-kurztext = qpct-kurztext.&lt;/P&gt;&lt;P&gt;  t01-iloa-swerk = iloa-swerk.&lt;/P&gt;&lt;P&gt;  t01-s763-equnr = s763-equnr.&lt;/P&gt;&lt;P&gt;  ADD failures TO t01-failures.&lt;/P&gt;&lt;P&gt;  COLLECT t01.&lt;/P&gt;&lt;P&gt;  CLEAR t01-failures.&lt;/P&gt;&lt;P&gt;SORT BY&lt;/P&gt;&lt;P&gt;        iloa-swerk&lt;/P&gt;&lt;P&gt;        equz-ingrp&lt;/P&gt;&lt;P&gt;        s763-tplnr&lt;/P&gt;&lt;P&gt;        s763-equnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*RP1203&lt;/P&gt;&lt;P&gt;  s01-qpct-kurztext = qpct-kurztext.&lt;/P&gt;&lt;P&gt;  s01-iloa-swerk = iloa-swerk.&lt;/P&gt;&lt;P&gt;  ADD failures TO s01-failures.&lt;/P&gt;&lt;P&gt;  COLLECT s01.&lt;/P&gt;&lt;P&gt;  CLEAR s01-failures.&lt;/P&gt;&lt;P&gt;SORT BY&lt;/P&gt;&lt;P&gt;        iloa-swerk&lt;/P&gt;&lt;P&gt;        equz-ingrp&lt;/P&gt;&lt;P&gt;        s763-tplnr&lt;/P&gt;&lt;P&gt;        qpct-kurztext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE eqktx&lt;/P&gt;&lt;P&gt;       FROM eqkt&lt;/P&gt;&lt;P&gt;       INTO eqkt-eqktx&lt;/P&gt;&lt;P&gt;       WHERE equnr = equz-equnr&lt;/P&gt;&lt;P&gt;       AND spras = 'EN'.&lt;/P&gt;&lt;P&gt;*END RP1203&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'CALL' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ON CHANGE OF s763-tplnr.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;ENDON.&lt;/P&gt;&lt;P&gt;    WRITE '|' COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE 002(006) iloa-swerk COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE 009(004) equz-ingrp COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;    ON CHANGE OF s763-tplnr.&lt;/P&gt;&lt;P&gt;    WRITE 014(030) s763-tplnr COLOR 4 INTENSIFIED ON NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;    WRITE 014(030) s763-tplnr COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;    ENDON.&lt;/P&gt;&lt;P&gt;    WRITE 045(018) s763-equnr COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE 064(040) eqkt-eqktx COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE 105(040) qpct-kurztext COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE 146(014) failures CENTERED COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;    WRITE '|' COLOR OFF INTENSIFIED OFF NO-GAP.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Basic List Call up&lt;/P&gt;&lt;P&gt;*AT USER-COMMAND.&lt;/P&gt;&lt;P&gt;*IF SY-UCOMM = 'BL'.&lt;/P&gt;&lt;P&gt;*PERFORM CALLBL.&lt;/P&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;**End of Basic List Call up&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT USER-COMMAND.&lt;/P&gt;&lt;P&gt;IF sy-ucomm = 'OP'.&lt;/P&gt;&lt;P&gt;PERFORM call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT t01 BY iloa-swerk qpct-kurztext.&lt;/P&gt;&lt;P&gt;line = sy-tabix.&lt;/P&gt;&lt;P&gt;LOOP AT t01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;New Page Repeat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;line  = sy-tabix / 42.&lt;/P&gt;&lt;P&gt;       line1 = sy-tabix / 42.&lt;/P&gt;&lt;P&gt;       line2 = line - line1 .&lt;/P&gt;&lt;P&gt;       IF sy-tabix GE 42 AND line2 = 0 .&lt;/P&gt;&lt;P&gt;       NEW-PAGE.&lt;/P&gt;&lt;P&gt;       PERFORM call.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End Page Repeat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ON CHANGE OF t01-qpct-kurztext.&lt;/P&gt;&lt;P&gt;WRITE : /2 sy-vline, t01-qpct-kurztext&lt;/P&gt;&lt;P&gt;                        COLOR 6 INVERSE ON NO-GAP , 35 sy-vline,&lt;/P&gt;&lt;P&gt;      36 t01-iloa-swerk NO-GAP COLOR OFF INTENSIFIED OFF, 42 sy-vline ,&lt;/P&gt;&lt;P&gt;      43 t01-s763-equnr NO-GAP COLOR OFF INTENSIFIED OFF , 61 sy-vline,&lt;/P&gt;&lt;P&gt;      62 t01-failures NO-GAP COLOR OFF INTENSIFIED OFF , 77 sy-vline.&lt;/P&gt;&lt;P&gt;      WRITE /2(76) sy-uline.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;WRITE : /2 sy-vline, t01-qpct-kurztext&lt;/P&gt;&lt;P&gt;                 COLOR OFF INTENSIFIED OFF NO-GAP , 35 sy-vline ,&lt;/P&gt;&lt;P&gt;      36 t01-iloa-swerk NO-GAP COLOR OFF INTENSIFIED OFF, 42 sy-vline ,&lt;/P&gt;&lt;P&gt;      43 t01-s763-equnr NO-GAP COLOR OFF INTENSIFIED OFF , 61 sy-vline,&lt;/P&gt;&lt;P&gt;      62 t01-failures NO-GAP COLOR OFF INTENSIFIED OFF , 77 sy-vline.&lt;/P&gt;&lt;P&gt;      WRITE /2(76) sy-uline.&lt;/P&gt;&lt;P&gt;ENDON.&lt;/P&gt;&lt;P&gt;ENDLOOP.&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;*RP1203&lt;/P&gt;&lt;P&gt;AT USER-COMMAND.&lt;/P&gt;&lt;P&gt;  IF sy-ucomm = 'OPS'.&lt;/P&gt;&lt;P&gt;    PERFORM callops.&lt;/P&gt;&lt;P&gt;SORT s01 BY iloa-swerk qpct-kurztext.&lt;/P&gt;&lt;P&gt;    line = sy-tabix.&lt;/P&gt;&lt;P&gt;    LOOP AT s01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;New Page Repeat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      line  = sy-tabix / 42.&lt;/P&gt;&lt;P&gt;      line1 = sy-tabix / 42.&lt;/P&gt;&lt;P&gt;      line2 = line - line1 .&lt;/P&gt;&lt;P&gt;      IF sy-tabix GE 42 AND line2 = 0 .&lt;/P&gt;&lt;P&gt;        NEW-PAGE.&lt;/P&gt;&lt;P&gt;        PERFORM callops.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End Page Repeat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ON CHANGE OF s01-iloa-swerk.&lt;/P&gt;&lt;P&gt;WRITE : /2 sy-vline, s01-qpct-kurztext COLOR OFF INTENSIFIED OFF&lt;/P&gt;&lt;P&gt;                         NO-GAP , 35 sy-vline,&lt;/P&gt;&lt;P&gt;      36 s01-iloa-swerk NO-GAP COLOR 6 INVERSE ON, 42 sy-vline ,&lt;/P&gt;&lt;P&gt;      43 s01-failures NO-GAP COLOR OFF INTENSIFIED OFF , 61 sy-vline.&lt;/P&gt;&lt;P&gt;      WRITE /2(60) sy-uline.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;      WRITE : /2 sy-vline, s01-qpct-kurztext&lt;/P&gt;&lt;P&gt;                 COLOR OFF INTENSIFIED OFF NO-GAP , 35 sy-vline ,&lt;/P&gt;&lt;P&gt;       36 s01-iloa-swerk NO-GAP COLOR OFF INTENSIFIED OFF, 42 sy-vline&lt;/P&gt;&lt;P&gt;,&lt;/P&gt;&lt;P&gt;       43 s01-failures NO-GAP COLOR OFF INTENSIFIED OFF , 61 sy-vline.&lt;/P&gt;&lt;P&gt;      WRITE /2(60) sy-uline.&lt;/P&gt;&lt;P&gt;ENDON.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;END RP1203&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;PERFORM header.&lt;/P&gt;&lt;P&gt;END-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HEADER&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;FORM header.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;WRITE:/48 icon_bw_gis AS ICON, 'Reliance Group.'&lt;/P&gt;&lt;P&gt;                                   COLOR 4 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/39(39) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE : /39 sy-vline , icon_overview AS ICON,&lt;/P&gt;&lt;P&gt;                  'Recurring Failure Analysis Report'&lt;/P&gt;&lt;P&gt;COLOR 1 INVERSE ON, 77 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE:/39(39) sy-uline.&lt;/P&gt;&lt;P&gt; IF data_flag = ' '.&lt;/P&gt;&lt;P&gt; SKIP 1.&lt;/P&gt;&lt;P&gt; WRITE sy-uline.&lt;/P&gt;&lt;P&gt; WRITE : /39 icon_terminated_job AS ICON, 'No Records Found'&lt;/P&gt;&lt;P&gt;                               COLOR 7 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt; WRITE:/01  icon_date AS ICON, 'For The Period :'&lt;/P&gt;&lt;P&gt;                                               COLOR 2 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;    WRITE:22  periodfr  COLOR 1 INTENSIFIED OFF,&lt;/P&gt;&lt;P&gt;     ' TO '  COLOR 1 INTENSIFIED OFF,&lt;/P&gt;&lt;P&gt;           periodto COLOR 1 INTENSIFIED OFF .&lt;/P&gt;&lt;P&gt;    WRITE:80  'Report As of :'.&lt;/P&gt;&lt;P&gt;    WRITE:95  icon_date AS ICON, sy-datum COLOR 7 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  WRITE sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE AT / '|' NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE 002(006) 'MPlnt' COLOR 6 INVERSE ON   NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE 009(004) 'Dept' COLOR 6 INVERSE ON  NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE 014(030) 'Functional Location' COLOR 6 INVERSE ON  NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE 045(018) 'Equipment Tag No' COLOR 6 INVERSE ON  NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE 064(040) 'Equipment Description' CENTERED COLOR 6 INVERSE ON&lt;/P&gt;&lt;P&gt;NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE 105(040) 'Object Part' CENTERED COLOR 6 INVERSE ON  NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE 146(014) 'No.of Damages' COLOR 6 INVERSE ON  NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE '|' NO-GAP.&lt;/P&gt;&lt;P&gt;  WRITE sy-uline.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " HEADER&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  CALL&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;FORM call.&lt;/P&gt;&lt;P&gt;NEW-PAGE WITH-HEADING.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;WRITE:/38 icon_bw_gis AS ICON, 'Reliance Group.'&lt;/P&gt;&lt;P&gt;                                   COLOR 4 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/30(37) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE : /30 sy-vline , icon_overview AS ICON,&lt;/P&gt;&lt;P&gt;                  'Failure Analysis by Object Part'&lt;/P&gt;&lt;P&gt;COLOR 1 INVERSE ON, 66 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE:/30(37) sy-uline.&lt;/P&gt;&lt;P&gt; WRITE:/01  icon_date AS ICON, 'For The Period :'&lt;/P&gt;&lt;P&gt;                                               COLOR 2 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;    WRITE:22  periodfr  COLOR 1 INTENSIFIED OFF,&lt;/P&gt;&lt;P&gt;     ' TO '  COLOR 1 INTENSIFIED OFF,&lt;/P&gt;&lt;P&gt;           periodto COLOR 1 INTENSIFIED OFF .&lt;/P&gt;&lt;P&gt;    WRITE:50  'Report As of :'.&lt;/P&gt;&lt;P&gt;    WRITE:65  icon_date AS ICON, sy-datum COLOR 7 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;   WRITE /2(76) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE : /2 sy-vline,'Object Part' COLOR 1&lt;/P&gt;&lt;P&gt;                      INTENSIFIED OFF,35 sy-vline,&lt;/P&gt;&lt;P&gt;      36 'MPlant' COLOR 1 INTENSIFIED OFF, 42 sy-vline ,&lt;/P&gt;&lt;P&gt;      43 'Equipment' COLOR 1 INTENSIFIED OFF, 61 sy-vline ,&lt;/P&gt;&lt;P&gt;      62 'No.of Failures' COLOR 1 INTENSIFIED OFF, 77 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE /2(76) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALL&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  CALLOPS&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;FORM callops.&lt;/P&gt;&lt;P&gt;  NEW-PAGE WITH-HEADING.&lt;/P&gt;&lt;P&gt;  SKIP 1.&lt;/P&gt;&lt;P&gt;  WRITE:/23 icon_bw_gis AS ICON, 'Reliance Group.'&lt;/P&gt;&lt;P&gt;                                     COLOR 4 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/15(37) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE : /15 sy-vline , icon_overview AS ICON,&lt;/P&gt;&lt;P&gt;                  'Object Part Failure Statistics'&lt;/P&gt;&lt;P&gt;COLOR 1 INVERSE ON, 51 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE:/15(37) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE:/01  icon_date AS ICON, 'Period :'&lt;/P&gt;&lt;P&gt;                                                COLOR 2 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  WRITE:14  periodfr  COLOR 1 INTENSIFIED OFF,&lt;/P&gt;&lt;P&gt;   ' TO '  COLOR 1 INTENSIFIED OFF,&lt;/P&gt;&lt;P&gt;         periodto COLOR 1 INTENSIFIED OFF .&lt;/P&gt;&lt;P&gt;  WRITE:38  'As of :'.&lt;/P&gt;&lt;P&gt;  WRITE:48  icon_date AS ICON, sy-datum COLOR 7 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  WRITE /2(60) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE : /2 sy-vline,'Object Part' COLOR 1&lt;/P&gt;&lt;P&gt;                      INTENSIFIED OFF,35 sy-vline,&lt;/P&gt;&lt;P&gt;      36 'MPlant' COLOR 1 INTENSIFIED OFF, 42 sy-vline ,&lt;/P&gt;&lt;P&gt;      43 'Total Failures' COLOR 1 INTENSIFIED OFF, 61 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE /2(60) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALLOPS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;  GET CURSOR FIELD fname VALUE fvalue.&lt;/P&gt;&lt;P&gt;  CASE fname.&lt;/P&gt;&lt;P&gt;    WHEN 'S763-EQUNR'.&lt;/P&gt;&lt;P&gt;      SET PARAMETER ID 'EQN' FIELD fvalue.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'IE03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;alson&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2007 06:23:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315777#M507759</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-16T06:23:03Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315778#M507760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;first Debug ,find out what values its carrying out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Peram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2007 06:30:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315778#M507760</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-16T06:30:08Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315779#M507761</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;I have done a report very similar to yours.It also goes to transaction IE03 and AS03. Please take a look at my report below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*==================================================================
* Program Name : ZPR_ASSET_VALUE
* Author       : Aris Hidalgo
* Date Created : April 24, 2006
* Description  : The purpose of this report is to list the value of
*                equipment by functional location.
*==================================================================
REPORT zpr_asset_value
       NO STANDARD PAGE HEADING
       LINE-SIZE  254
       LINE-COUNT 0
       MESSAGE-ID zz.

*----------------------------------------------*
* Data dictionary tables                       *
*----------------------------------------------*
TABLES: iloa,
        equz,
        anlc,
        t499s,
        iflo,
        anla,
        eqkt.

*----------------------------------------------*
* Selection screen                             *
*----------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_tplnr FOR iloa-tplnr,
                s_stand FOR t499s-stand,
                s_anln1 FOR anlc-anln1.
SELECT-OPTIONS  s_class FOR anla-anlkl.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_posdep RADIOBUTTON GROUP rb1,
            p_pladep RADIOBUTTON GROUP rb1.
SELECTION-SCREEN END OF BLOCK b3.
PARAMETERS: p_equip AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b1.

*----------------------------------------------*
* Global Structure/s                           *
*----------------------------------------------*
TYPES: BEGIN OF t_output,
            funcloc           TYPE iloa-tplnr,
            asset_dum         TYPE iloa-anlnr,
            asset             TYPE iloa-anlnr,
            parent            TYPE iloa-anlnr,
            asset_subnum(17)  TYPE c,
            parent_subnum(17) TYPE c,
            accq_cost         TYPE anlc-kansw,
            acc_dep           TYPE anlc-kansw,
            asset_book_val    TYPE anlc-kansw,
            location          TYPE t499s-ktext,
            description       TYPE iflo-pltxt,
            asset_sub         TYPE anla-ord42,
            equip_num         TYPE equz-equnr,
            company           TYPE anla-bukrs,
            asset_class       TYPE anla-anlkl,
          END OF t_output.

*----------------------------------------------*
* Global Internal table/s and work area        *
*----------------------------------------------*
DATA: it_output  TYPE STANDARD TABLE OF t_output,
      wa_output  LIKE LINE OF it_output.


*---------------------------------------------------------------------*
*       CLASS lcl_main DEFINITION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
CLASS lcl_main DEFINITION.
  PUBLIC SECTION.
    METHODS: get_data,
             combine_data,
             get_asset IMPORTING equip_num TYPE equz-equnr
                       EXPORTING value(check) TYPE c,
             get_anlc  IMPORTING value(anln1) TYPE anla-anln1
                                 value(anln2) TYPE anla-anln2
                       EXPORTING accq_cost    TYPE anlc-kansw
                                 acc_dep      TYPE anlc-kansw
                                 netbook_val  TYPE anlc-kansw,
             top_of_page,
             header IMPORTING uline_len TYPE i,
             show_data.
    EVENTS: no_data EXPORTING value(class)   TYPE anla-anlkl.
    CLASS-DATA: v_flag TYPE i.

    TYPES: BEGIN OF t_iloa,
            iloan TYPE iloa-iloan,     "Location and account assignment
            tplnr TYPE iloa-tplnr,     "Functional location
            anlnr TYPE iloa-anlnr,     "Main asset number
            swerk TYPE iloa-swerk,     "Maintenance plant
            stort TYPE iloa-stort,     "Location of maintenance object
           END OF t_iloa.

    TYPES: BEGIN OF t_t499s,
            werks TYPE t499s-werks,    "Plant
            stand TYPE t499s-stand,    "Location
            ktext TYPE t499s-ktext,    "Text (40 characters)
           END OF t_t499s.

    TYPES: BEGIN OF t_equz,
            equnr TYPE equz-equnr,     "Equipment number
            hequi TYPE equz-hequi,     "Superior Equipment
            iloan TYPE equz-iloan,     "Location and account assignment
            iwerk TYPE equz-iwerk,     "Maintenance Planning Plant
           END OF t_equz.

    TYPES: BEGIN OF t_iflo,
            tplnr TYPE iflo-tplnr,     "Functional location
            pltxt TYPE iflo-pltxt,     "Description
           END OF t_iflo.

    TYPES: BEGIN OF t_equz2,
            iwerk TYPE equz-iwerk,     "Data origin indicator
           END OF t_equz2.

    TYPES: BEGIN OF t_anla,
            bukrs TYPE anla-bukrs,     "Company Code
            anln1 TYPE anla-anln1,     "Main asset number
            anln2 TYPE anla-anln2,     "Asset sub-number
            anlkl TYPE anla-anlkl,     "Asset class
            ord42 TYPE anla-ord42,     "Asset Sub-Class
           END OF t_anla.

    TYPES: BEGIN OF t_anlc,
            gjahr TYPE anlc-gjahr, "Fiscal year
            kansw TYPE anlc-kansw, "Cumulative acquisition
            knafa TYPE anlc-knafa, "Accumulated ordinary depreciation
            kaafa TYPE anlc-kaafa, "Cumulative unplanned depreciation
            answl TYPE anlc-answl, "Transactions for the year
            nafav TYPE anlc-nafav, "Proportional accumulated
            nafag TYPE anlc-nafag, "Ordinary dep. posted in the cur.year
            nafal TYPE anlc-nafal, "Proportional ordinary depreciation
            aafav TYPE anlc-aafav, "cumulative unplanned depreciation
            aafag TYPE anlc-aafag, "Unplanned depr. posted for the year
            nafap TYPE anlc-nafap, "Planned ordinary depr. for the year
            aafap TYPE anlc-aafap, "Planned unplanned depr. for the year
          END OF t_anlc.

    TYPES: BEGIN OF t_finaltab,
            funcloc           TYPE iloa-tplnr,
            asset_dum         TYPE iloa-anlnr,
            asset             TYPE iloa-anlnr,
            parent            TYPE iloa-anlnr,
            asset_subnum(17)  TYPE c,
            parent_subnum(17) TYPE c,
            accq_cost         TYPE anlc-kansw,
            acc_dep           TYPE anlc-kansw,
            asset_book_val    TYPE anlc-kansw,
            location          TYPE t499s-ktext,
            description       TYPE iflo-pltxt,
            asset_sub         TYPE anla-ord42,
            equip_num         TYPE equz-equnr,
            company           TYPE anla-bukrs,
            asset_class       TYPE anla-anlkl,
          END OF t_finaltab.

    TYPES: BEGIN OF t_equz_dum,
            hequi TYPE equz-hequi,
           END OF t_equz_dum.

    DATA: it_iloa     TYPE HASHED TABLE OF t_iloa
                            WITH UNIQUE KEY iloan,
          it_t499s    TYPE HASHED TABLE OF t_t499s
                            WITH UNIQUE KEY werks stand,
          it_equz     TYPE SORTED TABLE OF t_equz
                            WITH NON-UNIQUE KEY equnr hequi,
          it_iflo     TYPE STANDARD TABLE OF t_iflo,
          it_anla     TYPE STANDARD TABLE OF t_anla,
          it_anlc     TYPE STANDARD TABLE OF t_anlc,
          it_finaltab TYPE STANDARD TABLE OF t_finaltab.

    DATA: it_equz2    TYPE STANDARD TABLE OF t_equz2,
          wa_equz2    LIKE LINE OF it_equz2,
          lv_bukrs    TYPE t001-bukrs,
          r_iwerk     TYPE RANGE OF t_equz2-iwerk,
          wa_iwerk    LIKE LINE OF r_iwerk,
          wa_iloa     LIKE LINE OF it_iloa,
          wa_finaltab LIKE LINE OF it_finaltab,
          lv_check(1) TYPE c VALUE 'Y',
          it_equz_dum TYPE HASHED TABLE OF t_equz_dum
                           WITH UNIQUE KEY hequi,
          wa_anla     LIKE LINE OF it_anla,
          wa_equz_dum LIKE LINE OF it_equz_dum,
          wa_t499s    LIKE LINE OF it_t499s,
          wa_anlc     LIKE LINE OF it_anlc,
          lv_asset    TYPE t_finaltab-asset.
ENDCLASS.

*---------------------------------------------------------------------*
*       CLASS lcl_main IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
CLASS lcl_main IMPLEMENTATION.

*----------------------------------------------*
*  METHOD get_data                             *
*----------------------------------------------*
  METHOD get_data.
*   get records from ILOA
    SELECT iloan tplnr anlnr swerk stort
    FROM iloa
    INTO TABLE it_iloa
    WHERE tplnr IN s_tplnr
      AND stort IN s_stand
      AND anlnr IN s_anln1
      AND owner = space.

    IF it_iloa[] IS INITIAL.
      MESSAGE i008 WITH 'No data found!'.
      LEAVE LIST-PROCESSING.
    ENDIF.

*   get records from T499S based from records in IT_ILOA
    SELECT werks stand ktext
    FROM t499s
    INTO TABLE it_t499s
    FOR ALL ENTRIES IN it_iloa
    WHERE werks = it_iloa-swerk
      AND stand = it_iloa-stort.

*   get records from EQUZ based from records in IT_ILOA
    SELECT equnr hequi iloan iwerk
    FROM equz
    INTO TABLE it_equz
    FOR ALL ENTRIES IN it_iloa
    WHERE iloan = it_iloa-iloan.

*   get records from IFLO based from records in IT_ILOA
    SELECT tplnr pltxt
    FROM iflo
    INTO TABLE it_iflo
    FOR ALL ENTRIES IN it_iloa
    WHERE tplnr = it_iloa-tplnr.

  ENDMETHOD.

*----------------------------------------------*
*  METHOD combine_data                         *
*----------------------------------------------*
  METHOD combine_data.
    DATA: it_equipment TYPE HASHED TABLE OF t_equz
                            WITH UNIQUE KEY equnr,
          it_equz_dum2 TYPE SORTED TABLE OF t_equz
                            WITH NON-UNIQUE KEY equnr.
    FIELD-SYMBOLS: &amp;lt;fs_equz&amp;gt;      LIKE LINE OF it_equz,
                   &amp;lt;fs_equipment&amp;gt; LIKE LINE OF it_equipment.

    SELECT DISTINCT iwerk
    FROM equz
    INTO TABLE it_equz2
    FOR ALL ENTRIES IN it_equz
    WHERE iloan = it_equz-iloan.

    it_equz_dum2[] = it_equz[].
    DELETE ADJACENT DUPLICATES FROM it_equz_dum2.
    it_equipment[] = it_equz_dum2.

    LOOP AT it_equz ASSIGNING &amp;lt;fs_equz&amp;gt;.
*    get functional location and put in it_finaltab
      READ TABLE it_iloa WITH TABLE KEY iloan = &amp;lt;fs_equz&amp;gt;-iloan
                                                INTO wa_iloa.
      IF sy-subrc = 0.
        wa_finaltab-funcloc = wa_iloa-tplnr.
      ENDIF.

*     if value is present in s_anln1, continue.
      IF s_anln1[] IS INITIAL.

*-----FOR RECORDS IN IT_EQUZ WITH A VALUE IN HEQUI-----*
        IF NOT &amp;lt;fs_equz&amp;gt;-hequi IS INITIAL.
          v_flag = 1.

*         check whether current hequi has already been processed
          READ TABLE it_equz_dum WITH TABLE KEY hequi = &amp;lt;fs_equz&amp;gt;-hequi
                                                       INTO wa_equz_dum.
*         if not found, continue processing
          IF sy-subrc &amp;lt;&amp;gt; 0.
            wa_equz_dum = &amp;lt;fs_equz&amp;gt;-hequi.
            INSERT wa_equz_dum INTO TABLE it_equz_dum.
            CALL METHOD me-&amp;gt;get_asset
                             EXPORTING equip_num = &amp;lt;fs_equz&amp;gt;-hequi
                             IMPORTING check     = lv_check.

            IF lv_check &amp;lt;&amp;gt; 'N'.
              wa_finaltab-asset_dum   = iloa-anlnr.
              wa_finaltab-asset       = iloa-anlnr.
              wa_finaltab-description = eqkt-eqktx.
              READ TABLE it_equipment WITH TABLE KEY
                                      equnr = &amp;lt;fs_equz&amp;gt;-hequi
                                      ASSIGNING &amp;lt;fs_equipment&amp;gt;.
              IF sy-subrc = 0.
                wa_finaltab-equip_num = &amp;lt;fs_equipment&amp;gt;-equnr.
              ENDIF.
*             check whether current asset exists in ANLA
              IF NOT s_class IS INITIAL.
                SELECT SINGLE bukrs anln1 anln2 anlkl ord42
                  FROM anla
                  INTO (wa_anla-bukrs, wa_anla-anln1,
                        wa_anla-anln2, wa_anla-anlkl,
                        wa_anla-ord42)
                 WHERE bukrs IN r_iwerk
                   AND anln1 = wa_finaltab-asset
                   AND anlkl IN s_class
                   AND deakt = '00000000'.
              ELSE.
                SELECT SINGLE bukrs anln1 anln2 anlkl ord42
                   FROM anla
                   INTO (wa_anla-bukrs, wa_anla-anln1,
                         wa_anla-anln2, wa_anla-anlkl,
                         wa_anla-ord42)
                  WHERE bukrs IN r_iwerk
                    AND anln1 = wa_finaltab-asset
                    AND deakt = '00000000'.
              ENDIF.

*             if found, continue. Else, delete record and
*             process next record
              IF sy-subrc = 0.
                wa_finaltab-asset_sub   = wa_anla-ord42.
                wa_finaltab-company     = wa_anla-bukrs.
                wa_finaltab-asset_class = wa_anla-anlkl.
                WRITE wa_anla-anln1 TO lv_asset.
                CONCATENATE: lv_asset '-' wa_anla-anln2
                             INTO wa_finaltab-asset_subnum.
                CLEAR lv_asset.
              ELSE.
                DELETE it_equz WHERE equnr = &amp;lt;fs_equz&amp;gt;-equnr.
                CLEAR: v_flag, wa_finaltab.
                CONTINUE.
              ENDIF.

              READ TABLE it_t499s WITH TABLE KEY werks = wa_iloa-swerk
                                                 stand = wa_iloa-stort
                                                 INTO wa_t499s.
              IF sy-subrc = 0.
                wa_finaltab-location = wa_t499s-ktext.
              ENDIF.

*             get records from ANLC based from current asset
              CALL METHOD me-&amp;gt;get_anlc
                             EXPORTING
                              anln1 = wa_anla-anln1
                              anln2 = wa_anla-anln2
                             IMPORTING
                              accq_cost   = wa_finaltab-accq_cost
                              acc_dep     = wa_finaltab-acc_dep
                              netbook_val = wa_finaltab-asset_book_val.
            ELSE.
              lv_check = 'Y'.
            ENDIF.
            APPEND wa_finaltab TO it_finaltab.
            CLEAR: wa_finaltab, wa_anla, wa_anlc, wa_iloa,
                   iloa-anlnr, eqkt-eqktx.
          ENDIF.
        ENDIF.
      ENDIF.

*-----FOR RECORDS IN IT_EQUZ WITHOUT A VALUE IN HEQUI-----*
      READ TABLE it_equz_dum WITH TABLE KEY hequi = &amp;lt;fs_equz&amp;gt;-equnr
                                                    INTO wa_equz_dum.
      IF sy-subrc &amp;lt;&amp;gt; 0.
        wa_equz_dum = &amp;lt;fs_equz&amp;gt;-equnr.
        INSERT wa_equz_dum INTO TABLE it_equz_dum.

        CALL METHOD me-&amp;gt;get_asset
                         EXPORTING equip_num = &amp;lt;fs_equz&amp;gt;-equnr
                         IMPORTING check     = lv_check.

        IF lv_check &amp;lt;&amp;gt; 'N'.
          wa_finaltab-asset       = iloa-anlnr.
          wa_finaltab-description = eqkt-eqktx.
          READ TABLE it_equipment WITH TABLE KEY
                                  equnr = &amp;lt;fs_equz&amp;gt;-equnr
                                  ASSIGNING &amp;lt;fs_equipment&amp;gt;.

          IF sy-subrc = 0.
            wa_finaltab-equip_num = &amp;lt;fs_equipment&amp;gt;-equnr.
          ENDIF.
*         check whether current asset exists in ANLA
          IF NOT s_class IS INITIAL.
            SELECT SINGLE bukrs anln1 anln2 anlkl ord42
              FROM anla
              INTO (wa_anla-bukrs, wa_anla-anln1,
                    wa_anla-anln2, wa_anla-anlkl,
                    wa_anla-ord42)
             WHERE bukrs IN r_iwerk
               AND anln1 = wa_finaltab-asset
               AND anlkl IN s_class
               AND deakt = '00000000'.
          ELSE.
            SELECT SINGLE bukrs anln1 anln2 anlkl ord42
              FROM anla
              INTO (wa_anla-bukrs, wa_anla-anln1,
                    wa_anla-anln2, wa_anla-anlkl,
                    wa_anla-ord42)
             WHERE bukrs IN r_iwerk
               AND anln1 = wa_finaltab-asset
               AND deakt = '00000000'.
          ENDIF.

*      if found, continue. Else, delete record and get next
          IF sy-subrc = 0.
            wa_finaltab-asset_sub   = wa_anla-ord42.
            wa_finaltab-company     = wa_anla-bukrs.
            wa_finaltab-asset_class = wa_anla-anlkl.
            WRITE wa_anla-anln1 TO lv_asset.
            CONCATENATE: lv_asset '-' wa_anla-anln2
                         INTO wa_finaltab-asset_subnum.
            CLEAR lv_asset.
          ELSE.
            DELETE it_equz WHERE equnr = &amp;lt;fs_equz&amp;gt;-equnr.
            CLEAR: v_flag, wa_finaltab.
            CONTINUE.
          ENDIF.

          IF NOT &amp;lt;fs_equz&amp;gt;-hequi IS INITIAL
             AND v_flag &amp;lt;&amp;gt; 1.
            CALL METHOD me-&amp;gt;get_asset
                             EXPORTING equip_num = &amp;lt;fs_equz&amp;gt;-hequi
                             IMPORTING check     = lv_check.

            IF lv_check &amp;lt;&amp;gt; 'N'.
              wa_finaltab-parent    = iloa-anlnr.
              wa_finaltab-asset_dum = iloa-anlnr.

              SELECT SINGLE anln2 ord42
                FROM anla
                INTO (wa_anla-anln2, wa_anla-ord42)
               WHERE bukrs IN r_iwerk
                 AND anln1 = wa_finaltab-parent
                 AND deakt = '00000000'.

*           if found, continue. Else, delete record and get next
              IF sy-subrc = 0.
                WRITE wa_finaltab-parent TO lv_asset.
                CONCATENATE: lv_asset '-' wa_anla-anln2
                             INTO wa_finaltab-parent_subnum.
                CLEAR lv_asset.
              ELSE.
                DELETE it_equz WHERE equnr = &amp;lt;fs_equz&amp;gt;-hequi.
                CLEAR wa_finaltab.
                CONTINUE.
              ENDIF.
            ELSE.
              lv_check = 'Y'.
            ENDIF.
          ENDIF.

*         Parent equipment of child
          IF v_flag = 1.
            CLEAR v_flag.
            CALL METHOD me-&amp;gt;get_asset
                             EXPORTING equip_num = &amp;lt;fs_equz&amp;gt;-hequi
                             IMPORTING check     = lv_check.

            IF lv_check &amp;lt;&amp;gt; 'N'.
              wa_finaltab-parent    = iloa-anlnr.
              wa_finaltab-asset_dum = iloa-anlnr.

              SELECT SINGLE anln2 ord42
                FROM anla
                INTO (wa_anla-anln2, wa_anla-ord42)
               WHERE bukrs IN r_iwerk
                 AND anln1 = wa_finaltab-parent
                 AND deakt = '00000000'.

              IF sy-subrc = 0.
                WRITE wa_finaltab-parent TO lv_asset.
                CONCATENATE: lv_asset '-' wa_anla-anln2
                             INTO wa_finaltab-parent_subnum.
                CLEAR lv_asset.
              ENDIF.
            ENDIF.
          ENDIF.

          READ TABLE it_iloa WITH TABLE KEY iloan = &amp;lt;fs_equz&amp;gt;-iloan
                                                    INTO wa_iloa.
          IF sy-subrc = 0.
            wa_finaltab-funcloc = wa_iloa-tplnr.
            READ TABLE it_t499s WITH TABLE KEY werks = wa_iloa-swerk
                                               stand = wa_iloa-stort
                                               INTO wa_t499s.
            IF sy-subrc = 0.
              wa_finaltab-location = wa_t499s-ktext.
            ENDIF.
          ENDIF.

*         get records from ANLC based from current asset
          CALL METHOD me-&amp;gt;get_anlc
                          EXPORTING
                           anln1 = wa_anla-anln1
                           anln2 = wa_anla-anln2
                          IMPORTING
                           accq_cost    = wa_finaltab-accq_cost
                           acc_dep      = wa_finaltab-acc_dep
                           netbook_val  = wa_finaltab-asset_book_val.
        ELSE.
          lv_check = 'Y'.
        ENDIF.
        APPEND wa_finaltab TO it_finaltab.
        CLEAR: wa_finaltab, wa_anla, wa_anlc, wa_iloa,
               iloa-anlnr, eqkt-eqktx.
      ENDIF.
    ENDLOOP.

    IF it_finaltab[] IS INITIAL.
      RAISE EVENT no_data EXPORTING class   = s_class-low.
    ENDIF.
  ENDMETHOD.

*----------------------------------------------*
*  METHOD get_asset                            *
*----------------------------------------------*
  METHOD get_asset.
    SELECT iloan datbi FROM equz
     UP TO 1 ROWS
     INTO (equz-iloan, equz-datbi)
     WHERE equnr = equip_num
     ORDER BY datbi DESCENDING.
    ENDSELECT.

    IF sy-subrc = 0.
      SELECT SINGLE anlnr FROM iloa
      INTO iloa-anlnr
      WHERE iloan = equz-iloan
        AND owner = space.
      IF sy-subrc = 0.
        check = 'Y'.
        SELECT SINGLE eqktx FROM eqkt
        INTO eqkt-eqktx
        WHERE equnr = equip_num.
      ELSE.
        check = 'N'.
      ENDIF.
    ENDIF.

  ENDMETHOD.

*----------------------------------------------*
*  METHOD get_anlc                             *
*----------------------------------------------*
  METHOD get_anlc.

    LOOP AT it_equz2 INTO wa_equz2.
      CALL FUNCTION 'HRCA_PLANT_GET_COMPANYCODE'
           EXPORTING
                plant                 = wa_equz2-iwerk
           IMPORTING
                companycode           = lv_bukrs
           EXCEPTIONS
                no_company_code_found = 1
                plant_not_found       = 2
                OTHERS                = 3.

      IF sy-subrc &amp;lt;&amp;gt; 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.

      wa_iwerk-sign   = 'I'.
      wa_iwerk-option = 'EQ'.
      wa_iwerk-low    = lv_bukrs.
      APPEND wa_iwerk TO r_iwerk.
      CLEAR wa_iwerk.
    ENDLOOP.

    SELECT  gjahr kansw knafa kaafa answl nafav
            nafag nafal aafav aafag nafap aafap
      FROM  anlc UP TO 1 ROWS
      INTO  (wa_anlc-gjahr, wa_anlc-kansw, wa_anlc-knafa,
            wa_anlc-kaafa, wa_anlc-answl, wa_anlc-nafav,
            wa_anlc-nafag, wa_anlc-nafal, wa_anlc-aafav,
            wa_anlc-aafag, wa_anlc-nafap, wa_anlc-aafap)
      WHERE anln1 = anln1
        AND anln2 = anln2
        AND bukrs IN r_iwerk
        AND afabe = '01'
      ORDER BY gjahr DESCENDING.
    ENDSELECT.

    accq_cost = wa_anlc-kansw + wa_anlc-answl.

    IF p_posdep = 'X'.
      acc_dep = wa_anlc-knafa +
                wa_anlc-nafav +
                wa_anlc-nafag +
                wa_anlc-kaafa +
                wa_anlc-aafav +
                wa_anlc-aafag +
                wa_anlc-nafal.
    ELSE.
      acc_dep = wa_anlc-knafa +
                wa_anlc-nafav +
                wa_anlc-kaafa +
                wa_anlc-aafav +
                wa_anlc-nafap +
                wa_anlc-aafap +
                wa_anlc-nafal.
    ENDIF.

    netbook_val = wa_finaltab-accq_cost +
                  wa_finaltab-acc_dep.
  ENDMETHOD.

*----------------------------------------------*
*  METHOD top_of_page                          *
*----------------------------------------------*
  METHOD top_of_page.
    DATA: lv_title_len TYPE i VALUE 113.
    IF NOT p_equip = 'X'.
      lv_title_len = 127.
    ELSE.
      lv_title_len = 117.
    ENDIF.
    WRITE: AT /2  'Fixed Assets Accounting',
           AT lv_title_len 'Cost of Primary and Subordinate Equipment',
           AT /2  'Report Date:', sy-datum MM/DD/YYYY,
           AT /2  'Time of Printing:', sy-uzeit
                  USING EDIT MASK '__:__:__'.
    IF p_posdep = 'X'.
      WRITE: AT /2 'Posted Depreciation'.
    ELSE.
      WRITE: AT /2 'Planned Depreciation'.
    ENDIF.
  ENDMETHOD.

*----------------------------------------------*
*  METHOD header                               *
*----------------------------------------------*
  METHOD header.
    FORMAT COLOR COL_HEADING.
    WRITE:  /     sy-uline(uline_len),
            /     sy-vline,
            (17) 'Asset'               CENTERED,
            (17) 'Parent'              CENTERED,
            (30) 'Functional Location' CENTERED,
            (08) 'Class'               LEFT-JUSTIFIED,
            (40) 'Description'         CENTERED.
    IF p_equip = 'X'.
      WRITE: (18) 'Equipment No.'      CENTERED.
    ENDIF.
    WRITE:  (15) 'Asset Sub-class'     CENTERED,
            (40) 'Location'            CENTERED,
            (15) 'Cost'                CENTERED.
    IF p_posdep = 'X'.
      WRITE: (20) 'Acc. Depreciation'  CENTERED.
    ELSE.
      WRITE: (20) 'Planned'            CENTERED.
    ENDIF.
    WRITE: (20) 'Net Book Value'       CENTERED,
                 sy-vline,
                 sy-uline(uline_len)   NO-GAP.
    FORMAT COLOR OFF.
  ENDMETHOD.

*----------------------------------------------*
*  METHOD show_data                            *
*----------------------------------------------*
  METHOD show_data.
    DELETE it_finaltab WHERE asset IS initial.
    SORT it_finaltab BY funcloc asset_dum DESCENDING
                        asset DESCENDING.
*  local variables
    DATA: lv_color TYPE i VALUE 1,
          lv_subtot(1)   TYPE c,
          lv_total(1)    TYPE c,
          lv_gtotal(1)   TYPE c,
          lv_flag(1)     TYPE c,
          lv_lines       TYPE i,
          lv_grand(1)    TYPE c,
          lv_check_func(1) TYPE c VALUE '1',
          sub_accq_cost  TYPE anlc-kansw,
          sub_acc_dep    TYPE anlc-kansw,
          tot_accq_cost  TYPE anlc-kansw,
          tot_acc_dep    TYPE anlc-kansw,
          gtot_accq_cost TYPE anlc-kansw,
          gtot_acc_dep   TYPE anlc-kansw,
          subtot         TYPE anlc-kansw,
          total          TYPE anlc-kansw,
          gtotal         TYPE anlc-kansw,
          lv_grand_cost(15)   TYPE p DECIMALS 2,
          lv_grand_accdep(15) TYPE p DECIMALS 2,
          lv_grand_net(15)    TYPE p DECIMALS 2,
          lv_old         TYPE iloa-tplnr,
          lv_new         TYPE iloa-tplnr,
          wa_final       LIKE LINE OF it_finaltab,
          wa_output2     LIKE LINE OF it_output.

*   dummy table
    DATA: it_finaltab_dum TYPE STANDARD TABLE OF t_finaltab.

    FIELD-SYMBOLS: &amp;lt;fs_finaltab&amp;gt; LIKE LINE OF it_finaltab,
                   &amp;lt;wa_finaltab&amp;gt; LIKE LINE OF it_finaltab,
                   &amp;lt;fs_finaltab_dum&amp;gt; LIKE LINE OF
                                     it_finaltab_dum,
                   &amp;lt;fs_final&amp;gt;    LIKE LINE OF it_finaltab.

    it_finaltab_dum[] = it_finaltab[].

*/  move records by master data first, parent then child :)
    LOOP AT it_finaltab ASSIGNING &amp;lt;fs_finaltab&amp;gt;.
*/    master/top record
      IF &amp;lt;fs_finaltab&amp;gt;-asset_dum IS INITIAL AND
         &amp;lt;fs_finaltab&amp;gt;-parent    IS INITIAL.
        CLEAR wa_output.
        READ TABLE it_output  WITH KEY funcloc = &amp;lt;fs_finaltab&amp;gt;-funcloc
                                     asset     = &amp;lt;fs_finaltab&amp;gt;-asset
                                     INTO wa_output.
        IF sy-subrc &amp;lt;&amp;gt; 0.
          MOVE-CORRESPONDING &amp;lt;fs_finaltab&amp;gt; TO wa_output.
          APPEND wa_output TO it_output.
          DELETE it_finaltab.
*         check if there any dependent assets on the master data
          LOOP AT it_finaltab ASSIGNING &amp;lt;wa_finaltab&amp;gt;.
            READ TABLE it_finaltab_dum WITH KEY
                               funcloc   = wa_output-funcloc
                               asset_dum = wa_output-asset
                               parent    = wa_output-asset
                               ASSIGNING &amp;lt;fs_finaltab_dum&amp;gt;.

            IF sy-subrc = 0.
              READ TABLE it_output WITH KEY
                                funcloc   = &amp;lt;fs_finaltab_dum&amp;gt;-funcloc
                                asset_dum = &amp;lt;fs_finaltab_dum&amp;gt;-asset_dum
                                asset     = &amp;lt;fs_finaltab_dum&amp;gt;-asset
                                parent    = &amp;lt;fs_finaltab_dum&amp;gt;-parent
                                INTO wa_output.
              IF sy-subrc &amp;lt;&amp;gt; 0.
                APPEND &amp;lt;fs_finaltab_dum&amp;gt; TO it_output.
                DELETE it_finaltab WHERE
                                funcloc    = &amp;lt;fs_finaltab_dum&amp;gt;-funcloc
                            AND asset_dum  = &amp;lt;fs_finaltab_dum&amp;gt;-asset_dum
                            AND asset      = &amp;lt;fs_finaltab_dum&amp;gt;-asset
                            AND parent     = &amp;lt;fs_finaltab_dum&amp;gt;-parent.
              ENDIF.
*             check if there are any dependent child assets
              LOOP AT it_finaltab ASSIGNING &amp;lt;fs_final&amp;gt;.
                IF &amp;lt;fs_final&amp;gt;-funcloc = &amp;lt;fs_finaltab_dum&amp;gt;-funcloc
                AND &amp;lt;fs_final&amp;gt;-parent = &amp;lt;fs_finaltab_dum&amp;gt;-asset.
                  READ TABLE it_output WITH KEY
                                    funcloc   = &amp;lt;fs_final&amp;gt;-funcloc
                                    asset_dum = &amp;lt;fs_final&amp;gt;-asset_dum
                                    asset     = &amp;lt;fs_final&amp;gt;-asset
                                    parent    = &amp;lt;fs_final&amp;gt;-parent
                                    INTO wa_output.
                  IF sy-subrc &amp;lt;&amp;gt; 0.
                    APPEND &amp;lt;fs_final&amp;gt; TO it_output.
                    DELETE it_finaltab.
                  ENDIF.
                ENDIF.
              ENDLOOP.
            ELSE.
              CONTINUE.
            ENDIF.
          ENDLOOP.
        ELSE.
          CONTINUE.
        ENDIF.
*/    parent
      ELSEIF NOT &amp;lt;fs_finaltab&amp;gt;-asset_dum IS INITIAL
             AND &amp;lt;fs_finaltab&amp;gt;-parent    IS INITIAL.
        READ TABLE it_output  WITH KEY funcloc = &amp;lt;fs_finaltab&amp;gt;-funcloc
                                     asset_dum = &amp;lt;fs_finaltab&amp;gt;-asset_dum
                                     asset     = &amp;lt;fs_finaltab&amp;gt;-asset
                                     parent    = &amp;lt;fs_finaltab&amp;gt;-parent
                                     INTO wa_output.
        IF sy-subrc &amp;lt;&amp;gt; 0.
          MOVE-CORRESPONDING &amp;lt;fs_finaltab&amp;gt; TO wa_output.
          APPEND wa_output TO it_output.
          CLEAR wa_output.
*         get child assets of given parent asset
          LOOP AT it_finaltab ASSIGNING &amp;lt;wa_finaltab&amp;gt;.
            IF &amp;lt;wa_finaltab&amp;gt;-funcloc = &amp;lt;fs_finaltab&amp;gt;-funcloc AND
               &amp;lt;wa_finaltab&amp;gt;-parent  = &amp;lt;fs_finaltab&amp;gt;-asset.
              READ TABLE it_output WITH KEY
                                   funcloc   = &amp;lt;wa_finaltab&amp;gt;-funcloc
                                   asset_dum = &amp;lt;wa_finaltab&amp;gt;-asset_dum
                                   asset     = &amp;lt;wa_finaltab&amp;gt;-asset
                                   parent    = &amp;lt;wa_finaltab&amp;gt;-parent
                                   INTO wa_output.
              IF sy-subrc &amp;lt;&amp;gt; 0.
                MOVE-CORRESPONDING &amp;lt;wa_finaltab&amp;gt; TO wa_output.
                APPEND wa_output TO it_output.
                DELETE it_finaltab.
              ENDIF.
*             check if there are stil dependencies on current asset
              LOOP AT it_finaltab ASSIGNING &amp;lt;fs_final&amp;gt;.
                IF  &amp;lt;fs_final&amp;gt;-funcloc = wa_output-funcloc
                AND &amp;lt;fs_final&amp;gt;-parent  = wa_output-asset.
                  READ TABLE it_output WITH KEY
                                       funcloc   = &amp;lt;fs_final&amp;gt;-funcloc
                                       asset_dum = &amp;lt;fs_final&amp;gt;-asset_dum
                                       asset     = &amp;lt;fs_final&amp;gt;-asset
                                       parent    = &amp;lt;fs_final&amp;gt;-parent
                                       INTO wa_output2.
                  IF sy-subrc &amp;lt;&amp;gt; 0.
                    CLEAR wa_output.
                    MOVE-CORRESPONDING &amp;lt;fs_final&amp;gt; TO wa_output.
                    APPEND wa_output TO it_output.
                    CLEAR wa_output.
                    DELETE it_finaltab.
                  ENDIF.
                ENDIF.
              ENDLOOP.
            ELSE.
              CONTINUE.
            ENDIF.
          ENDLOOP.
          CLEAR wa_output.
        ELSE.
          CONTINUE.
        ENDIF.
*/    child
      ELSEIF NOT &amp;lt;fs_finaltab&amp;gt;-asset_dum IS INITIAL
         AND NOT &amp;lt;fs_finaltab&amp;gt;-parent    IS INITIAL.
        CLEAR wa_output.
        READ TABLE it_output WITH KEY funcloc = &amp;lt;fs_finaltab&amp;gt;-funcloc
                                     asset_dum = &amp;lt;fs_finaltab&amp;gt;-asset_dum
                                     asset     = &amp;lt;fs_finaltab&amp;gt;-asset
                                     parent    = &amp;lt;fs_finaltab&amp;gt;-parent
                                     INTO wa_output.
        IF sy-subrc &amp;lt;&amp;gt; 0.
          MOVE-CORRESPONDING &amp;lt;fs_finaltab&amp;gt; TO wa_output.
          IF &amp;lt;fs_finaltab_dum&amp;gt; IS ASSIGNED.
            UNASSIGN &amp;lt;fs_finaltab_dum&amp;gt;.
          ENDIF.
*         get parent of current child asset
*         &amp;lt;fs_finaltab_dum&amp;gt; will store the parent asset
          READ TABLE it_finaltab_dum WITH KEY
                                     funcloc = wa_output-funcloc
                                     asset   = wa_output-parent
                                     ASSIGNING &amp;lt;fs_finaltab_dum&amp;gt;.

          IF &amp;lt;wa_finaltab&amp;gt; IS ASSIGNED.
            UNASSIGN &amp;lt;wa_finaltab&amp;gt;.
          ENDIF.
          IF sy-subrc = 0.
*          check again if current parent asset has a master data
*          if found, store in &amp;lt;wa_finaltab&amp;gt;
            READ TABLE it_finaltab_dum WITH KEY
                               funcloc = &amp;lt;fs_finaltab_dum&amp;gt;-funcloc
                               asset   = &amp;lt;fs_finaltab_dum&amp;gt;-asset_dum
                               asset   = &amp;lt;fs_finaltab_dum&amp;gt;-parent
                               ASSIGNING &amp;lt;wa_finaltab&amp;gt;.
          ENDIF.
*         move master/top data
          IF &amp;lt;wa_finaltab&amp;gt; IS ASSIGNED AND NOT &amp;lt;wa_finaltab&amp;gt; IS INITIAL.
            READ TABLE it_output WITH KEY
                               funcloc   = &amp;lt;wa_finaltab&amp;gt;-funcloc
                               asset     = &amp;lt;wa_finaltab&amp;gt;-asset
                               INTO wa_output.
            IF sy-subrc &amp;lt;&amp;gt; 0.
              CLEAR wa_output.
              MOVE-CORRESPONDING &amp;lt;wa_finaltab&amp;gt; TO wa_output.
              IF wa_output-asset_dum IS INITIAL.
                wa_output-asset_dum = wa_output-asset.
              ENDIF.
              APPEND wa_output TO it_output.
              DELETE it_finaltab WHERE funcloc = wa_output-funcloc
                                   AND asset   = wa_output-asset.
              IF &amp;lt;wa_finaltab&amp;gt; IS ASSIGNED.
                UNASSIGN &amp;lt;wa_finaltab&amp;gt;.
              ENDIF.
*             move dependent assets of master data
              LOOP AT it_finaltab ASSIGNING &amp;lt;wa_finaltab&amp;gt;.
                IF &amp;lt;wa_finaltab&amp;gt;-funcloc   = wa_output-funcloc AND
                   &amp;lt;wa_finaltab&amp;gt;-asset_dum = wa_output-asset   AND
                   &amp;lt;wa_finaltab&amp;gt;-parent    = wa_output-asset.
                  CLEAR wa_output2.
                  READ TABLE it_output WITH KEY
                                funcloc   = &amp;lt;wa_finaltab&amp;gt;-funcloc
                                asset_dum = &amp;lt;wa_finaltab&amp;gt;-asset_dum
                                asset     = &amp;lt;wa_finaltab&amp;gt;-asset
                                parent    = &amp;lt;wa_finaltab&amp;gt;-parent
                                INTO wa_output2.

                  IF sy-subrc &amp;lt;&amp;gt; 0.
                    MOVE-CORRESPONDING &amp;lt;wa_finaltab&amp;gt; TO wa_output2.
                    APPEND wa_output2 TO it_output.
                  ENDIF.
                ENDIF.
              ENDLOOP.
            ENDIF.
          ENDIF.
*         move parent asset
          IF &amp;lt;fs_finaltab_dum&amp;gt; IS ASSIGNED AND
             NOT &amp;lt;fs_finaltab_dum&amp;gt; IS INITIAL.
            READ TABLE it_output WITH KEY
                             funcloc   = &amp;lt;fs_finaltab_dum&amp;gt;-funcloc
                             asset     = &amp;lt;fs_finaltab_dum&amp;gt;-asset
                             INTO wa_output.
            IF sy-subrc &amp;lt;&amp;gt; 0.
              CLEAR wa_output.
              MOVE-CORRESPONDING &amp;lt;fs_finaltab_dum&amp;gt; TO wa_output.
              IF wa_output-asset_dum IS INITIAL.
                wa_output-asset_dum = wa_output-asset.
              ENDIF.
              APPEND wa_output TO it_output.
            ENDIF.
*           move child assets of the given parent asset
            LOOP AT it_finaltab INTO wa_final.
              IF wa_final-funcloc = &amp;lt;fs_finaltab_dum&amp;gt;-funcloc AND
                 wa_final-parent  = &amp;lt;fs_finaltab_dum&amp;gt;-asset.
                READ TABLE it_output WITH KEY
                              funcloc = wa_final-funcloc
                              asset   = wa_final-asset
                              INTO wa_output.
                IF sy-subrc &amp;lt;&amp;gt; 0.
                  CLEAR wa_output2.
                  MOVE-CORRESPONDING wa_final TO wa_output2.
                  APPEND wa_output2 TO it_output.
                ENDIF.
              ELSE.
                CONTINUE.
              ENDIF.
            ENDLOOP.
          ENDIF.
        ELSE.
          CONTINUE.
        ENDIF.
      ENDIF.
    ENDLOOP.

*   check number of records in itab
    DESCRIBE TABLE it_output LINES lv_lines.
    IF lv_lines &amp;gt; 1.
      lv_flag = 1.
    ENDIF.

*   predefined length for display depending
*   if the user wants to show equipment number
    DATA: lv_uline_len TYPE i VALUE 235,
          lv_cost_len  TYPE i VALUE 177,
          lv_dep_len   TYPE i VALUE 193,
          lv_net_len   TYPE i VALUE 214.

    IF p_equip = 'X'.
      ADD 19 TO: lv_uline_len, lv_cost_len,
                 lv_dep_len, lv_net_len.
    ENDIF.

*   write results
    LOOP AT it_output INTO wa_output.
      HIDE wa_output-company.
      IF sy-tabix = 1.
        CALL METHOD me-&amp;gt;header EXPORTING uline_len = lv_uline_len..
      ENDIF.

      AT END OF asset_dum.
        lv_subtot = 1.
      ENDAT.

      AT END OF funcloc.
        lv_total = 1.
        lv_gtotal = 1.
      ENDAT.

      AT LAST.
        lv_grand = 1.
      ENDAT.

      lv_new = wa_output-funcloc.
      IF NOT lv_old IS INITIAL.
        IF lv_new &amp;lt;&amp;gt; lv_old.
          CLEAR lv_check_func.
          SKIP 2.
          CALL METHOD me-&amp;gt;header EXPORTING uline_len = lv_uline_len.
        ENDIF.
      ENDIF.
      lv_old = lv_new.

      IF lv_color = 1.
        lv_color = 2.
      ELSE.
        lv_color = 1.
      ENDIF.

      FORMAT INTENSIFIED OFF COLOR = lv_color.
      WRITE:  /    sy-vline.
      FORMAT HOTSPOT ON.
      IF wa_output-parent IS INITIAL.
        WRITE: (17) wa_output-asset_subnum    CENTERED.
        HIDE wa_output-asset_subnum.
      ELSE.
        WRITE: (17) wa_output-asset_subnum    RIGHT-JUSTIFIED.
        HIDE wa_output-asset_subnum.
      ENDIF.
      FORMAT HOTSPOT OFF.
      WRITE: (17) wa_output-parent_subnum     CENTERED,
             (30) wa_output-funcloc           CENTERED,
             (08) wa_output-asset_class       CENTERED,
             (40) wa_output-description       CENTERED.
      IF p_equip = 'X'.
        FORMAT HOTSPOT ON.
        WRITE: (18) wa_output-equip_num       CENTERED.
        HIDE wa_output-equip_num.
        FORMAT HOTSPOT OFF.
      ENDIF.
      WRITE: (15) wa_output-asset_sub         CENTERED,
             (40) wa_output-location          CENTERED,
             (15) wa_output-accq_cost         CENTERED,
             (20) wa_output-acc_dep           CENTERED,
             (20) wa_output-asset_book_val    CENTERED,
             sy-vline.

      ADD: wa_output-accq_cost TO sub_accq_cost,
           wa_output-acc_dep   TO sub_acc_dep,

           wa_output-accq_cost TO tot_accq_cost,
           wa_output-acc_dep   TO tot_acc_dep,

           wa_output-accq_cost TO gtot_accq_cost,
           wa_output-acc_dep   TO gtot_acc_dep,

           wa_output-asset_book_val TO subtot,
           wa_output-asset_book_val TO total,
           wa_output-asset_book_val TO gtotal,

           wa_output-accq_cost      TO lv_grand_cost,
           wa_output-acc_dep        TO lv_grand_accdep,
           wa_output-asset_book_val TO lv_grand_net.

*     write subtotal
**     if there is only one record in itab, subtotal would
**     not be displayed
      IF lv_total &amp;lt;&amp;gt; 1.
        IF lv_subtot = 1 AND lv_flag = 1.
          CLEAR lv_subtot.
          FORMAT COLOR COL_TOTAL.
          WRITE: / sy-vline,
                 'Sub-total:',
                 AT lv_cost_len(15) sub_accq_cost CENTERED,
                 AT lv_dep_len(20)  sub_acc_dep   CENTERED,
                 AT lv_net_len(20)  subtot        CENTERED,
                 sy-vline.
          CLEAR: sub_accq_cost, sub_acc_dep,  subtot.
          FORMAT COLOR OFF.
        ENDIF.
      ENDIF.

*     write total for a given parent and child or master data
      IF lv_total = 1.
        CLEAR lv_total.
        FORMAT COLOR COL_TOTAL.
        WRITE: / sy-vline,
               'Total:',
               AT lv_cost_len(15) tot_accq_cost CENTERED,
               AT lv_dep_len(20)  tot_acc_dep   CENTERED,
               AT lv_net_len(20)  total         CENTERED,
               sy-vline.
        CLEAR: tot_accq_cost, tot_acc_dep, total,
               sub_accq_cost, sub_acc_dep,  subtot.
        FORMAT COLOR OFF.
      ENDIF.

*     write total for a given functional location
      IF lv_gtotal = 1.
        CLEAR lv_gtotal.
        FORMAT COLOR COL_TOTAL INTENSIFIED ON.
        WRITE: / sy-uline(lv_uline_len),
               / sy-vline,
               'Total:',    wa_output-funcloc,
                AT lv_cost_len(15) gtot_accq_cost CENTERED,
                AT lv_dep_len(20)  gtot_acc_dep   CENTERED,
                AT lv_net_len(20)  gtotal         CENTERED,
                 sy-vline,
                 sy-uline(lv_uline_len).
        CLEAR: gtot_accq_cost, gtot_acc_dep, gtotal,
               tot_accq_cost, tot_acc_dep, total,
               sub_accq_cost, sub_acc_dep,  subtot.
        FORMAT COLOR OFF.
      ENDIF.

*     Write grand total for all the records
      IF lv_check_func &amp;lt;&amp;gt; 1.
        IF lv_grand = 1.
          CLEAR lv_grand.
          SKIP 1.
          FORMAT COLOR = 4.
          WRITE: / sy-uline(lv_uline_len),
                  sy-vline,
                 'Grand Total:',
                  AT lv_cost_len(15) lv_grand_cost   CENTERED,
                  AT lv_dep_len(20)  lv_grand_accdep CENTERED,
                  AT lv_net_len(20)  lv_grand_net    CENTERED,
                  sy-vline,
                  sy-uline(lv_uline_len).
          CLEAR: lv_grand_cost, lv_grand_accdep, lv_grand_net.
          FORMAT COLOR OFF.
        ENDIF.
      ENDIF.
    ENDLOOP.
    WRITE: / '*Indented assets are child assets'.
  ENDMETHOD.
ENDCLASS.

*---------------------------------------------------------------------*
*       CLASS lcl_handler DEFINITION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
CLASS lcl_handler DEFINITION.
  PUBLIC SECTION.
    METHODS handle_event FOR EVENT no_data OF lcl_main
                             IMPORTING class.
ENDCLASS.

*---------------------------------------------------------------------*
*       CLASS lcl_handler IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
CLASS lcl_handler IMPLEMENTATION.
  METHOD handle_event.
MESSAGE i050 WITH 'Asset class' class 'was not found in given location'
          .
    LEAVE LIST-PROCESSING.
  ENDMETHOD.
ENDCLASS.

*----------------------------------------------*
* Top of page                                  *
*----------------------------------------------*
TOP-OF-PAGE.
  DATA: top TYPE REF TO lcl_main.
  CREATE OBJECT top.
  CALL METHOD top-&amp;gt;top_of_page.

*----------------------------------------------*
* Start of selection                           *
*----------------------------------------------*
START-OF-SELECTION.
  DATA: main    TYPE REF TO lcl_main,
        handler TYPE REF TO lcl_handler.

  CREATE OBJECT: main, handler.

  SET HANDLER handler-&amp;gt;handle_event FOR ALL INSTANCES.
  CALL METHOD main-&amp;gt;get_data.
  CALL METHOD main-&amp;gt;combine_data.
  CALL METHOD main-&amp;gt;show_data.

*----------------------------------------------*
* At line selection                            *
*----------------------------------------------*
AT LINE-SELECTION.
  DATA: lv_fnam(50)  TYPE c,
        lv_fval(50)  TYPE c,
        lv_asset_dum(12)   TYPE n,
        lv_assetsub_dum(4) TYPE n.

  GET CURSOR FIELD lv_fnam VALUE lv_fval.
  IF sy-subrc = 0.
    CASE lv_fnam.
      WHEN 'WA_OUTPUT-ASSET_SUBNUM'.
        SPLIT lv_fval AT '-' INTO lv_asset_dum lv_assetsub_dum.
        CONDENSE: lv_asset_dum, lv_assetsub_dum.
        SET PARAMETER ID 'BUK' FIELD wa_output-company.
        SET PARAMETER ID 'AN1' FIELD lv_asset_dum.
        SET PARAMETER ID 'AN2' FIELD lv_assetsub_dum.
        CALL TRANSACTION 'AS03' AND SKIP FIRST SCREEN.
      WHEN 'WA_OUTPUT-EQUIP_NUM'.
        SET PARAMETER ID 'EQN' FIELD lv_fval.
        CALL TRANSACTION 'IE03' AND SKIP FIRST SCREEN.
    ENDCASE.
  ENDIF.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S. Please award points if it helps...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2007 06:32:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315779#M507761</guid>
      <dc:creator>aris_hidalgo</dc:creator>
      <dc:date>2007-05-16T06:32:57Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315780#M507762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;You have to HIDE the bothe fields TPLNR and EQUNR in the Output Loop and in the At user command you have use parameter ID and call the transactions&lt;/P&gt;&lt;P&gt;see the below code and make changes accordingly&lt;/P&gt;&lt;P&gt;report zf_rept_debtor_ageing&lt;/P&gt;&lt;P&gt;       no standard page heading&lt;/P&gt;&lt;P&gt;       message-id fb&lt;/P&gt;&lt;P&gt;       line-count 65&lt;/P&gt;&lt;P&gt;       line-size 230.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Purpose : This ABAP program will fetch the Account Receivables for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           a Customer for the given period and display the due days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;tables: t001,       " Company Codes&lt;/P&gt;&lt;P&gt;        t005,       " Countries&lt;/P&gt;&lt;P&gt;        skb1,       " GL Master&lt;/P&gt;&lt;P&gt;        kna1.       " Customer Master&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for BSID (Open Items) data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_bsid occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        gjahr like bsid-gjahr,         " Fiscal Year&lt;/P&gt;&lt;P&gt;        belnr like bsid-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        buzei like bsid-buzei,         " Item&lt;/P&gt;&lt;P&gt;        budat like bsid-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        shkzg like bsid-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        wrbtr like bsid-wrbtr,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(USD)&lt;/P&gt;&lt;P&gt;        waers like bsid-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        zfbdt like bsid-zfbdt,         " Baseline Date&lt;/P&gt;&lt;P&gt;        zbd1t like bsid-zbd1t,         " No of days&lt;/P&gt;&lt;P&gt;        hkont like bsid-hkont,         " GL Account&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;      end of it_bsid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for BSAD (Closed Items) data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_bsad occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsad-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        gjahr like bsad-gjahr,         " Fiscal Year&lt;/P&gt;&lt;P&gt;        belnr like bsad-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        buzei like bsad-buzei,         " Item&lt;/P&gt;&lt;P&gt;        budat like bsad-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        shkzg like bsad-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        dmbtr like bsad-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        wrbtr like bsid-wrbtr,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsad-dmbe2,         " Amount(USD)&lt;/P&gt;&lt;P&gt;        waers like bsad-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        zfbdt like bsid-zfbdt,         " Baseline Date&lt;/P&gt;&lt;P&gt;        zbd1t like bsid-zbd1t,         " No of days&lt;/P&gt;&lt;P&gt;        hkont like bsid-hkont,         " GL Account&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;      end of it_bsad.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Report Output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_report occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        belnr like bsid-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;        shkzg like bsid-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        budat like bsid-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        wrbtr like bsid-wrbtr,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(USD)&lt;/P&gt;&lt;P&gt;        waers like bsid-waers,         " Currency&lt;/P&gt;&lt;P&gt;        due_amnt like bsid-dmbtr,      " Amount(Over Due)&lt;/P&gt;&lt;P&gt;        d_amnt1  like bsid-dmbtr,      " Amount(0-30 Future Due)&lt;/P&gt;&lt;P&gt;        d_amnt2  like bsid-dmbtr,      " Amount(31-60 Future Due)&lt;/P&gt;&lt;P&gt;        d_amnt3  like bsid-dmbtr,      " Amount(61-90 Future Due)&lt;/P&gt;&lt;P&gt;        d_amnt4  like bsid-dmbtr,      " Amount(91-120 Future Due)&lt;/P&gt;&lt;P&gt;        d_amnt5  like bsid-dmbtr,      " Amount(more than 120)&lt;/P&gt;&lt;P&gt;        due_date like bsid-budat,      " Due date&lt;/P&gt;&lt;P&gt;        zterm    like bsid-zterm,      " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln    like bsid-vbeln,      " Billing Doc&lt;/P&gt;&lt;P&gt;      end of it_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Declaration of Data and Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;data: v_days  type i,            " Difference days&lt;/P&gt;&lt;P&gt;      v_waers like t001-waers,   " Co.Code Currency&lt;/P&gt;&lt;P&gt;      v_sum1  like bsid-dmbtr,                              " Totals 1&lt;/P&gt;&lt;P&gt;      v_sum2  like bsid-dmbtr,                              " Totals 2&lt;/P&gt;&lt;P&gt;      v_sum3  like bsid-dmbtr,                              " Totals 3&lt;/P&gt;&lt;P&gt;      v_sum4  like bsid-dmbtr,                              " Totals 4&lt;/P&gt;&lt;P&gt;      v_sum5  like bsid-dmbtr,                              " Totals 5&lt;/P&gt;&lt;P&gt;      v_sum6  like bsid-dmbtr,                              " Totals 6&lt;/P&gt;&lt;P&gt;      v_sum7  like bsid-dmbtr,                              " Totals 7&lt;/P&gt;&lt;P&gt;      v_sum8  like bsid-dmbe2.                              " Totals 8&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;constants: c_doc_waers(3) value 'USD',&lt;/P&gt;&lt;P&gt;           c_mitkz type c value 'D'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;selection-screen : begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;parameters: p_bukrs like t001-bukrs obligatory.      " Company Code&lt;/P&gt;&lt;P&gt;select-options:s_kunnr for kna1-kunnr,               " Customer Number&lt;/P&gt;&lt;P&gt;               s_land1 for t005-land1,               " Country&lt;/P&gt;&lt;P&gt;               s_hkont for skb1-saknr.               " G/L Account&lt;/P&gt;&lt;P&gt;parameters: p_date  like sy-datum obligatory.        " Report Date&lt;/P&gt;&lt;P&gt;selection-screen: end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen : begin of block b2 with frame title text-002.&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 2(30) text-003 for field p_rb1.&lt;/P&gt;&lt;P&gt;parameters: p_rb1 radiobutton group rb.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 2(30) text-004 for field p_rb2.&lt;/P&gt;&lt;P&gt;parameters: p_rb2 radiobutton group rb.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;selection-screen: end of block b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen : begin of block b4 with frame.&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 2(29) text-038 for field p_chk1.&lt;/P&gt;&lt;P&gt;parameters: p_chk1 as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;selection-screen: end of block b4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen : begin of block b3 with frame title text-030.&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 2(30) text-031 for field p_rb3.&lt;/P&gt;&lt;P&gt;parameters: p_rb3 radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 2(30) text-032 for field p_rb4.&lt;/P&gt;&lt;P&gt;parameters: p_rb4 radiobutton group rb1.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;selection-screen: end of block b3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;Initialization&lt;/STRONG&gt;**********************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; At Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for the input values of selection screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform screen_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Top-Of-Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;  if p_rb3 = 'X'.&lt;/P&gt;&lt;P&gt;    if p_chk1 = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for detailed report(in Doc Currency)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform col_heading2.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for detailed report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform col_heading.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for summary report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform col_heading1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Start-Of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Open Items from BSID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_open_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Closed Items from BSAD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_close_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data from BSID,BSAD and KNA1 into one int.table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; End-Of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  if it_report[] is initial.&lt;/P&gt;&lt;P&gt;    write : 'No Documents found'(005).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if p_rb3 = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Detailed Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform write_report.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Summary Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform write_report1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; At Line-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;at line-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on BELNR leave to transaction FB03&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform line_sel.&lt;/P&gt;&lt;P&gt;&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  SCREEN_CHECK&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;Checking for the input values of selection screen&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 screen_check.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001.&lt;/P&gt;&lt;P&gt;  if not p_bukrs is initial.&lt;/P&gt;&lt;P&gt;    select bukrs from t001 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t001-bukrs&lt;/P&gt;&lt;P&gt;           where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Company Code'(006).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Customer Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear kna1.&lt;/P&gt;&lt;P&gt;  if not s_kunnr is initial.&lt;/P&gt;&lt;P&gt;    select kunnr from kna1 up to 1 rows&lt;/P&gt;&lt;P&gt;           into kna1-kunnr&lt;/P&gt;&lt;P&gt;           where kunnr in s_kunnr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Customer Number'(007).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Country&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t005.&lt;/P&gt;&lt;P&gt;  if not s_land1 is initial.&lt;/P&gt;&lt;P&gt;    select land1 from t005 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t005-land1&lt;/P&gt;&lt;P&gt;           where land1 in s_land1.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Country'(036).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear skb1.&lt;/P&gt;&lt;P&gt;  if not s_hkont is initial.&lt;/P&gt;&lt;P&gt;    select saknr from skb1 up to 1 rows&lt;/P&gt;&lt;P&gt;           into skb1-saknr&lt;/P&gt;&lt;P&gt;           where saknr in s_hkont and&lt;/P&gt;&lt;P&gt;                 mitkz = c_mitkz.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid GL Reconciliation Account'(037).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SCREEN_CHECK&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  COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for detailed report&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 col_heading.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /88 'DEBTOR AGEING REPORT AS AT:'(019) centered,&lt;/P&gt;&lt;P&gt;         116  p_date  centered, 198 sy-pagno.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /2 'CoCode:'(016),13(4) p_bukrs color 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_kunnr is initial.&lt;/P&gt;&lt;P&gt;    if not s_kunnr-high is initial.&lt;/P&gt;&lt;P&gt;      write: 20 'Customer:'(041),33 s_kunnr-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_kunnr-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: 20 'Customer:'(041),33 s_kunnr-low color 3.&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;  if not s_land1 is initial.&lt;/P&gt;&lt;P&gt;    if not s_land1-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(042),13(4) s_land1-low color 3,&lt;/P&gt;&lt;P&gt;              '-', s_land1-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(042),13(4) s_land1-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if not s_hkont is initial.&lt;/P&gt;&lt;P&gt;      if not s_hkont-high is initial.&lt;/P&gt;&lt;P&gt;        write: 20 'GL Account:'(043),33 s_hkont-low color 3,&lt;/P&gt;&lt;P&gt;                  '-', s_hkont-high color 3.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: 20 'GL Account:'(043),33 s_hkont-low color 3.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if not s_hkont is initial.&lt;/P&gt;&lt;P&gt;      if not s_hkont-high is initial.&lt;/P&gt;&lt;P&gt;        write: /2 'GL Account:'(043),14 s_hkont-low color 3,&lt;/P&gt;&lt;P&gt;                  '-', s_hkont-high color 3.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: /2 'GL Account:'(043),14 s_hkont-low color 3.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: 183 'Run Date:'(029), sy-datum.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write at /1(203) sy-uline .&lt;/P&gt;&lt;P&gt;  write: / sy-vline,  2(10) 'Customer'(008) centered,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 13(30) 'Customer Name'(009),&lt;/P&gt;&lt;P&gt;        43 sy-vline, 44(3)  'Cty'(014) centered,&lt;/P&gt;&lt;P&gt;        47 sy-vline, 48(15) 'Amount'(013) right-justified,&lt;/P&gt;&lt;P&gt;        63 sy-vline, 64(4)  'Curr'(011) centered,&lt;/P&gt;&lt;P&gt;        68 sy-vline, 69(15) 'Overdue'(012) centered,&lt;/P&gt;&lt;P&gt;        84 sy-vline, 85(15) '0 - 30 Days'(010) centered,&lt;/P&gt;&lt;P&gt;       100 sy-vline,101(15) '31 - 60 Days'(028) centered,&lt;/P&gt;&lt;P&gt;       116 sy-vline,117(15) '61 - 90 Days'(021) centered,&lt;/P&gt;&lt;P&gt;       132 sy-vline,133(15) '91 - 120 Days'(022) centered,&lt;/P&gt;&lt;P&gt;       148 sy-vline,149(15) 'Above 120 Days'(023) centered,&lt;/P&gt;&lt;P&gt;       164 sy-vline,165(10) 'Due Date'(024) centered,&lt;/P&gt;&lt;P&gt;       175 sy-vline,176(5)  'PayT'(025) centered,&lt;/P&gt;&lt;P&gt;       181 sy-vline,182(10) 'Bill.Doc.'(026) centered,&lt;/P&gt;&lt;P&gt;       192 sy-vline,193(10) 'Doc.No.'(027) centered,&lt;/P&gt;&lt;P&gt;       203 sy-vline.&lt;/P&gt;&lt;P&gt;  write at /1(203) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " COL_HEADING&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  COL_HEADING1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for summary report&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 col_heading1.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /54 'DEBTOR AGEING REPORT (SUMMARY) AS AT:'(033) centered,&lt;/P&gt;&lt;P&gt;          92  p_date  centered, 158 sy-pagno.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /2 'CoCode:'(016), 13(4) p_bukrs color 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_kunnr is initial.&lt;/P&gt;&lt;P&gt;    if not s_kunnr-high is initial.&lt;/P&gt;&lt;P&gt;      write: 20 'Customer:'(041),33 s_kunnr-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_kunnr-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: 20 'Customer:'(041),33 s_kunnr-low color 3.&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;  if not s_land1 is initial.&lt;/P&gt;&lt;P&gt;    if not s_land1-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(042),13(4) s_land1-low color 3,&lt;/P&gt;&lt;P&gt;              '-', s_land1-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(042),13(4) s_land1-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if not s_hkont is initial.&lt;/P&gt;&lt;P&gt;      if not s_hkont-high is initial.&lt;/P&gt;&lt;P&gt;        write: 20 'GL Account:'(043),33 s_hkont-low color 3,&lt;/P&gt;&lt;P&gt;                  '-', s_hkont-high color 3.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: 20 'GL Account:'(043),33 s_hkont-low color 3.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if not s_hkont is initial.&lt;/P&gt;&lt;P&gt;      if not s_hkont-high is initial.&lt;/P&gt;&lt;P&gt;        write: /2 'GL Account:'(043),14 s_hkont-low color 3,&lt;/P&gt;&lt;P&gt;                  '-', s_hkont-high color 3.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: /2 'GL Account:'(043),14 s_hkont-low color 3.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: 144 'Run Date:'(029), sy-datum.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write at /1(164) sy-uline .&lt;/P&gt;&lt;P&gt;  write: / sy-vline,  2(10) 'Customer'(008) centered,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 13(30) 'Customer Name'(009),&lt;/P&gt;&lt;P&gt;        43 sy-vline, 44(3)  'Cty'(014) centered,&lt;/P&gt;&lt;P&gt;        47 sy-vline, 48(15) 'Amount'(013) right-justified,&lt;/P&gt;&lt;P&gt;        63 sy-vline, 64(4)  'Curr'(011) centered,&lt;/P&gt;&lt;P&gt;        68 sy-vline, 69(15) 'Overdue'(012) centered,&lt;/P&gt;&lt;P&gt;        84 sy-vline, 85(15) '0 - 30 Days'(010) centered,&lt;/P&gt;&lt;P&gt;       100 sy-vline,101(15) '31 - 60 Days'(028) centered,&lt;/P&gt;&lt;P&gt;       116 sy-vline,117(15) '61 - 90 Days'(021) centered,&lt;/P&gt;&lt;P&gt;       132 sy-vline,133(15) '91 - 120 Days'(022) centered,&lt;/P&gt;&lt;P&gt;       148 sy-vline,149(15) 'Above 120 Days'(023) centered,&lt;/P&gt;&lt;P&gt;       164 sy-vline.&lt;/P&gt;&lt;P&gt;  write at /1(164) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;endform.                    " COL_HEADING1&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  COL_HEADING2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for summary report(in Doc Curr)&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 col_heading2.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /99 'DEBTOR AGEING REPORT AS AT:'(019) centered,&lt;/P&gt;&lt;P&gt;         127  p_date  centered, 220 sy-pagno.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /2 'CoCode:'(016),13(4) p_bukrs color 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_kunnr is initial.&lt;/P&gt;&lt;P&gt;    if not s_kunnr-high is initial.&lt;/P&gt;&lt;P&gt;      write: 20 'Customer:'(041),33 s_kunnr-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_kunnr-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: 20 'Customer:'(041),33 s_kunnr-low color 3.&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;  if not s_land1 is initial.&lt;/P&gt;&lt;P&gt;    if not s_land1-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(042),13(4) s_land1-low color 3,&lt;/P&gt;&lt;P&gt;              '-', s_land1-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(042),13(4) s_land1-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if not s_hkont is initial.&lt;/P&gt;&lt;P&gt;      if not s_hkont-high is initial.&lt;/P&gt;&lt;P&gt;        write: 20 'GL Account:'(043),33 s_hkont-low color 3,&lt;/P&gt;&lt;P&gt;                  '-', s_hkont-high color 3.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: 20 'GL Account:'(043),33 s_hkont-low color 3.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if not s_hkont is initial.&lt;/P&gt;&lt;P&gt;      if not s_hkont-high is initial.&lt;/P&gt;&lt;P&gt;        write: /2 'GL Account:'(043),14 s_hkont-low color 3,&lt;/P&gt;&lt;P&gt;                  '-', s_hkont-high color 3.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: /2 'GL Account:'(043),14 s_hkont-low color 3.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: 204 'Run Date:'(029), sy-datum.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write at /1(225) sy-uline .&lt;/P&gt;&lt;P&gt;  write: / sy-vline,  2(10) 'Customer'(008) centered,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 13(30) 'Customer Name'(009),&lt;/P&gt;&lt;P&gt;        43 sy-vline, 44(3)  'Cty'(014) centered,&lt;/P&gt;&lt;P&gt;        47 sy-vline, 48(15) 'Amount'(013) right-justified,&lt;/P&gt;&lt;P&gt;        63 sy-vline, 64(4)  'Curr'(011) centered,&lt;/P&gt;&lt;P&gt;        68 sy-vline, 69(15) 'Overdue'(012) centered,&lt;/P&gt;&lt;P&gt;        84 sy-vline, 85(15) '0 - 30 Days'(010) centered,&lt;/P&gt;&lt;P&gt;       100 sy-vline,101(15) '31 - 60 Days'(028) centered,&lt;/P&gt;&lt;P&gt;       116 sy-vline,117(15) '61 - 90 Days'(021) centered,&lt;/P&gt;&lt;P&gt;       132 sy-vline,133(15) '91 - 120 Days'(022) centered,&lt;/P&gt;&lt;P&gt;       148 sy-vline,149(15) 'Above 120 Days'(023) centered,&lt;/P&gt;&lt;P&gt;       164 sy-vline,165(10) 'Due Date'(024) centered,&lt;/P&gt;&lt;P&gt;       175 sy-vline,176(5)  'PayT'(025) centered,&lt;/P&gt;&lt;P&gt;       181 sy-vline,182(10) 'Bill.Doc.'(026) centered,&lt;/P&gt;&lt;P&gt;       192 sy-vline,193(10) 'Doc.No.'(027) centered,&lt;/P&gt;&lt;P&gt;       203 sy-vline,204(16) 'Amount(Doc.Curr)'(039),&lt;/P&gt;&lt;P&gt;       220 sy-vline,221(4)  'Curr'(040),&lt;/P&gt;&lt;P&gt;       225 sy-vline.&lt;/P&gt;&lt;P&gt;  write at /1(225) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;endform.                    " COL_HEADING2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_OPEN_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Open Items from BSID&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_open_data.&lt;/P&gt;&lt;P&gt;  select a~kunnr          " Customer Number&lt;/P&gt;&lt;P&gt;         a~gjahr          " Fiscal Year&lt;/P&gt;&lt;P&gt;         a~belnr          " Acc.Document&lt;/P&gt;&lt;P&gt;         a~buzei          " Item&lt;/P&gt;&lt;P&gt;         a~budat          " Posting Date&lt;/P&gt;&lt;P&gt;         a~shkzg          " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;         a~dmbtr          " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;         a~wrbtr          " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;         a~dmbe2          " Amount(USD)&lt;/P&gt;&lt;P&gt;         a~waers          " Currency&lt;/P&gt;&lt;P&gt;         a~zterm          " Payment Terms&lt;/P&gt;&lt;P&gt;         a~vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;         a~zfbdt          " Baseline Date&lt;/P&gt;&lt;P&gt;         a~zbd1t          " No of days&lt;/P&gt;&lt;P&gt;         a~hkont          " GL account&lt;/P&gt;&lt;P&gt;         b~name1          " Customer Name&lt;/P&gt;&lt;P&gt;         b~land1          " Country&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     into table it_bsid&lt;/P&gt;&lt;P&gt;     from bsid as a join kna1 as b&lt;/P&gt;&lt;P&gt;     on a&lt;SUB&gt;kunnr = b&lt;/SUB&gt;kunnr&lt;/P&gt;&lt;P&gt;     where a~bukrs = p_bukrs  and&lt;/P&gt;&lt;P&gt;           a~kunnr in s_kunnr and&lt;/P&gt;&lt;P&gt;           a~hkont in s_hkont and&lt;/P&gt;&lt;P&gt;           b~land1 in s_land1 and&lt;/P&gt;&lt;P&gt;           a~budat le p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_bsid by kunnr gjahr belnr buzei budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_OPEN_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CLOSE_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer closed Items from BSID&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_close_data.&lt;/P&gt;&lt;P&gt;  select a~kunnr          " Customer Number&lt;/P&gt;&lt;P&gt;         a~gjahr          " Fiscal Year&lt;/P&gt;&lt;P&gt;         a~belnr          " Acc.Document&lt;/P&gt;&lt;P&gt;         a~buzei          " Item&lt;/P&gt;&lt;P&gt;         a~budat          " Posting Date&lt;/P&gt;&lt;P&gt;         a~shkzg          " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;         a~dmbtr          " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;         a~wrbtr          " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;         a~dmbe2          " Amount(USD)&lt;/P&gt;&lt;P&gt;         a~waers          " Currency&lt;/P&gt;&lt;P&gt;         a~zterm          " Payment Terms&lt;/P&gt;&lt;P&gt;         a~vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;         a~zfbdt          " Baseline Date&lt;/P&gt;&lt;P&gt;         a~zbd1t          " No of days&lt;/P&gt;&lt;P&gt;         a~hkont          " GL account&lt;/P&gt;&lt;P&gt;         b~name1          " Customer Name&lt;/P&gt;&lt;P&gt;         b~land1          " Country&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    into table it_bsad&lt;/P&gt;&lt;P&gt;    from bsad as a join kna1 as b&lt;/P&gt;&lt;P&gt;    on a&lt;SUB&gt;kunnr = b&lt;/SUB&gt;kunnr&lt;/P&gt;&lt;P&gt;    where a~bukrs = p_bukrs  and&lt;/P&gt;&lt;P&gt;          a~kunnr in s_kunnr and&lt;/P&gt;&lt;P&gt;          a~hkont in s_hkont and&lt;/P&gt;&lt;P&gt;          b~land1 in s_land1 and&lt;/P&gt;&lt;P&gt;          a~augdt &amp;gt; p_date   and&lt;/P&gt;&lt;P&gt;          a~budat le p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_bsad by kunnr gjahr belnr buzei budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_CLOSE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESS_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data from BSID,BSAD and KNA1 into one int.table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form process_data.&lt;/P&gt;&lt;P&gt;*Move the data from BSID to final output int table&lt;/P&gt;&lt;P&gt;  loop at it_bsid.&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsid to it_report.&lt;/P&gt;&lt;P&gt;    it_report-due_date = it_bsid-zfbdt + it_bsid-zbd1t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append it_report.&lt;/P&gt;&lt;P&gt;    clear it_report.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Move the data from BSAD to final output int table&lt;/P&gt;&lt;P&gt;  loop at it_bsad.&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsad to it_report.&lt;/P&gt;&lt;P&gt;    it_report-due_date = it_bsad-zfbdt + it_bsad-zbd1t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append it_report.&lt;/P&gt;&lt;P&gt;    clear it_report.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_report by kunnr belnr.&lt;/P&gt;&lt;P&gt;  loop at it_report.&lt;/P&gt;&lt;P&gt;    if it_report-shkzg = 'H'.    " Credit&lt;/P&gt;&lt;P&gt;      it_report-dmbtr = it_report-dmbtr * -1.&lt;/P&gt;&lt;P&gt;      it_report-dmbe2 = it_report-dmbe2 * -1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    v_days = it_report-due_date - p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Company Code Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p_rb1 = 'X'.&lt;/P&gt;&lt;P&gt;      if v_days le 0.&lt;/P&gt;&lt;P&gt;        it_report-due_amnt = it_report-dmbtr.&lt;/P&gt;&lt;P&gt;      elseif v_days between 1 and 30.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt1 = it_report-dmbtr.&lt;/P&gt;&lt;P&gt;      elseif v_days between 31 and 60.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt2 = it_report-dmbtr.&lt;/P&gt;&lt;P&gt;      elseif v_days between 61 and 90.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt3 = it_report-dmbtr.&lt;/P&gt;&lt;P&gt;      elseif v_days between 91 and 120.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt4 = it_report-dmbtr.&lt;/P&gt;&lt;P&gt;      elseif v_days &amp;gt; 120.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt5 = it_report-dmbtr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Group Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      if v_days le 0.&lt;/P&gt;&lt;P&gt;        it_report-due_amnt = it_report-dmbe2.&lt;/P&gt;&lt;P&gt;      elseif v_days between 1 and 30.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt1 = it_report-dmbe2.&lt;/P&gt;&lt;P&gt;      elseif v_days between 31 and 60.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt2 = it_report-dmbe2.&lt;/P&gt;&lt;P&gt;      elseif v_days between 61 and 90.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt3 = it_report-dmbe2.&lt;/P&gt;&lt;P&gt;      elseif v_days between 91 and 120.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt4 = it_report-dmbe2.&lt;/P&gt;&lt;P&gt;      elseif v_days &amp;gt; 120.&lt;/P&gt;&lt;P&gt;        it_report-d_amnt5 = it_report-dmbe2.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    modify it_report index sy-tabix.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                    " PROCESS_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_REPORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Detailed Report Output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form write_report.&lt;/P&gt;&lt;P&gt;  clear: v_sum1,v_sum2,v_sum3,v_sum4,v_waers,&lt;/P&gt;&lt;P&gt;         v_sum5,v_sum6,v_sum7,v_sum8.&lt;/P&gt;&lt;P&gt;  loop at it_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   at new kunnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      read table it_report index sy-tabix.&lt;/P&gt;&lt;P&gt;      write: / sy-vline,  2(10) it_report-kunnr,&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(30) it_report-name1,&lt;/P&gt;&lt;P&gt;            43 sy-vline, 44(3)  it_report-land1,&lt;/P&gt;&lt;P&gt;            47 sy-vline.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   endat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p_rb1 = 'X'.&lt;/P&gt;&lt;P&gt;      select single waers from t001&lt;/P&gt;&lt;P&gt;           into v_waers where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;      write:   1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;              43 sy-vline,&lt;/P&gt;&lt;P&gt;              47 sy-vline,&lt;/P&gt;&lt;P&gt;              48(15) it_report-dmbtr currency it_report-waers,&lt;/P&gt;&lt;P&gt;              63 sy-vline, 64(4) v_waers,&lt;/P&gt;&lt;P&gt;              68 sy-vline.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write:   1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;              43 sy-vline,&lt;/P&gt;&lt;P&gt;              47 sy-vline,&lt;/P&gt;&lt;P&gt;              48(15) it_report-dmbe2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;              63 sy-vline,64(4) c_doc_waers,&lt;/P&gt;&lt;P&gt;              68 sy-vline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    write:  69(15) it_report-due_amnt currency it_report-waers,&lt;/P&gt;&lt;P&gt;            84 sy-vline,&lt;/P&gt;&lt;P&gt;            85(15) it_report-d_amnt1 currency it_report-waers,&lt;/P&gt;&lt;P&gt;           100 sy-vline,&lt;/P&gt;&lt;P&gt;           101(15) it_report-d_amnt2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;           116 sy-vline,&lt;/P&gt;&lt;P&gt;           117(15) it_report-d_amnt3 currency it_report-waers,&lt;/P&gt;&lt;P&gt;           132 sy-vline,&lt;/P&gt;&lt;P&gt;           133(15) it_report-d_amnt4 currency it_report-waers,&lt;/P&gt;&lt;P&gt;           148 sy-vline,&lt;/P&gt;&lt;P&gt;           149(15) it_report-d_amnt5 currency it_report-waers,&lt;/P&gt;&lt;P&gt;           164 sy-vline,165(10) it_report-due_date,&lt;/P&gt;&lt;P&gt;           175 sy-vline,176(5)  it_report-zterm,&lt;/P&gt;&lt;P&gt;           181 sy-vline,182(10) it_report-vbeln,&lt;/P&gt;&lt;P&gt;           192 sy-vline,193(10) it_report-belnr,&lt;/P&gt;&lt;P&gt;           203 sy-vline.&lt;/P&gt;&lt;P&gt;    if p_chk1 = 'X'.&lt;/P&gt;&lt;P&gt;      write: 204(16) it_report-wrbtr currency it_report-waers,&lt;/P&gt;&lt;P&gt;           220 sy-vline, 221(4) it_report-waers,&lt;/P&gt;&lt;P&gt;           225 sy-vline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   new-line.&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;Totals for end of each Customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    at end of kunnr.&lt;/P&gt;&lt;P&gt;      if p_chk1 = 'X'.&lt;/P&gt;&lt;P&gt;        write at /1(225) sy-uline.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write at /1(203) sy-uline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      format color 4.&lt;/P&gt;&lt;P&gt;      if p_rb1 = 'X'.&lt;/P&gt;&lt;P&gt;        write: /1 sy-vline, 2 'Total:'(015),&lt;/P&gt;&lt;P&gt;             12 sy-vline,&lt;/P&gt;&lt;P&gt;             13(10) it_report-kunnr,&lt;/P&gt;&lt;P&gt;             43 sy-vline,47 sy-vline,&lt;/P&gt;&lt;P&gt;             48(15) it_report-dmbtr currency it_report-waers,&lt;/P&gt;&lt;P&gt;             63 sy-vline, 64(3) v_waers,&lt;/P&gt;&lt;P&gt;             68 sy-vline,&lt;/P&gt;&lt;P&gt;             69(15) it_report-due_amnt currency it_report-waers,&lt;/P&gt;&lt;P&gt;             84 sy-vline,&lt;/P&gt;&lt;P&gt;             85(15) it_report-d_amnt1 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            100 sy-vline,&lt;/P&gt;&lt;P&gt;            101(15) it_report-d_amnt2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            116 sy-vline,&lt;/P&gt;&lt;P&gt;            117(15) it_report-d_amnt3 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            132 sy-vline,&lt;/P&gt;&lt;P&gt;            133(15) it_report-d_amnt4 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            148 sy-vline,&lt;/P&gt;&lt;P&gt;            149(15) it_report-d_amnt5 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            164 sy-vline, 175 sy-vline,&lt;/P&gt;&lt;P&gt;            181 sy-vline, 192 sy-vline,&lt;/P&gt;&lt;P&gt;            203 sy-vline.&lt;/P&gt;&lt;P&gt;        if p_chk1 = 'X'.&lt;/P&gt;&lt;P&gt;          write: 220 sy-vline, 225 sy-vline.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: /1 sy-vline, 2 'Total:'(015),&lt;/P&gt;&lt;P&gt;               12 sy-vline,&lt;/P&gt;&lt;P&gt;             13(10) it_report-kunnr,&lt;/P&gt;&lt;P&gt;             43 sy-vline,&lt;/P&gt;&lt;P&gt;             47 sy-vline,&lt;/P&gt;&lt;P&gt;             48(15) it_report-dmbe2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;             63 sy-vline, 64(3) c_doc_waers,&lt;/P&gt;&lt;P&gt;             68 sy-vline,&lt;/P&gt;&lt;P&gt;             69(15) it_report-due_amnt currency it_report-waers,&lt;/P&gt;&lt;P&gt;             84 sy-vline,&lt;/P&gt;&lt;P&gt;             85(15) it_report-d_amnt1 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            100 sy-vline,&lt;/P&gt;&lt;P&gt;            101(15) it_report-d_amnt2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            116 sy-vline,&lt;/P&gt;&lt;P&gt;            117(15) it_report-d_amnt3 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            132 sy-vline,&lt;/P&gt;&lt;P&gt;            133(15) it_report-d_amnt4 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            148 sy-vline,&lt;/P&gt;&lt;P&gt;            149(15) it_report-d_amnt5 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            164 sy-vline, 175 sy-vline,&lt;/P&gt;&lt;P&gt;            181 sy-vline, 192 sy-vline,&lt;/P&gt;&lt;P&gt;            203 sy-vline.&lt;/P&gt;&lt;P&gt;        if p_chk1 = 'X'.&lt;/P&gt;&lt;P&gt;          write: 220 sy-vline, 225 sy-vline.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      if p_chk1 = 'X'.&lt;/P&gt;&lt;P&gt;        write at /1(225) sy-uline.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write at /1(203) sy-uline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    v_sum1 = v_sum1 + it_report-dmbtr.&lt;/P&gt;&lt;P&gt;    v_sum2 = v_sum2 + it_report-due_amnt.&lt;/P&gt;&lt;P&gt;    v_sum3 = v_sum3 + it_report-d_amnt1.&lt;/P&gt;&lt;P&gt;    v_sum4 = v_sum4 + it_report-d_amnt2.&lt;/P&gt;&lt;P&gt;    v_sum5 = v_sum5 + it_report-d_amnt3.&lt;/P&gt;&lt;P&gt;    v_sum6 = v_sum6 + it_report-d_amnt4.&lt;/P&gt;&lt;P&gt;    v_sum7 = v_sum7 + it_report-d_amnt5.&lt;/P&gt;&lt;P&gt;    v_sum8 = v_sum8 + it_report-dmbe2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hiding the Acc doc no for interactic screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    hide it_report-belnr.&lt;/P&gt;&lt;P&gt;    hide it_report-budat.&lt;/P&gt;&lt;P&gt;    clear:it_report-belnr, it_report-budat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Grand Totals for all customers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  format color 3.&lt;/P&gt;&lt;P&gt;  write: /1 sy-vline, 2 'Gr.Total'(034),&lt;/P&gt;&lt;P&gt;             12 sy-vline,13 'As At:'(035),p_date,&lt;/P&gt;&lt;P&gt;             43 sy-vline,&lt;/P&gt;&lt;P&gt;             47 sy-vline.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Company Code Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if p_rb1 = 'X'.&lt;/P&gt;&lt;P&gt;    write:  48(15) v_sum1 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            63 sy-vline, 64(4) v_waers,&lt;/P&gt;&lt;P&gt;            68 sy-vline.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Group Currency (USD)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write:   48(15) v_sum8 currency it_report-waers,&lt;/P&gt;&lt;P&gt;             63 sy-vline, 64(3) c_doc_waers,&lt;/P&gt;&lt;P&gt;             68 sy-vline.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  write:     69(15) v_sum2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;             84 sy-vline,&lt;/P&gt;&lt;P&gt;             85(15) v_sum3 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            100 sy-vline,&lt;/P&gt;&lt;P&gt;            101(15) v_sum4 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            116 sy-vline,&lt;/P&gt;&lt;P&gt;            117(15) v_sum5 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            132 sy-vline,&lt;/P&gt;&lt;P&gt;            133(15) v_sum6 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            148 sy-vline,&lt;/P&gt;&lt;P&gt;            149(15) v_sum7 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            164 sy-vline, 175 sy-vline,&lt;/P&gt;&lt;P&gt;            181 sy-vline, 192 sy-vline,&lt;/P&gt;&lt;P&gt;            203 sy-vline.&lt;/P&gt;&lt;P&gt;  if p_chk1 = 'X'.&lt;/P&gt;&lt;P&gt;    write: 220 sy-vline, 225 sy-vline.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if p_chk1 = 'X'.&lt;/P&gt;&lt;P&gt;    write at /1(225) sy-uline.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write at /1(203) sy-uline.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " WRITE_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_REPORT1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Summary Report Output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form write_report1.&lt;/P&gt;&lt;P&gt;  clear: v_sum1,v_sum2,v_sum3,v_sum4,v_waers,&lt;/P&gt;&lt;P&gt;         v_sum5,v_sum6,v_sum7,v_sum8.&lt;/P&gt;&lt;P&gt;  loop at it_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    at new kunnr.&lt;/P&gt;&lt;P&gt;      read table it_report index sy-tabix.&lt;/P&gt;&lt;P&gt;      write: / sy-vline,  2(10) it_report-kunnr,&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(30) it_report-name1,&lt;/P&gt;&lt;P&gt;            43 sy-vline, 44(3)  it_report-land1,&lt;/P&gt;&lt;P&gt;            47 sy-vline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    at end of kunnr.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      if p_rb1 = 'X'.&lt;/P&gt;&lt;P&gt;        select single waers from t001&lt;/P&gt;&lt;P&gt;          into v_waers where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;        write: 1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;             43 sy-vline,  47 sy-vline,&lt;/P&gt;&lt;P&gt;             48(15) it_report-dmbtr currency it_report-waers,&lt;/P&gt;&lt;P&gt;             63 sy-vline, 64(4) v_waers,&lt;/P&gt;&lt;P&gt;             68 sy-vline,&lt;/P&gt;&lt;P&gt;             69(15) it_report-due_amnt currency it_report-waers,&lt;/P&gt;&lt;P&gt;             84 sy-vline,&lt;/P&gt;&lt;P&gt;             85(15) it_report-d_amnt1 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            100 sy-vline,&lt;/P&gt;&lt;P&gt;            101(15) it_report-d_amnt2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            116 sy-vline,&lt;/P&gt;&lt;P&gt;            117(15) it_report-d_amnt3 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            132 sy-vline,&lt;/P&gt;&lt;P&gt;            133(15) it_report-d_amnt4 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            148 sy-vline,&lt;/P&gt;&lt;P&gt;            149(15) it_report-d_amnt5 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            164 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write: 1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;             43 sy-vline,  47 sy-vline,&lt;/P&gt;&lt;P&gt;             48(15) it_report-dmbe2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;             63 sy-vline, 64(4) c_doc_waers,&lt;/P&gt;&lt;P&gt;             68 sy-vline,&lt;/P&gt;&lt;P&gt;             69(15) it_report-due_amnt currency it_report-waers,&lt;/P&gt;&lt;P&gt;             84 sy-vline,&lt;/P&gt;&lt;P&gt;             85(15) it_report-d_amnt1 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            100 sy-vline,&lt;/P&gt;&lt;P&gt;            101(15) it_report-d_amnt2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            116 sy-vline,&lt;/P&gt;&lt;P&gt;            117(15) it_report-d_amnt3 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            132 sy-vline,&lt;/P&gt;&lt;P&gt;            133(15) it_report-d_amnt4 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            148 sy-vline,&lt;/P&gt;&lt;P&gt;            149(15) it_report-d_amnt5 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            164 sy-vline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      write at /1(164) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    v_sum1 = v_sum1 + it_report-dmbtr.&lt;/P&gt;&lt;P&gt;    v_sum2 = v_sum2 + it_report-due_amnt.&lt;/P&gt;&lt;P&gt;    v_sum3 = v_sum3 + it_report-d_amnt1.&lt;/P&gt;&lt;P&gt;    v_sum4 = v_sum4 + it_report-d_amnt2.&lt;/P&gt;&lt;P&gt;    v_sum5 = v_sum5 + it_report-d_amnt3.&lt;/P&gt;&lt;P&gt;    v_sum6 = v_sum6 + it_report-d_amnt4.&lt;/P&gt;&lt;P&gt;    v_sum7 = v_sum7 + it_report-d_amnt5.&lt;/P&gt;&lt;P&gt;    v_sum8 = v_sum8 + it_report-dmbe2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hiding the Acc doc no for interactic screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    hide it_report-belnr.&lt;/P&gt;&lt;P&gt;    hide it_report-budat.&lt;/P&gt;&lt;P&gt;    clear: it_report-belnr,&lt;/P&gt;&lt;P&gt;           it_report-budat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculation of Grand Totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  format color 3.&lt;/P&gt;&lt;P&gt;  write: /1 sy-vline, 2 'Gr.Total'(034),&lt;/P&gt;&lt;P&gt;             12 sy-vline,13 'As At:'(035),p_date,&lt;/P&gt;&lt;P&gt;             43 sy-vline,&lt;/P&gt;&lt;P&gt;             47 sy-vline.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Company Code Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if p_rb1 = 'X'.&lt;/P&gt;&lt;P&gt;    write:  48(15) v_sum1 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            63 sy-vline, 64(4) v_waers,&lt;/P&gt;&lt;P&gt;            68 sy-vline.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Group Currency (USD)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write:   48(15) v_sum8 currency it_report-waers,&lt;/P&gt;&lt;P&gt;             63 sy-vline, 64(3) c_doc_waers,&lt;/P&gt;&lt;P&gt;             68 sy-vline.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  write:     69(15) v_sum2 currency it_report-waers,&lt;/P&gt;&lt;P&gt;             84 sy-vline,&lt;/P&gt;&lt;P&gt;             85(15) v_sum3 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            100 sy-vline,&lt;/P&gt;&lt;P&gt;            101(15) v_sum4 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            116 sy-vline,&lt;/P&gt;&lt;P&gt;            117(15) v_sum5 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            132 sy-vline,&lt;/P&gt;&lt;P&gt;            133(15) v_sum6 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            148 sy-vline,&lt;/P&gt;&lt;P&gt;            149(15) v_sum7 currency it_report-waers,&lt;/P&gt;&lt;P&gt;            164 sy-vline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  write at /1(164) sy-uline.&lt;/P&gt;&lt;P&gt;endform.                    " WRITE_REPORT1&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  LINE_SEL&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;When double clicked on BELNR leave to transaction FB03&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 line_sel.&lt;/P&gt;&lt;P&gt;  data: lv_field(20),&lt;/P&gt;&lt;P&gt;        lv_value(10),&lt;/P&gt;&lt;P&gt;        lv_date(10),&lt;/P&gt;&lt;P&gt;        lv_gjahr like bsad-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  get cursor field lv_field value lv_value.&lt;/P&gt;&lt;P&gt;  if lv_field = 'IT_REPORT-BELNR'.&lt;/P&gt;&lt;P&gt;    if not lv_value is initial.&lt;/P&gt;&lt;P&gt;      read current line field value it_report-budat into lv_date.&lt;/P&gt;&lt;P&gt;      lv_gjahr = lv_date+6(4).&lt;/P&gt;&lt;P&gt;      set parameter id 'BUK' field p_bukrs.&lt;/P&gt;&lt;P&gt;      set parameter id 'GJR' field lv_gjahr.&lt;/P&gt;&lt;P&gt;      set parameter id 'BLN' field lv_value.&lt;/P&gt;&lt;P&gt;      call transaction 'FB03' and skip first screen.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " LINE_SEL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2007 06:34:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315780#M507762</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-16T06:34:11Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315781#M507763</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use HIDE itab-field1 key word after WRITE: itab-field1......&lt;/P&gt;&lt;P&gt;then under AT-line selection..&lt;/P&gt;&lt;P&gt;if itab-field1.&lt;/P&gt;&lt;P&gt;write your logic....,&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward me if usefull.,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Harish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2007 06:44:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/2315781#M507763</guid>
      <dc:creator>harishaginati</dc:creator>
      <dc:date>2007-05-16T06:44:20Z</dc:date>
    </item>
  </channel>
</rss>

