<?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: Regarding ABAP report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-abap-report/m-p/4234267#M1011056</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;KK,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT zm_vendor_payments LINE-SIZE 255 LINE-COUNT 65.
************************************************************************
** Vendor payment details
**-----------------------
** Amit gujargoud - Inverted Sphere Inc. 2003/03/26
*-----------------------------------------------------------------------
** modification history
** by   date      description
*-----------------------------------------------------------------------
** DO   20031107  include reversal transaction as well. improve
*                 report legibility.
*       20031110  Add drilldown capability
*----------------------------------------------------------------------
* Agujargoud 2007/04.29 - New Client Upgrade.
*---------------------------------------------------------------------
************************************************************************
TABLES: bsik, bsak, bsis, bsas, bseg, ekpo, lfa1.

*-----------------------------------------------------------------------
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-010,
                  SKIP.
SELECT-OPTIONS: s_lifnr FOR bsik-lifnr,
                s_bukrs FOR bsik-bukrs,
                s_budat FOR bsik-budat.
PARAMETERS:     p_grdat LIKE bsik-augdt.
SELECTION-SCREEN: SKIP,
                  END OF BLOCK blk1.

*-----------------------------------------------------------------------
DATA: BEGIN OF i_docs OCCURS 0,
        lifnr LIKE bseg-lifnr,
        hkont LIKE bseg-hkont,
        dmbtr LIKE bsis-dmbtr,
        kostl LIKE bseg-kostl,
        sgtxt LIKE bseg-sgtxt,
        bukrs LIKE bseg-bukrs,
        belnr LIKE bseg-belnr,
        buzei LIKE bseg-buzei,
        blart LIKE bkpf-blart,
        shkzg LIKE bseg-shkzg,
        budat LIKE bkpf-budat,
        augbl LIKE bseg-augbl,
        gjahr LIKE bseg-gjahr,
      END OF i_docs.

DATA: i_revs LIKE i_docs OCCURS 100 WITH HEADER LINE,
      lifnr LIKE i_docs-lifnr,
        bukrs LIKE i_docs-bukrs,
        belnr LIKE i_docs-belnr,
        blart LIKE i_docs-blart,
        hkont LIKE i_docs-hkont,
        dmbtr LIKE i_docs-dmbtr,
        kostl LIKE i_docs-kostl,
        sgtxt LIKE i_docs-sgtxt,
        budat LIKE i_docs-budat,
        total LIKE i_docs-dmbtr,
        gjahr LIKE i_docs-gjahr,
        w_ebeln LIKE ekpo-ebeln,
        w_ebelp LIKE ekpo-ebelp,
        w_zuonr LIKE bseg-zuonr,
        toggle TYPE i VALUE 1.

DATA: v_grir_acct LIKE bsis-hkont,
      v_coa LIKE t001-ktopl.
*-----------------------------------------------------------------------
START-OF-SELECTION.

  CASE sy-mandt.
    WHEN '500'.
      v_coa = 'MACK'.
    WHEN '600'.
      v_coa = 'COA1'.
  ENDCASE.

  SELECT konts FROM t030 INTO v_grir_acct
         WHERE ktopl = v_coa
           AND ktosl = 'WRX'.
  ENDSELECT.

  SELECT hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
          FROM bsis
          INTO CORRESPONDING FIELDS OF TABLE i_docs
*                     WHERE hkont = '211200' "goods received w/o invoice
                      WHERE hkont = v_grir_acct
                      AND   bukrs IN s_bukrs
                      AND   budat IN s_budat.
*                      AND   blart = 'WE'.


  SELECT hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
          FROM bsas
          APPENDING CORRESPONDING FIELDS OF TABLE i_docs
*                     WHERE hkont = '211200' "goods received w/o invoice
                      WHERE hkont = v_grir_acct
                      AND   bukrs IN s_bukrs
                      AND   budat IN s_budat
