Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

INTERACTIVE LIST

Former Member
0 Likes
1,124

HI All,

As i m a beginner to the abaap, and i want to do small project on library , so i want help in creating an interactive report for bookdetails

i have tried the below code.. it is working to some extened but not completely.

TABLES ZBOOKINFO.

DATA : I_BOOK TYPE STANDARD TABLE OF ZBOOKINFO,

W_BOOK TYPE ZBOOKINFO.

START-OF-SELECTION.

write : / 'BOOK DETAILS'.

TOP-OF-PAGE DURING LINE-SELECTION.

case sy-lsind.

when 1.

WRITE 'LIST OF BOOK DETAILS'.

ULINE.

when 2.

write 'list of isbn'.

uline.

when 3.

write ' list of books'.

endcase.

AT LINE-SELECTION.

WRITE: 'SY-LSIND:', sy-lsind.

skip.

write : /'ISBN'.

WRITE : /'BOOK_NAME'.

WRITE : /'AUTHOR_NAME'.

WRITE : /'PUBLISHER_NAME'.

WRITE : /'COST'.

PERFORM BOOK.

IF SY-LISEL = 'ISBN'.

PERFORM ISBN1.

ENDIF.

FORM ISBN1.

SELECT ISBN

FROM ZBOOKINFO

INTO CORRESPONDING FIELDS OF TABLE I_BOOK.

LOOP AT I_BOOK INTO W_BOOK.

NEW-PAGE .

WRITE 😕 W_BOOK-ISBN.

ENDLOOP.

WRITE : / 'BACK'.

ENDFORM. "ISBN1

NOW i want the details of isbn to be printed in new page but it is priniting in same screen. can you please help me out

thanks

pushpa

11 REPLIES 11
Read only

Former Member
0 Likes
1,089

Hi,

check this example

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.

SET PF-STATUS 'MENU'.

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.

**********************************************************

another example.

*******

REPORT ZINTERACTIVE_FINAL.

INCLUDE <COLOR>.

TABLES:SFLIGHT,SPFLI,SBOOK.

TYPES: BEGIN OF STRUCTURE,

CITYFROM LIKE SPFLI-CITYFROM,

CITYTO LIKE SPFLI-CITYTO,

CARRID LIKE SPFLI-CARRID ,

CONNID LIKE SPFLI-CONNID,

FLDATE LIKE SFLIGHT-FLDATE,

SEATSMAX LIKE SFLIGHT-SEATSMAX,

SEATSOCC LIKE SFLIGHT-SEATSOCC,

END OF STRUCTURE.

DATA : ITAB TYPE STRUCTURE OCCURS 0.

DATA: WA TYPE STRUCTURE.

DATA:LINE LIKE SY-LILLI.

SELECT SPFLICITYFROM SPFLICITYTO SPFLICARRID SPFLICONNID

SFLIGHTFLDATE SFLIGHTSEATSMAX SFLIGHT~SEATSOCC INTO (WA-CITYFROM,

WA-CITYTO,WA-CARRID,WA-CONNID,WA-FLDATE,WA-SEATSMAX,WA-SEATSOCC) FROM

SPFLI INNER JOIN SFLIGHT ON SPFLIMANDT = SFLIGHTMANDT AND SPFLI~CARRID

= SFLIGHTCARRID AND SPFLICONNID = SFLIGHT~CONNID.

*GET SPFLI.

*SELECT * FROM SPFLI.

  • MOVE-CORRESPONDING SPFLI TO WA.

*ENDSELECT.

*GET SFLIGHT.

*SELECT * FROM SFLIGHT.

  • MOVE-CORRESPONDING SFLIGHT TO WA.

*ENDSELECT.

APPEND WA TO ITAB.

ENDSELECT.

SET PF-STATUS 'GRUND'.

SET TITLEBAR 'GRU' .

SORT ITAB BY CITYFROM CITYTO CARRID CONNID SEATSOCC.

*LOOP AT ITAB INTO WA.

*WRITE:/ WA-CARRID,WA-CONNID,WA-CITYFROM,WA-CITYTO.

*ENDLOOP.

LOOP AT ITAB INTO WA.

AT FIRST.

WRITE:/ 'START OUTPUT INTERNAL TABLE'.

ULINE.

ENDAT.

AT NEW CITYFROM.

WRITE:/ WA-CITYFROM COLOR COL_KEY.

ENDAT.

AT NEW SEATSOCC.

WRITE:/10 WA-CARRID,WA-CONNID,WA-FLDATE COLOR COL_NORMAL,

WA-SEATSOCC COLOR COL_NORMAL,WA-SEATSMAX COLOR COL_NORMAL.

HIDE : WA-CONNID, WA-CARRID, WA-FLDATE.

ENDAT.

AT END OF CONNID.

SUM.

WRITE:/ WA-SEATSOCC COLOR COL_TOTAL UNDER WA-SEATSOCC,

WA-SEATSMAX COLOR COL_TOTAL.

  • ULINE .

ENDAT.

