‎2007 Jul 23 5:35 AM
REPORT Z_Interactive_report_1 NO STANDARD PAGE HEADING.
TABLES: LFA1, LFB1, BSIK.
DATA: BEGIN OF DOCTAB OCCURS 100,
BELNR LIKE BSIK-BELNR,
BUDAT LIKE BSIK-BUDAT,
GSBER LIKE BSIK-GSBER,
DMBTR LIKE BSIK-DMBTR,
END OF DOCTAB.
START-OF-SELECTION.
GET LFB1.
WRITE: LFA1-LIFNR, LFB1-BUKRS, (20) LFA1-NAME1, (20) LFA1-ORT01.
HIDE: LFA1-LIFNR, LFB1-BUKRS.
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE: SY-LISEL.
ULINE. SKIP.
WRITE: 'COMPANY CODE:'(001), LFB1-BUKRS.
WRITE: / 'DOC. NO. POST.DATE BA LOCAL CURRENCY'(002).
ULINE /(45).
END-OF-SELECTION.
CLEAR LFA1-LIFNR.
AT PF13.
WRITE: 'PF13 SY-LSIND = ', SY-LSIND.
CHECK NOT LFA1-LIFNR IS INITIAL.
SELECT * FROM BSIK WHERE LIFNR = LFA1-LIFNR AND BUKRS EQ LFB1-BUKRS.
WRITE: / BSIK-BELNR, BSIK-BUDAT DD/MM/YYYY, BSIK-GSBER, 23 BSIK-DMBTR.
DOCTAB-BELNR = BSIK-BELNR.
DOCTAB-BUDAT = BSIK-BUDAT.
DOCTAB-GSBER = BSIK-GSBER.
DOCTAB-DMBTR = BSIK-DMBTR.
APPEND DOCTAB.
CLEAR DOCTAB.
ENDSELECT.
IF SY-SUBRC NE 0.
SKIP 5.
WRITE: '*** NO DOCUMENTS AVAILABLE. ***'(003).
ENDIF.
CLEAR LFA1-LIFNR.
AT PF14.
WRITE: 'AT PF14 SY-LSIND = ', SY-LSIND.
SY-LSIND = SY-LSIND - 1.
SORT DOCTAB BY BUDAT.
PERFORM DOCPRINT.
AT PF16.
WRITE: 'AT PF16 SY-LSIND = ', SY-LSIND.
SY-LSIND = SY-LSIND - 1.
SORT DOCTAB BY DMBTR.
PERFORM DOCPRINT.
FORM DOCPRINT.
LOOP AT DOCTAB.
WRITE: / DOCTAB-BELNR, DOCTAB-BUDAT DD/MM/YYYY, DOCTAB-GSBER,
23 DOCTAB-DMBTR.
ENDLOOP.
ENDFORM.
by: akshat
‎2007 Jul 23 5:39 AM
Do like this:
set pf -status 'TST'
DOUBLE CLICK ON TST AND DEFINE STATUS.
THEN USE AT USER-COMMAND TO PERFORM ACTION..
‎2007 Jul 23 5:43 AM
Hi,
see this example of interactive reports.
the highlighted part in the below program is important for interactive reports.
that is for creating menu in that u need to assign PICK as Tcode for function key F2.
then u can see ur secondary lists.and the limit for PFkey is from PF01-PF12.the last two numbers in PFnn indicates function key number in the key board(F01-F12).
REPORT ZBHREP3 LINE-COUNT 15(1) LINE-SIZE 75.
TABLES: SFLIGHT,ZEMP.
DATA VAR LIKE SFLIGHT-CONNID.
DATA ITAB LIKE SFLIGHT OCCURS 0 WITH HEADER LINE.
PARAMETERS NAME TYPE ZEMP-NAME DEFAULT 'BHARAT'.
WRITE: 25 NAME COLOR 6.
SELECT-OPTIONS CARRID1 FOR SFLIGHT-CARRID.
<b>SET PF-STATUS 'MENU'.</b>
SET TITLEBAR 'TIT'.
FORMAT HOTSPOT ON.
WRITE:/10 'AIRLINE CODE',25 'CONNECTION ID',40 'FLIGHT DATE'.
SELECT * FROM SFLIGHT WHERE CARRID IN CARRID1.
WRITE:/10 SFLIGHT-CARRID,25 SFLIGHT-CONNID,40 SFLIGHT-FLDATE.
HIDE SFLIGHT-CONNID.
ENDSELECT.
*END-OF-PAGE.
END-OF-PAGE.
WRITE:/64 'P.NO:',SY-PAGNO.
*TOP-OF-PAGE.
TOP-OF-PAGE.
WRITE:/ 'THIS IS MY FIRST REPORTS PROGRAM.'.
*START-OF-SELECTION.
START-OF-SELECTION.
DO 5 TIMES.
WRITE:/ SY-INDEX.
ENDDO.
*THESE 3 STATEMENTS ARE FOR THE END-OF-PAGE CONTENTS IN LAST PAGE.
DATA M TYPE I.
M = SY-LINCT - SY-LINNO - 1.
SKIP M.
*AT LINE-SELECTION.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN '1'.
READ LINE SY-LILLI FIELD VALUE SFLIGHT-CONNID INTO VAR.
SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS OF ITAB WHERE
CONNID = VAR.
WRITE:/ ITAB-CARRID,ITAB-PLANETYPE,ITAB-PAYMENTSUM.
ENDSELECT.
WRITE:/ VAR.
SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS OF ITAB WHERE
CONNID = SY-LISEL+24(4).
WRITE:/ ITAB-CARRID,ITAB-PLANETYPE,ITAB-PAYMENTSUM.
ENDSELECT.
SKIP 1.
WRITE:/ SY-LISEL+24(4).
SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS OF ITAB WHERE
CONNID = SFLIGHT-CONNID.
WRITE:/ ITAB-CARRID,ITAB-PLANETYPE,ITAB-PAYMENTSUM.
ENDSELECT.
WRITE:/ SFLIGHT-CONNID.
WHEN '2'.
WRITE:/ SY-LILLI.
WHEN '3'.
WRITE 😕 'BHARAT'.
ENDCASE.
<b>reward if helpful</b>
rgds,
bharat.