*                      AND   blart = 'WE'
                      AND   augdt GE p_grdat.

  LOOP AT i_docs.

    SELECT SINGLE lifnr ebeln ebelp FROM bseg
           INTO (i_docs-lifnr, w_ebeln, w_ebelp)
                              WHERE bukrs = i_docs-bukrs
                              AND   belnr = i_docs-belnr
                              AND   buzei = i_docs-buzei.
    IF i_docs-lifnr IN s_lifnr.
      IF NOT w_ebeln IS INITIAL AND i_docs-sgtxt IS INITIAL.
        SELECT SINGLE txz01 FROM ekpo INTO i_docs-sgtxt
                                WHERE ebeln = w_ebeln
                                AND   ebelp = w_ebelp.
      ENDIF.
      MODIFY i_docs.
    ELSE.
      DELETE i_docs.
    ENDIF.
  ENDLOOP.

  SELECT lifnr hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
         FROM bsik
         APPENDING TABLE i_docs
                     WHERE lifnr IN s_lifnr
                     AND   bukrs IN s_bukrs
                     AND   budat IN s_budat
*                     AND   blart IN ('KR', 'RE').
                     AND   blart IN ('KR', 'RE', 'KN', 'RN').

*see if there are reversal documents
  SELECT lifnr hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
         FROM bsik
         APPENDING TABLE i_revs
                     WHERE lifnr IN s_lifnr
                     AND   bukrs IN s_bukrs
                     AND   blart IN ('KA').

  SELECT lifnr hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
         FROM bsak
         APPENDING TABLE i_docs
                     WHERE lifnr IN s_lifnr
                     AND   bukrs IN s_bukrs
                     AND   budat IN s_budat
*                     AND   blart IN ('KR', 'RE').
                     AND   blart IN ('KR', 'RE', 'KN', 'RN').
* check for reversal
  SELECT lifnr hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
         FROM bsak
         APPENDING TABLE i_revs
                     WHERE lifnr IN s_lifnr
                     AND   bukrs IN s_bukrs
                     AND   blart IN ('KA').


  SORT: i_docs BY lifnr bukrs budat hkont,
        i_revs BY lifnr bukrs augbl.

  LOOP AT i_docs.

    toggle = toggle * -1.

    AT NEW lifnr.
      SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
                          WHERE lifnr = i_docs-lifnr.
      CLEAR total.
    ENDAT.

    IF i_docs-blart = 'KR' OR i_docs-blart EQ 'KN'.
      SELECT SINGLE hkont kostl gjahr FROM bseg
           INTO (i_docs-hkont, i_docs-kostl, i_docs-gjahr)
                              WHERE bukrs = i_docs-bukrs
                              AND   belnr = i_docs-belnr
                              AND   kostl &amp;lt;&amp;gt; ' '.

    ELSEIF i_docs-blart = 'RE' OR i_docs-blart = 'RN'.
      SELECT SINGLE hkont kostl gjahr ebeln ebelp FROM bseg
           INTO (i_docs-hkont, i_docs-kostl, i_docs-gjahr,
                 w_ebeln, w_ebelp)
                              WHERE bukrs = i_docs-bukrs
                              AND   belnr = i_docs-belnr
                              AND   ebeln &amp;lt;&amp;gt; ' '.
      IF NOT w_ebeln IS INITIAL
       AND i_docs-sgtxt IS INITIAL.
        SELECT SINGLE txz01 FROM ekpo INTO i_docs-sgtxt
                                WHERE ebeln = w_ebeln
                                AND   ebelp = w_ebelp.
      ENDIF.
    ENDIF.

    CASE i_docs-shkzg.
      WHEN 'S'.
        i_docs-dmbtr = i_docs-dmbtr * -1.
    ENDCASE.

    lifnr = i_docs-lifnr.
    bukrs = i_docs-bukrs.
    belnr = i_docs-belnr.
    blart = i_docs-blart.
    hkont = i_docs-hkont.
    dmbtr = i_docs-dmbtr.
    kostl = i_docs-kostl.
    sgtxt = i_docs-sgtxt.
    budat = i_docs-budat.
    gjahr = i_docs-gjahr.


    PERFORM print_document USING lifnr lfa1-name1 bukrs belnr blart
                                 hkont dmbtr kostl sgtxt budat gjahr.

    total = total + dmbtr.

    IF i_docs-blart = 'KR' OR i_docs-blart EQ 'KN'.
      READ TABLE i_revs WITH KEY lifnr = i_docs-lifnr
                                 bukrs = i_docs-bukrs
                                 belnr = i_docs-augbl
                                 blart = 'KA'.
      IF sy-subrc EQ 0.
        dmbtr = i_revs-dmbtr * -1.
        lifnr = i_revs-lifnr.
        bukrs = i_revs-bukrs.
        belnr = i_revs-belnr.
        blart = i_revs-blart.
        hkont = i_revs-hkont.
        kostl = i_revs-kostl.
        sgtxt = space.
        budat = i_revs-budat.
        gjahr = i_revs-gjahr.

        PERFORM print_document USING lifnr lfa1-name1 bukrs belnr blart
                                    hkont dmbtr kostl sgtxt budat gjahr.


        total = total + dmbtr.

      ENDIF.
    ENDIF.


    AT END OF lifnr.
      SKIP.
      FORMAT COLOR COL_TOTAL INTENSIFIED.
      WRITE:/ text-011, i_docs-lifnr,
           (14) total UNDER dmbtr.
      SKIP.
      FORMAT RESET.
    ENDAT.

  ENDLOOP.

