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
*&---------------------------------------------------------------------*
*& 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