Interactive Report -1

Example for Interactive Report :

*&---------------------------------------------------------------------*
*& Report  ZINT_REPORT                                                 *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*
REPORT  ZINT_REPORT
        NO STANDARD PAGE HEADING
        LINE-SIZE 120
        LINE-COUNT 20(2).

DATA: IT_VBRK LIKE VBRK OCCURS 1 WITH HEADER LINE,
      IT_VBRP LIKE VBRP OCCURS 1 WITH HEADER LINE.

DATA: V_LINE TYPE I,
      V_VBELN LIKE VBRK-VBELN.

SELECT-OPTIONS: S_VBELN FOR IT_VBRK-VBELN.


START-OF-SELECTION.
  PERFORM GET_DATA.


END-OF-SELECTION.
  IF NOT IT_VBRK[] IS INITIAL.
    PERFORM SHOW_BLIST.
  ELSE.
    MESSAGE I000(Z00) WITH 'No Data found to display'.
  ENDIF.

TOP-OF-PAGE.
  PERFORM BUILD_PAGE_HEADER.

END-OF-PAGE.
  PERFORM BUILD_PAGE_FOOTER.

TOP-OF-PAGE DURING LINE-SELECTION.
  IF SY-LSIND = 1.
    PERFORM SEC_PAGE_HEADER.
*  ELSEIF SY-LSIND = 2.
*    WRITE:/ 'PAGE HEADER FOR 2ND SECONDARY LIST'.
*  ELSE.
*    WRITE:/ 'PAGE HEADER FOR SECONDARY LIST'.
  ENDIF.

AT LINE-SELECTION.
  IF SY-LSIND = 1.
    PERFORM SHOW_SLIST.
  ENDIF.

AT PF5.
  MESSAGE I000(Z00) WITH 'You clicked on F5 key'.


*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_DATA .

*--Billing doc header data
  SELECT *
    FROM VBRK
    INTO TABLE IT_VBRK
    WHERE VBELN IN S_VBELN.

  IF SY-SUBRC = 0.
*--Billing doc Item data
    SELECT *
      FROM VBRP
      INTO TABLE IT_VBRP
      WHERE VBELN IN S_VBELN.
  ENDIF.

ENDFORM.                    " GET_DATA
*&---------------------------------------------------------------------*
*&      Form  BUILD_PAGE_HEADER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM BUILD_PAGE_HEADER .
  ULINE AT (50).
  FORMAT INTENSIFIED ON COLOR COL_HEADING.
  WRITE:/ SY-VLINE,
          'Biiling Doc',
       16  SY-VLINE,
           'Billing Date',
       30  SY-VLINE,
           'Billing Type',
       50  SY-VLINE.
  ULINE AT /(50).

ENDFORM.                    " BUILD_PAGE_HEADER
*&---------------------------------------------------------------------*
*&      Form  BUILD_PAGE_FOOTER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM BUILD_PAGE_FOOTER .
  ULINE AT (50).
  WRITE:/30 'Page :', SY-PAGNO.
ENDFORM.                    " BUILD_PAGE_FOOTER
*&---------------------------------------------------------------------*
*&      Form  SHOW_BLIST
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SHOW_BLIST .
  LOOP AT IT_VBRK.
    WRITE:/ SY-VLINE,
            IT_VBRK-VBELN COLOR COL_KEY HOTSPOT ON,
         16  SY-VLINE,
             IT_VBRK-FKDAT,
         30  SY-VLINE,
             IT_VBRK-FKART,
         50  SY-VLINE.
      HIDE IT_VBRK-VBELN.
  ENDLOOP.
  V_LINE = ( SY-LINCT - SY-LINNO ) - 1.
ENDFORM.                    " SHOW_BLIST
*&---------------------------------------------------------------------*
*&      Form  SHOW_SLIST
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SHOW_SLIST .

*   CONDENSE SY-LISEL+1(10).
*   V_VBELN = SY-LISEL+1(10).
*
*CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
*  EXPORTING
*    INPUT         = V_VBELN
*  IMPORTING
*    OUTPUT        = V_VBELN.

*  LOOP AT IT_VBRP WHERE VBELN = V_VBELN.
  LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN.
    WRITE:/ SY-VLINE,
            IT_VBRP-POSNR,
          11 SY-VLINE,
            IT_VBRP-MATNR,
         30 SY-VLINE,
            IT_VBRP-ARKTX,
         73 SY-VLINE,
            IT_VBRP-FKIMG,
        95 SY-VLINE,
            IT_VBRP-NETWR,
       120 SY-VLINE.
  ENDLOOP.

ENDFORM.                    " SHOW_SLIST
*&---------------------------------------------------------------------*
*&      Form  SEC_PAGE_HEADER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SEC_PAGE_HEADER .
  ULINE AT (120).
  FORMAT INTENSIFIED ON COLOR COL_HEADING.
  WRITE:/ SY-VLINE,
          'Item No',
        11 SY-VLINE,
          'Material',
       30 SY-VLINE,
          'Material Desc',
       73 SY-VLINE,
          'Qty',
      95 SY-VLINE,
          'Amount',
     120 SY-VLINE.
  ULINE AT (120).
  FORMAT RESET.
ENDFORM.                    " SEC_PAGE_HEADER

Popular posts from this blog

ALV with field catalog merge

SAP ABAP real-time Interview Questions with answers

Using GUI Upload in SAP ABAP