*-----------------------------------------------------------------------
AT LINE-SELECTION.

  CHECK belnr NE space.

  SET PARAMETER ID: 'BLN' FIELD belnr,"this is your second answer
                    'BUK' FIELD bukrs,
                    'GJR' FIELD gjahr.

  CALL TRANSACTION 'FB03'."this is the way to call transaction for perticuler doc


*---------------------------------------------------------------------*
*       FORM print_document                                           *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM print_document    USING lifnr name1 bukrs belnr blart hkont dmbtr
                       kostl sgtxt budat gjahr.


  IF toggle GT 0.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
  ELSE.
    FORMAT COLOR COL_NORMAL INTENSIFIED ON.
  ENDIF.

  WRITE:/ lifnr,
          name1,
          bukrs,
          belnr COLOR COL_KEY HOTSPOT,
          blart,
      (6) hkont,
     (14) dmbtr,
      (7) kostl,
          sgtxt,
          budat.

  HIDE: belnr, lifnr, bukrs, gjahr.

ENDFORM.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 Jul 2008 05:01:03 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-31T05:01:03Z</dc:date>
    <item>
      <title>Regarding ABAP report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-abap-report/m-p/4234266#M1011055</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;&lt;/P&gt;&lt;P&gt;I have to create a report in the following format:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report&lt;/P&gt;&lt;P&gt;...................................................................................&lt;/P&gt;&lt;P&gt;AA   |Date	|      X	|Y      |	Z    |	XX   |	YY&lt;/P&gt;&lt;P&gt;.......................................................................................&lt;/P&gt;&lt;P&gt;11:30|05/10/08| 989	|4567 |	B   |	A    |	A&lt;/P&gt;&lt;P&gt;.....................................................................................&lt;/P&gt;&lt;P&gt;	Maria Smith 	123  Main St.       Apt. &lt;/P&gt;&lt;P&gt;....................................................................................&lt;/P&gt;&lt;P&gt;	990-876-0987	Neighborhood        City&lt;/P&gt;&lt;P&gt;.........................................................................................&lt;/P&gt;&lt;P&gt;Some message for header&lt;/P&gt;&lt;P&gt;.........................................................................................&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;		&lt;/P&gt;&lt;P&gt;.....................................................................................&lt;/P&gt;&lt;P&gt;Item	ABC       GHI            OPQ             RST&lt;/P&gt;&lt;P&gt;                DEF       IJK/LMN	1	    KG                 &lt;/P&gt;&lt;P&gt;.....................................................................................&lt;/P&gt;&lt;P&gt;0010	09876     Books   			908        WHP/ 1000		&lt;/P&gt;&lt;P&gt;.........................................................................................&lt;/P&gt;&lt;P&gt;0020	87878     Ice Maker	1	    KG&lt;/P&gt;&lt;P&gt;	876        WHP/ M909	&lt;/P&gt;&lt;P&gt;..................................................................................... Some message for item&lt;/P&gt;&lt;P&gt;.....................................................................................&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here first row is header and second row is corressponding values and the third &amp;amp; fourth line are customer address informations and fifth row is the messafe for header. this is just one record. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After this in the second part is the item information for the value X in the header. there are 2 items 0010 and 0020 and there corresponding details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also when the user click on the value 989, corresponding transacion should open. say MM03&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please give me some example reports with these two cases .&lt;/P&gt;&lt;P&gt;ie classical and interactive features.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot.&lt;/P&gt;&lt;P&gt;Useful answers will be highly rewarded.&lt;/P&gt;&lt;P&gt;Reagrs&lt;/P&gt;&lt;P&gt;Krishan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jul 2008 04:51:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-abap-report/m-p/4234266#M1011055</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-31T04:51:40Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding ABAP report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-abap-report/m-p/4234267#M1011056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;KK,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT zm_vendor_payments LINE-SIZE 255 LINE-COUNT 65.