AT END OF CARRID.

SUM.

  • ULINE.

WRITE:/ WA-SEATSOCC COLOR COL_TOTAL INTENSIFIED UNDER

WA-SEATSOCC, WA-SEATSMAX COLOR COL_TOTAL INTENSIFIED.

ULINE.

ENDAT.

ENDLOOP.

CLEAR WA.

AT LINE-SELECTION.

CASE SY-LSIND.

WHEN 1.

WRITE:/' AIRLINE ', WA-CARRID ,

/'FLIGHT CONNECTION',WA-CONNID ,

/'FLIGHT DATE',WA-FLDATE.

ULINE.

SELECT * FROM SBOOK WHERE CARRID = WA-CARRID AND CONNID = WA-CONNID

AND FLDATE = WA-FLDATE .

WRITE 😕 SBOOK-BOOKID,SBOOK-CUSTOMID,SBOOK-ORDER_DATE.

ENDSELECT.

CLEAR WA.

WHEN 2.

LINE = SY-LILLI.

IF LINE > 4.

LINE = LINE - 4.

WRITE:/ 'SELECTED LINE NUMBE:',LINE.

ENDIF.

ENDCASE.

rgds,

bharat.

Message was edited by:

Bharat Kalagara

Read only

0 Likes
1,089

thanks for your reply,

but i m bit confused by your program.. can you take my code and help me out please..i want isbn list to displayed in new page ..

Read only

Former Member
0 Likes
1,089

Hi

Which data should print on first page?

first try to print some data on first page, then after double clicking on a field on first list it should take you to second list.

see the sample code and do.

REPORT ZTEJ_INTAB1 LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE

HEADING.

*TABLES DECLARATION

TABLES : KNA1, VBAK, VBAP.

*SELECT OPTIONS

SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.

*INITIALIZATION

INITIALIZATION.

CUST_NO-LOW = '01'.

CUST_NO-HIGH = '5000'.

CUST_NO-SIGN = 'I'.

CUST_NO-OPTION = 'BT'.

APPEND CUST_NO.

*SELECTION SCREEN VALIDATION

AT SELECTION-SCREEN ON CUST_NO.

LOOP AT SCREEN.

IF CUST_NO-LOW < 1 OR CUST_NO-HIGH > 5000.

MESSAGE E001(ZTJ1).

ENDIF.

ENDLOOP.

*BASIC LIST SELECTION

START-OF-SELECTION.

SELECT KUNNR NAME1 ORT01 LAND1 INTO

(KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)

FROM KNA1

WHERE KUNNR IN CUST_NO.

WRITE:/1 SY-VLINE,

KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,

16 SY-VLINE,

KNA1-NAME1 UNDER 'NAME',

61 SY-VLINE,

KNA1-ORT01 UNDER 'CITY',

86 SY-VLINE,

KNA1-LAND1 UNDER 'COUNTRY',

103 SY-VLINE.

HIDE: KNA1-KUNNR.

ENDSELECT.

ULINE.

*SECONDARY LIST ACCESS

AT user-command.

IF SY-UCOMM = 'IONE'.

PERFORM SALES_ORD.

ENDIF.

IF SY-UCOMM = 'ITWO'.

PERFORM ITEM_DET.

ENDIF.

*TOP OF PAGE

TOP-OF-PAGE.

FORMAT COLOR 1.

WRITE : 'CUSTOMER DETAILS'.

FORMAT COLOR 1 OFF.

ULINE.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'CUSTOMER NO.',

16 SY-VLINE,

18 'NAME',

61 SY-VLINE,

63 'CITY',

86 SY-VLINE,

88 'COUNTRY',

103 SY-VLINE.

ULINE.

FORMAT COLOR 3 OFF.

*TOP OF PAGE FOR SECONDARY LISTS

TOP-OF-PAGE DURING LINE-SELECTION.

*TOP OF PAGE FOR 1ST SECONDARY LIST

IF SY-UCOMM = 'IONE'.

ULINE.

FORMAT COLOR 1.

WRITE : 'SALES ORDER DETAILS'.

ULINE.

FORMAT COLOR 1 OFF.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'CUSTOMER NO.',

16 SY-VLINE,

18 'SALES ORDER NO.',

40 SY-VLINE,

42 'DATE',

60 SY-VLINE,

62 'CREATOR',

85 SY-VLINE,

87 'DOC DATE',

103 SY-VLINE.

ULINE.

ENDIF.

FORMAT COLOR 3 OFF.

*TOP OF PAGE FOR 2ND SECONDARY LIST

IF SY-UCOMM = 'ITWO'.

ULINE.

FORMAT COLOR 1.

WRITE : 'ITEM DETAILS'.

ULINE.

FORMAT COLOR 1 OFF.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'SALES ORDER NO.',

40 SY-VLINE,

42 'SALES ITEM NO.',

60 SY-VLINE,

62 'ORDER QUANTITY',

103 SY-VLINE.

ULINE.

ENDIF.

FORMAT COLOR 3 OFF.

