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

in interactive reporting

Former Member
0 Likes
527

hi

In interactive reporting, i generated basic list and from that secondarylist-1 then from that secondarylist-2 with some date( with any data). but when i am trying to go to third secondary list it is not going to that list. what might be the mistake?

4 REPLIES 4
Read only

Former Member
0 Likes
495

hi,

did you code your program properly..

You do put a break-point in the secondary list where it will trigger to 3rd list and you can only find the actual reason..

else paste your code we will try to help you out..

reward if helpful

regards,

nazeer

Message was edited by:

nazeer shaik

Read only

Former Member
0 Likes
495

check whether u hide the secondary list.

Read only

ashok_kumar24
Contributor
0 Likes
495

Hi jyothsna vankadari,

<b>The ABAP system field SY-LSIND contains the index of the list currently being created. While the basic list is being created, SY-LSIND is zero.

so when u want to go to 3rd list from 2nd one...

AT LINE-SELECTION.

IF sy-lsind = 2.

sy-lsind = 3.

" any code u want to include

ENDIF.

i think this ll b useful...

Herewith i am sending the sample coding for the INTERACTIVE LIST report.

REPORT YMS_ALVINTER2.

*REPORT ZALV_SELECT_LINE_ITEM .

TYPE-POOLS : slis.

*----


Data

DATA : BEGIN OF itab OCCURS 0.

INCLUDE STRUCTURE t001.

DATA : flag tyPE c,

END OF itab.

*

*DATA: itab like t001 occurs 0 with header line.

DATA : alvfc TYPE slis_t_fieldcat_alv.

DATA : alvly TYPE slis_layout_alv.

data v_repid like sy-repid.

*----


Select Data

v_repid = sy-repid.

SELECT * FROM t001 INTO TABLE itab.

*------- Field Catalogue

call function 'REUSE_ALV_FIELDCATALOG_MERGE'

exporting

i_program_name = v_repid

i_internal_tabname = 'ITAB'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

i_inclname = v_repid

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

changing

ct_fieldcat = alvfc[] .

*----


Display

alvly-box_fieldname = 'FLAG'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

it_fieldcat = alvfc[]

i_callback_program = v_repid

i_callback_user_command = 'ITAB_USER_COMMAND'

is_layout = alvly

TABLES

t_outtab = itab

EXCEPTIONS

program_error = 1

OTHERS = 2.

*----


  • CALL BACK FORM

*----


FORM itab_user_command USING whatcomm TYPE sy-ucomm whatrow TYPE

slis_selfield.

*----


IMPORTANT.

data : m(100) type c.

m = whatrow-tabindex.

condense m.

concatenate 'Row Number is ' m into m separated by space.

concatenate m ' : Field Clicked is ' whatrow-fieldname into m separated

by space.

message i000(su) with m.

Example: 2

I am providing Normal Interactive reporting and ALV interactive also.

check below two programs

sample code for Interactive reporting:

REPORT ZSR_REPT_INTERACTIVE.

.

TABLES : KNA1,VBAK,VBAP,MARA.

SELECT-OPTIONS : CUST FOR KNA1-KUNNR.

DATA : BEGIN OF ITAB OCCURS 0,

KUNNR LIKE KNA1-KUNNR,

NAME1 LIKE KNA1-NAME1,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

VBELN LIKE VBAK-VBELN,

NETWR LIKE VBAK-NETWR,

END OF JTAB.

DATA : BEGIN OF KTAB OCCURS 0,

POSNR LIKE VBAP-POSNR,

MATNR LIKE MARA-MATNR,

END OF KTAB.

DATA : FNAM(20),FVAL(10).

START-OF-SELECTION.

SELECT KUNNR NAME1 FROM KNA1 INTO TABLE ITAB WHERE KUNNR IN CUST.

LOOP AT ITAB.

WRITE 😕 ITAB-KUNNR HOTSPOT, ITAB-NAME1.

HIDE ITAB-KUNNR.

ENDLOOP.

AT LINE-SELECTION.

CASE SY-LSIND.

WHEN 1.

SELECT VBELN NETWR FROM VBAK INTO TABLE JTAB WHERE KUNNR = ITAB-KUNNR.

LOOP AT JTAB.

WRITE 😕 JTAB-VBELN HOTSPOT,JTAB-NETWR.

HIDE JTAB-VBELN.

ENDLOOP.

WHEN 2.

SELECT VBAPPOSNR MARAMATNR INTO TABLE KTAB FROM VBAP INNER JOIN MARA

ON VBAPMATNR = MARAMATNR WHERE VBAP~VBELN = JTAB-VBELN..

LOOP AT KTAB.

WRITE 😕 KTAB-POSNR, KTAB-MATNR HOTSPOT.

HIDE KTAB-MATNR.

ENDLOOP.

WHEN 3.

GET CURSOR FIELD FNAM VALUE FVAL.

SET PARAMETER ID 'MAT' FIELD FVAL.

CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.

ENDCASE.

TOP-OF-PAGE DURING LINE-SELECTION.

CASE SY-LSIND.

WHEN 1.

WRITE 😕 'SALES DETAILS'.

WHEN 2.

WRITE 😕 'ITEM DETAILS'.

ENDCASE.