************************************************************************
** Vendor payment details
**-----------------------
** Amit gujargoud - Inverted Sphere Inc. 2003/03/26
*-----------------------------------------------------------------------
** modification history
** by   date      description
*-----------------------------------------------------------------------
** DO   20031107  include reversal transaction as well. improve
*                 report legibility.
*       20031110  Add drilldown capability
*----------------------------------------------------------------------
* Agujargoud 2007/04.29 - New Client Upgrade.
*---------------------------------------------------------------------
************************************************************************
TABLES: bsik, bsak, bsis, bsas, bseg, ekpo, lfa1.

*-----------------------------------------------------------------------
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-010,
                  SKIP.
SELECT-OPTIONS: s_lifnr FOR bsik-lifnr,
                s_bukrs FOR bsik-bukrs,
                s_budat FOR bsik-budat.
PARAMETERS:     p_grdat LIKE bsik-augdt.
SELECTION-SCREEN: SKIP,
                  END OF BLOCK blk1.

*-----------------------------------------------------------------------
DATA: BEGIN OF i_docs OCCURS 0,
        lifnr LIKE bseg-lifnr,
        hkont LIKE bseg-hkont,
        dmbtr LIKE bsis-dmbtr,
        kostl LIKE bseg-kostl,
        sgtxt LIKE bseg-sgtxt,
        bukrs LIKE bseg-bukrs,
        belnr LIKE bseg-belnr,
        buzei LIKE bseg-buzei,
        blart LIKE bkpf-blart,
        shkzg LIKE bseg-shkzg,
        budat LIKE bkpf-budat,
        augbl LIKE bseg-augbl,
        gjahr LIKE bseg-gjahr,
      END OF i_docs.

DATA: i_revs LIKE i_docs OCCURS 100 WITH HEADER LINE,
      lifnr LIKE i_docs-lifnr,
        bukrs LIKE i_docs-bukrs,
        belnr LIKE i_docs-belnr,
        blart LIKE i_docs-blart,
        hkont LIKE i_docs-hkont,
        dmbtr LIKE i_docs-dmbtr,
        kostl LIKE i_docs-kostl,
        sgtxt LIKE i_docs-sgtxt,
        budat LIKE i_docs-budat,
        total LIKE i_docs-dmbtr,
        gjahr LIKE i_docs-gjahr,
        w_ebeln LIKE ekpo-ebeln,
        w_ebelp LIKE ekpo-ebelp,
        w_zuonr LIKE bseg-zuonr,
        toggle TYPE i VALUE 1.

DATA: v_grir_acct LIKE bsis-hkont,
      v_coa LIKE t001-ktopl.