*END OF PAGE

END-OF-PAGE.

ULINE.

WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',

SY-PAGNO.

SKIP.

&----


*& Form SALES_ORD

*&

*& FIRST SECONDARY LIST FORM

&----


FORM SALES_ORD .

SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO

(VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)

FROM VBAK

WHERE KUNNR = KNA1-KUNNR.

WRITE:/1 SY-VLINE,

VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,

16 SY-VLINE,

VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,

40 SY-VLINE,

VBAK-ERDAT UNDER 'DATE',

60 SY-VLINE,

VBAK-ERNAM UNDER 'CREATOR',

85 SY-VLINE,

VBAK-AUDAT UNDER 'DOC DATE',

103 SY-VLINE.

HIDE : VBAK-VBELN.

ENDSELECT.

ULINE.

ENDFORM. " SALES_ORD

&----


*& Form ITEM_DET

*&

*& SECOND SECONDARY LIST FORM

&----


FORM ITEM_DET .

SELECT VBELN POSNR KWMENG INTO

(VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)

FROM VBAP

WHERE VBELN = VBAK-VBELN.

WRITE : /1 SY-VLINE,

VBAP-VBELN UNDER 'SALES ORDER NO.',

40 SY-VLINE,

VBAP-POSNR UNDER 'SALES ITEM NO.',

60 SY-VLINE,

VBAP-KWMENG UNDER 'ORDER QUANTITY',

103 SY-VLINE.

ENDSELECT.

ULINE.

ENDFORM. " ITEM_DET

Reward points if useful

Regards

Anji

Read only

0 Likes
1,089

thanks for your reply,

i m printing list of book detalis in first page the preview of the first page is as below

<b>list of book details

isbn

bookname

authorname

publishername

cost</b>

and when i double on <u>isbn</u> i want it to go next page where i can found the list of isbn and i want to come back to the first page again after performing this task..

Read only

Former Member
0 Likes
1,089

Hello Pushpa,

Actullay the ISBN details are writing in a new page only.

Check the SY-LSIND when u r double clicking on the ISBN.

THe SY-LSIND will be increated it means the details are written in the new page.

If useful reward.

Vasanth

Read only

0 Likes
1,089

ya it is printing in new page..but it is adding the previous page also.. i got to know that i should use new-page.. can you help me in creating code for new-page for my code.

Read only

Former Member
0 Likes
1,089

Hi ,

Use new-page with at new event as :

loop at itab.

at new <field>.

new-page.

endat.

write:/itab-field1.

endloop.

Read only

0 Likes
1,089

thanks for your reply, i will try this, can you tell me where to add this code in my code.

Read only

Former Member
0 Likes
1,089

hi puspha,

i think in at line selection event u have no condition so its printing on the same page.so navigate to next level try like this.

at line-selection.

case sy-lsind.

when 'ISBN'.

PERFORM ISBN1.

ENDIF.

.

.

.

.

.

endcase.

FORM ISBN1.

SELECT ISBN

FROM ZBOOKINFO

INTO CORRESPONDING FIELDS OF TABLE I_BOOK.

LOOP AT I_BOOK INTO W_BOOK.

*NEW-PAGE .

WRITE 😕 W_BOOK-ISBN.

ENDLOOP.

WRITE : / 'BACK'.

ENDFORM. "ISBN1

for better understanding use hot spot option for fileds for which u wanna to click to navigate for next level

if helpful reward some points.

with regards,

suresh babu aluri.

Read only

0 Likes
1,089

no it is not working.. it showing run time error if i do your code. please can yu check it..

Read only

0 Likes
1,089

Hi,

Try like this.You got to put the basic list above the at line-selection event and

below the Start-of-selection event.

DATA : I_BOOK TYPE STANDARD TABLE OF ZBOOKINFO,

W_BOOK TYPE ZBOOKINFO.

START-OF-SELECTION.

write : / 'BOOK DETAILS'.

WRITE: 'SY-LSIND:', sy-lsind.

skip.

write : /'ISBN'.

WRITE : /'BOOK_NAME'.

WRITE : /'AUTHOR_NAME'.

WRITE : /'PUBLISHER_NAME'.

WRITE : /'COST'.

PERFORM BOOK.

TOP-OF-PAGE DURING LINE-SELECTION.

case sy-lsind.

when 1.

WRITE 'LIST OF BOOK DETAILS'.

ULINE.

when 2.

write 'list of isbn'.

uline.

when 3.

write ' list of books'.

endcase.

AT LINE-SELECTION.

IF SY-LISEL = 'ISBN'.

PERFORM ISBN1.

ENDIF.

FORM ISBN1.

SELECT ISBN

FROM ZBOOKINFO

INTO CORRESPONDING FIELDS OF TABLE I_BOOK.

LOOP AT I_BOOK INTO W_BOOK.

NEW-PAGE .

WRITE 😕 W_BOOK-ISBN.

ENDLOOP.

WRITE : / 'BACK'.

ENDFORM. "ISBN1