sample cod efor ALV Interactive :

REPORT ZSR_ALV_INTERACTIVE.

TABLES : LFA1,EKKO,EKPO.

SELECT-OPTIONS : VENDOR FOR LFA1-LIFNR.

DATA : BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

END OF JTAB.

DATA : BEGIN OF KTAB OCCURS 0,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

END OF KTAB.

TYPE-POOLS : SLIS.

DATA : REPID LIKE SY-REPID.

DATA :LFA1_B TYPE SLIS_T_FIELDCAT_ALV,

LFA1_W TYPE SLIS_FIELDCAT_ALV,

EKKO_B TYPE SLIS_T_FIELDCAT_ALV,

EKKO_W TYPE SLIS_FIELDCAT_ALV,

EKPO_B TYPE SLIS_T_FIELDCAT_ALV,

EKPO_W TYPE SLIS_FIELDCAT_ALV,

EVENTS_B TYPE SLIS_T_EVENT,

EVENTS_W TYPE SLIS_ALV_EVENT.

PERFORM GET_VAL.

REPID = SY-REPID.

SELECT LIFNR NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN VENDOR.

*perform val USING USER_COMMAND sel.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPID

IT_FIELDCAT = LFA1_B

IT_EVENTS = EVENTS_B

TABLES

T_OUTTAB = ITAB.

&----


*& Form GET_VAL

&----


  • text this is to put column headings

----


FORM GET_VAL.

LFA1_W-FIELDNAME = 'LIFNR'.

LFA1_W-REF_TABNAME = 'LFA1'.

LFA1_W-REF_FIELDNAME = 'LIFNR'.

APPEND LFA1_W TO LFA1_B.

LFA1_W-FIELDNAME = 'NAME1'.

LFA1_W-REF_TABNAME = 'LFA1'.

LFA1_W-REF_FIELDNAME = 'NAME1'.

APPEND LFA1_W TO LFA1_B.

EKKO_W-FIELDNAME = 'EBELN'.

EKKO_W-REF_TABNAME = 'EKKO'.

EKKO_W-REF_FIELDNAME = 'EBELN'.

APPEND EKKO_W TO EKKO_B.

EKKO_W-FIELDNAME = 'AEDAT'.

EKKO_W-REF_TABNAME = 'EKKO'.

EKKO_W-REF_FIELDNAME = 'AEDAT'.

APPEND EKKO_W TO EKKO_B.

EKPO_W-FIELDNAME = 'EBELP'.

EKPO_W-REF_TABNAME = 'EKPO'.

EKPO_W-REF_FIELDNAME = 'EBELP'.

APPEND EKPO_W TO EKPO_B.

EKPO_W-FIELDNAME = 'MATNR'.

EKPO_W-REF_TABNAME = 'EKPO'.

EKPO_W-REF_FIELDNAME = 'MATNR'.

APPEND EKPO_W TO EKPO_B.

EVENTS_W-NAME = 'USER_COMMAND'.

EVENTS_W-FORM = 'VAL'.

APPEND EVENTS_W TO EVENTS_B.

ENDFORM. "GET_VAL

&----


*& Form VAL

&----


  • text

----


  • -->USER_COMMANtext

  • -->SEL text for retrieving data

----


FORM VAL USING USER_COMMAND LIKE SY-UCOMM SEL TYPE SLIS_SELFIELD.

DATA : VEN(10) TYPE N,

PO(10) TYPE N.

DATA : MAT(10) TYPE C.

IF SEL-FIELDNAME = 'LIFNR'.

VEN = SEL-VALUE.

SELECT EBELN AEDAT FROM EKKO INTO TABLE JTAB WHERE LIFNR = VEN.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPID

  • I_STRUCTURE_NAME = EKKO_B

IT_FIELDCAT = EKKO_B

IT_EVENTS = EVENTS_B

TABLES

T_OUTTAB = JTAB.

ENDIF.

IF SEL-FIELDNAME = 'EBELN'.

PO = SEL-VALUE.

SELECT EBELP MATNR FROM EKPO INTO TABLE KTAB WHERE EBELN = PO.

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

I_TITLE = 'ITEM DETAILS'

I_TABNAME = 'EKPO'

IT_FIELDCAT = EKPO_B

I_CALLBACK_PROGRAM = REPID

IMPORTING

ES_SELFIELD = SEL

TABLES

T_OUTTAB = KTAB.

ENDIF.

  • logic to select a record

IF SEL-FIELDNAME = 'MATNR'.

MAT = SEL-VALUE.

SET PARAMETER ID 'MAT' FIELD MAT.

CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.

ENDIF.

ENDFORM. "VAL</b>

Good Luck and thanks

AK

Read only

former_member223446
Active Participant
0 Likes
495

hi jyothsna

case sy-lsind.

when 1.

select ........ from kna -


where kunnr in skunnr

loop at itkna

write : /

hide itvbak-vbeln

endloop.

when 2.

select -


from vbak -


where kunnr = itvbak-vbeln

loop at itvbak

write : /

hide itvbap-vbeln

endloop.

when 3.

select----


from vbap -


where vbeln = itvbap-vbeln.

loop at itvbap

write 😕

endloop.

endcase.

this will solve your problem.

don't forget reward points

kiran