*-----------------------------------------------------------------------
START-OF-SELECTION.

  CASE sy-mandt.
    WHEN '500'.
      v_coa = 'MACK'.
    WHEN '600'.
      v_coa = 'COA1'.
  ENDCASE.

  SELECT konts FROM t030 INTO v_grir_acct
         WHERE ktopl = v_coa
           AND ktosl = 'WRX'.
  ENDSELECT.

  SELECT hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
          FROM bsis
          INTO CORRESPONDING FIELDS OF TABLE i_docs
*                     WHERE hkont = '211200' "goods received w/o invoice
                      WHERE hkont = v_grir_acct
                      AND   bukrs IN s_bukrs
                      AND   budat IN s_budat.
*                      AND   blart = 'WE'.


  SELECT hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
          FROM bsas
          APPENDING CORRESPONDING FIELDS OF TABLE i_docs
*                     WHERE hkont = '211200' "goods received w/o invoice
                      WHERE hkont = v_grir_acct
                      AND   bukrs IN s_bukrs
                      AND   budat IN s_budat
*                      AND   blart = 'WE'
                      AND   augdt GE p_grdat.

  LOOP AT i_docs.

    SELECT SINGLE lifnr ebeln ebelp FROM bseg
           INTO (i_docs-lifnr, w_ebeln, w_ebelp)
                              WHERE bukrs = i_docs-bukrs
                              AND   belnr = i_docs-belnr
                              AND   buzei = i_docs-buzei.
    IF i_docs-lifnr IN s_lifnr.
      IF NOT w_ebeln IS INITIAL AND i_docs-sgtxt IS INITIAL.
        SELECT SINGLE txz01 FROM ekpo INTO i_docs-sgtxt
                                WHERE ebeln = w_ebeln
                                AND   ebelp = w_ebelp.
      ENDIF.
      MODIFY i_docs.
    ELSE.
      DELETE i_docs.
    ENDIF.
  ENDLOOP.

  SELECT lifnr hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
         FROM bsik
         APPENDING TABLE i_docs
                     WHERE lifnr IN s_lifnr
                     AND   bukrs IN s_bukrs
                     AND   budat IN s_budat
*                     AND   blart IN ('KR', 'RE').
                     AND   blart IN ('KR', 'RE', 'KN', 'RN').

*see if there are reversal documents
  SELECT lifnr hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
         FROM bsik
         APPENDING TABLE i_revs
                     WHERE lifnr IN s_lifnr
                     AND   bukrs IN s_bukrs
                     AND   blart IN ('KA').

  SELECT lifnr hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
         FROM bsak
         APPENDING TABLE i_docs
                     WHERE lifnr IN s_lifnr
                     AND   bukrs IN s_bukrs
                     AND   budat IN s_budat
*                     AND   blart IN ('KR', 'RE').
                     AND   blart IN ('KR', 'RE', 'KN', 'RN').
* check for reversal
  SELECT lifnr hkont dmbtr kostl sgtxt bukrs belnr
         buzei blart shkzg budat augbl gjahr
         FROM bsak
         APPENDING TABLE i_revs
                     WHERE lifnr IN s_lifnr
                     AND   bukrs IN s_bukrs
                     AND   blart IN ('KA').


  SORT: i_docs BY lifnr bukrs budat hkont,
        i_revs BY lifnr bukrs augbl.

  LOOP AT i_docs.

    toggle = toggle * -1.

    AT NEW lifnr.
      SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
                          WHERE lifnr = i_docs-lifnr.
      CLEAR total.
    ENDAT.

    IF i_docs-blart = 'KR' OR i_docs-blart EQ 'KN'.
      SELECT SINGLE hkont kostl gjahr FROM bseg
           INTO (i_docs-hkont, i_docs-kostl, i_docs-gjahr)
                              WHERE bukrs = i_docs-bukrs
                              AND   belnr = i_docs-belnr
                              AND   kostl &amp;lt;&amp;gt; ' '.

    ELSEIF i_docs-blart = 'RE' OR i_docs-blart = 'RN'.
      SELECT SINGLE hkont kostl gjahr ebeln ebelp FROM bseg
           INTO (i_docs-hkont, i_docs-kostl, i_docs-gjahr,
                 w_ebeln, w_ebelp)
                              WHERE bukrs = i_docs-bukrs
                              AND   belnr = i_docs-belnr
                              AND   ebeln &amp;lt;&amp;gt; ' '.
      IF NOT w_ebeln IS INITIAL
       AND i_docs-sgtxt IS INITIAL.
        SELECT SINGLE txz01 FROM ekpo INTO i_docs-sgtxt
                                WHERE ebeln = w_ebeln
                                AND   ebelp = w_ebelp.
      ENDIF.
    ENDIF.

    CASE i_docs-shkzg.
      WHEN 'S'.
        i_docs-dmbtr = i_docs-dmbtr * -1.
    ENDCASE.

    lifnr = i_docs-lifnr.
    bukrs = i_docs-bukrs.
    belnr = i_docs-belnr.
    blart = i_docs-blart.
    hkont = i_docs-hkont.
    dmbtr = i_docs-dmbtr.
    kostl = i_docs-kostl.
    sgtxt = i_docs-sgtxt.
    budat = i_docs-budat.
    gjahr = i_docs-gjahr.


    PERFORM print_document USING lifnr lfa1-name1 bukrs belnr blart
                                 hkont dmbtr kostl sgtxt budat gjahr.

    total = total + dmbtr.

    IF i_docs-blart = 'KR' OR i_docs-blart EQ 'KN'.
      READ TABLE i_revs WITH KEY lifnr = i_docs-lifnr
                                 bukrs = i_docs-bukrs
                                 belnr = i_docs-augbl
                                 blart = 'KA'.
      IF sy-subrc EQ 0.
        dmbtr = i_revs-dmbtr * -1.
        lifnr = i_revs-lifnr.
        bukrs = i_revs-bukrs.
        belnr = i_revs-belnr.
        blart = i_revs-blart.
        hkont = i_revs-hkont.
        kostl = i_revs-kostl.
        sgtxt = space.
        budat = i_revs-budat.
        gjahr = i_revs-gjahr.

        PERFORM print_document USING lifnr lfa1-name1 bukrs belnr blart
                                    hkont dmbtr kostl sgtxt budat gjahr.


        total = total + dmbtr.

      ENDIF.
    ENDIF.


    AT END OF lifnr.
      SKIP.
      FORMAT COLOR COL_TOTAL INTENSIFIED.
      WRITE:/ text-011, i_docs-lifnr,
           (14) total UNDER dmbtr.
      SKIP.
      FORMAT RESET.
    ENDAT.

  ENDLOOP.

*-----------------------------------------------------------------------
AT LINE-SELECTION.

  CHECK belnr NE space.

  SET PARAMETER ID: 'BLN' FIELD belnr,"this is your second answer
                    'BUK' FIELD bukrs,
                    'GJR' FIELD gjahr.

  CALL TRANSACTION 'FB03'."this is the way to call transaction for perticuler doc


*---------------------------------------------------------------------*
*       FORM print_document                                           *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM print_document    USING lifnr name1 bukrs belnr blart hkont dmbtr
                       kostl sgtxt budat gjahr.


  IF toggle GT 0.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
  ELSE.
    FORMAT COLOR COL_NORMAL INTENSIFIED ON.
  ENDIF.

  WRITE:/ lifnr,
          name1,
          bukrs,
          belnr COLOR COL_KEY HOTSPOT,
          blart,
      (6) hkont,
     (14) dmbtr,
      (7) kostl,
          sgtxt,
          budat.

  HIDE: belnr, lifnr, bukrs, gjahr.

ENDFORM.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jul 2008 05:01:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-abap-report/m-p/4234267#M1011056</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-31T05:01:03Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding ABAP report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-abap-report/m-p/4234268#M1011057</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;Check the below code sample-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;


TABLES:
  kna1.                                " General Data In Customer.
*"-------------------------------------------------------------------"*
*Work variable Declaration.
*"-------------------------------------------------------------------"*
DATA:
  w_cursor TYPE string.                " Cursor Position Variable.
*"-------------------------------------------------------------------"*
*Parameter Declaration To Take Input.
*"-------------------------------------------------------------------"*
SELECT-OPTIONS:
  s_kunnr FOR kna1-kunnr OBLIGATORY.   " Input Customer No.
*"-------------------------------------------------------------------"*
*Field String Declaration To Hold Customer Records.
*"-------------------------------------------------------------------"*
DATA:
  BEGIN OF fs_sales,
    kunnr TYPE kna1-kunnr,             " Customer No.
    bname TYPE kna1-name1,             " Customer Name.
    aufnr TYPE vbak-aufnr,             " Order No.
  END OF fs_sales.                     " BEGIN OF fs_sales.
*"-------------------------------------------------------------------"*
*Field String Declaration To Hold Sales Information.
*"-------------------------------------------------------------------"*
DATA:
  BEGIN OF fs_order,
    posnr    TYPE vbap-posnr,          " Sales Item No.
    matnr    TYPE vbap-matnr,          " Material No.
    quantity TYPE vbap-zmeng,          " Quantity.
    price    TYPE vbap-netpr,          " Price.
  END OF fs_order.                     " BEGIN OF fs_order.
*"-------------------------------------------------------------------"*
*Internal Table Declaration To Hold Customer Information.
*"-------------------------------------------------------------------"*
DATA:
  t_sales LIKE STANDARD TABLE          " Sales Detail Internal Table.
       OF fs_sales.
*"-------------------------------------------------------------------"*
*Internal Table Declaration To Hold Sales Information.
*"-------------------------------------------------------------------"*
DATA:
  t_order LIKE STANDARD TABLE          " Order Detail Internal Table.
       OF fs_order.
*"-------------------------------------------------------------------"*
*At LINE-SELECTION.
*"-------------------------------------------------------------------"*
AT LINE-SELECTION.
  IF sy-lsind LE 1 AND sy-lilli GE 4.
****Calling Subroutine*****
    PERFORM get_order_details.
    PERFORM display_order_details.
  ELSE.
    MESSAGE i003(zyh1151).
  ENDIF.                               " IF sy-lsind LE 1.
*"-------------------------------------------------------------------"*
*AT USER-COMMAND.
*"-------------------------------------------------------------------"*
AT USER-COMMAND.
**Assigning Memory ID******



  CASE sy-ucomm.
    WHEN 'CUST'.
      IF sy-lsind LE 1 AND sy-lilli GE 4.
        IF sy-cucol BETWEEN 2 AND 14.
          GET CURSOR FIELD w_cursor.
          IF w_cursor EQ 'FS_SALES-KUNNR'.
            READ LINE sy-lilli FIELD VALUE
            fs_sales-kunnr.
            IF fs_sales-kunnr IS NOT INITIAL.
              SET PARAMETER ID 'KUN' FIELD fs_sales-kunnr.
***********Calling Subroutine****
              PERFORM customer_info.
            ENDIF.
          ENDIF.
        ELSE.
          MESSAGE i003(zyh1151).

        ENDIF.                         " IF sy-cucol BETWEEN 2 AND....
      ELSE.
        MESSAGE i003(zyh1151).
      ENDIF.                           " IF sy-lsind LE 1 AND sy-lilli.
    WHEN 'ORDER'.
      IF sy-lsind LE 1 AND sy-lilli GE 4.
        IF sy-cucol BETWEEN 30 AND 40.
          GET CURSOR FIELD w_cursor.
          IF w_cursor EQ 'FS_SALES-AUFNR'.
            READ LINE sy-lilli FIELD VALUE
            fs_sales-aufnr.
            IF fs_sales-aufnr IS NOT INITIAL.
              SET PARAMETER ID 'AUN' FIELD fs_sales-aufnr.

***********Calling Subroutine****
              PERFORM order_info.
            ENDIF.
          ENDIF.
        ELSE.
          MESSAGE i003(zyh1151).

        ENDIF.                         " IF sy-cucol BETWEEN 30 AND 40.
      ELSE.
        MESSAGE i003(zyh1151).

      ENDIF.                           " IF sy-lsind LE 1 AND sy-lilli.
  ENDCASE.                             " CASE sy-ucomm.
*"-------------------------------------------------------------------"*
*STAR-OF-SELECTION.
*"-------------------------------------------------------------------"*
START-OF-SELECTION.
**Calling Subroutine****
  PERFORM get_data.
*"-------------------------------------------------------------------"*
*END-OF-SELECTION.
*"-------------------------------------------------------------------"*
END-OF-SELECTION.
**Calling PF-STATUS*****
  SET PF-STATUS 'CUSTOM'.
**Calling Subroutine****
  PERFORM display_data.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_data
*&amp;amp;---------------------------------------------------------------------*
*       Subroutine To Fetch Data from KNA1 And VBAK Table.
*----------------------------------------------------------------------*
*       No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM get_data .
  SELECT a~kunnr                       " Customer No.
         a~name1                       " Customer Name.
         b~aufnr                       " Order Number.

    FROM kna1 AS a
    JOIN vbak AS b
      ON a~kunnr = b~kunnr
    INTO TABLE t_sales
   WHERE a~kunnr IN s_kunnr.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE i008(zyh1151).
  ENDIF.
ENDFORM.                               " Form get_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display_data
*&amp;amp;---------------------------------------------------------------------*
*       Subroutine To Display Customer Information.
*----------------------------------------------------------------------*
*       No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM display_data .
  LOOP AT t_sales INTO fs_sales.
    AT FIRST.
      WRITE:
        /  'Customer No.'(001),
        15 'Customer Name'(002),
        30 'Order No'(003).
    ENDAT.                             " AT FIRST.
    WRITE:
      / fs_sales-kunnr,
      15 fs_sales-bname,
      30 fs_sales-aufnr.
    HIDE:
      fs_sales-aufnr.
  ENDLOOP.                             " LOOP AT t_sales INTO...
  CLEAR fs_sales.
ENDFORM.                               " Form display_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  customer_info
*&amp;amp;---------------------------------------------------------------------*
*       Subroutine For Calling New Transaction Of Display Customer.
*----------------------------------------------------------------------*
*       No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM customer_info .
  CALL TRANSACTION 'XD03'.
ENDFORM.                               " Form customer_info
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  order_info
*&amp;amp;---------------------------------------------------------------------*
*       Subroutine For Calling New Transaction Of Sales Order.
*----------------------------------------------------------------------*
*       No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM order_info .
  CALL TRANSACTION 'VA03'.
ENDFORM.                               " Form order_info
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_order_details
*&amp;amp;---------------------------------------------------------------------*
*       Subroutine For Fetching Data From VBAP Table.
*----------------------------------------------------------------------*
*       No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM get_order_details .
  SELECT posnr                         " Item Number.
         matnr                         " Material Number.
         zmeng                         " Quantity.
         netpr                         " Price.
    FROM vbap
    INTO TABLE t_order
   WHERE aufnr = fs_sales-aufnr.
ENDFORM.                               " Form get_order_details
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display_order_details
*&amp;amp;---------------------------------------------------------------------*
*       Subroutine For Displaying Output Of Order Details.
*----------------------------------------------------------------------*
*       No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM display_order_details .
  LOOP AT t_order INTO fs_order.
    AT FIRST.
      WRITE:
          /  'Item No'(004),
          15 'Material No.'(005),
          38 'Quantity'(006),
          53 'Price'(007).
    ENDAT.
    WRITE:
      /  fs_order-posnr,
      15 fs_order-matnr,
      28 fs_order-quantity,
      46 fs_order-price.
  ENDLOOP.                             " LOOP AT t_order INTO fs_order.
ENDFORM.                               " Form display_order_details.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sujit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jul 2008 05:03:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-abap-report/m-p/4234268#M1011057</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-31T05:03:12Z</dc:date>
    </item>
  </channel>
</rss>

