Interactive and basic lists
Hi Gurus
What are the differences between Interactive and basic lists.When and where we using those.
Regards,
Venkat.
Hi,
Basic list is the first list what we get after we execute a report or program , which will have the list index 0.
The lists what we get in at line selection are called as Interactive lists or detail lists,
we can have maximum of 20 secondray lists(detail lists) and always there will be one basic list (if list is generated)
Cheers,
Babu.
Similar Messages
-
Interactive report basic list concept
Suppose in a basic list i have 7 parallel detail list.i am in basic list is there any way to go directly to 7 th detail list from basiclist or from 1st detail list to 7 th detail list vice-versa.
plz tell me..i am waiting.. for reply
thanx
aryaHi...
Just go through following code.... its for normal interactive reports...
TYPES : BEGIN OF st_kna1,
kunnr TYPE kna1-kunnr, "CUSTOMER NUMBER
name1 TYPE kna1-name1, "CUSTOMER NAME
END OF st_kna1.
TYPES : BEGIN OF st_vbak,
kunnr TYPE kna1-kunnr,
vbeln TYPE vbak-vbeln, "SALES DOCUMENT NUMBER
erdat TYPE vbak-erdat, "DATE ON WHICH THE RECORD WAS CREATED
audat TYPE vbak-audat, "DOCUMENT DATE
auart TYPE vbak-auart, "SALES DOCUMENT TYPE
ernam TYPE vbak-ernam, "NAME OF PERSON WHO CREATED THE OBJECT.
augru TYPE vbak-augru, "ORDER REASON
END OF st_vbak.
TYPES : BEGIN OF st_vbap,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr, "SALES DOCUMENT ITEM
matnr TYPE vbap-matnr, "MATERIAL NUMBER
charg TYPE vbap-charg, "BATCH NUMBER
matkl TYPE vbap-matkl, "MATERIAL GROUP
posar TYPE vbap-posar, "ITEM TYPE
END OF st_vbap.
DATA : it_kna1 TYPE STANDARD TABLE OF st_kna1,
it_vbak TYPE STANDARD TABLE OF st_vbak,
it_vbap TYPE STANDARD TABLE OF st_vbap,
wa_kna1 TYPE st_kna1,
wa_vbak TYPE st_vbak,
wa_vbap TYPE st_vbap.
DATA : v_fld(15),
v_kunnr TYPE kna1-kunnr,
v_vbeln TYPE vbak-vbeln.
SELECT-OPTIONS
PARAMETERS
SELECT-OPTIONS so_kunnr FOR v_kunnr. "CUSTOMER NUMBER
PARAMETERS : p_max TYPE i. "NUMBER OF HITS
START-OF-SELECTION
START-OF-SELECTION.
PERFORM get_customerdata.
SET PF-STATUS 'MENU1'.
AT LINE-SELECTION
AT LINE-SELECTION.
IF sy-lsind = 1.
PERFORM get_salesheader.
ELSEIF sy-lsind = 2.
PERFORM get_salesitemdata.
ENDIF.
AT USER-COMMAND
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'DISP'.
PERFORM get_salesheader.
WHEN 'ITEM'.
PERFORM get_salesitemdata.
WHEN 'VA03'.
SET PARAMETER ID 'AUN' FIELD wa_vbak-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDCASE.
TOP-OF-PAGE
TOP-OF-PAGE.
ULINE AT /1(56).
WRITE : /1 sy-vline ,
2(15) text-004 COLOR 1 ,
sy-vline ,
20(35) text-005 COLOR 1 ,
sy-vline.
ULINE AT /1(56).
TOP-OF-PAGE DURING LINE-SELECTION.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE sy-lsind.
WHEN 1.
PERFORM get_topofpage1.
WHEN 2.
PERFORM get_topofpage2.
ENDCASE.
FORM GET_CUSTOMERDATA
FORM get_customerdata.
SELECT kunnr name1
FROM kna1
INTO TABLE it_kna1
UP TO p_max ROWS
WHERE kunnr IN so_kunnr.
IF sy-subrc EQ 0.
LOOP AT it_kna1 INTO wa_kna1.
WRITE : / sy-vline,
2(15) wa_kna1-kunnr ,
sy-vline ,
20 wa_kna1-name1,
sy-vline.
HIDE : wa_kna1-kunnr , wa_kna1-name1.
CLEAR wa_kna1.
ENDLOOP.
ULINE AT : /1(56).
ELSE.
MESSAGE w000(z50871msg).
ENDIF.
ENDFORM. "GET_CUSTOMERDATA
FORM GET_SALESHEADER
FORM get_salesheader.
SET PF-STATUS 'MENU2'.
GET CURSOR FIELD v_fld VALUE v_kunnr.
IF v_fld = 'WA_KNA1-KUNNR'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kunnr
IMPORTING
output = v_kunnr.
SELECT kunnr vbeln erdat audat auart ernam augru
FROM vbak
INTO TABLE it_vbak
WHERE kunnr = v_kunnr.
IF sy-subrc EQ 0.
LOOP AT it_vbak INTO wa_vbak.
WRITE : / sy-vline ,
2(22) wa_vbak-vbeln ,
sy-vline,
27(25) wa_vbak-erdat ,
sy-vline ,
55(15) wa_vbak-audat ,
sy-vline ,
73(15) wa_vbak-auart ,
sy-vline,
91(16) wa_vbak-ernam ,
sy-vline,
109(13) wa_vbak-augru,
123 sy-vline.
HIDE : wa_vbak-vbeln.
CLEAR wa_vbak.
ENDLOOP.
ULINE AT : /1(123).
ELSE.
MESSAGE i015(z50871msg).
ENDIF.
ELSE.
MESSAGE i013(z50871msg).
ENDIF.
ENDFORM. "GET_SALESHEADER
FORM GET_SALESITEMDATA
FORM get_salesitemdata.
SET PF-STATUS space.
GET CURSOR FIELD v_fld VALUE v_vbeln.
IF v_fld = 'WA_VBAK-VBELN'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_vbeln
IMPORTING
output = v_vbeln.
SELECT vbeln posnr matnr charg matkl posar
FROM vbap
INTO TABLE it_vbap
WHERE vbeln = v_vbeln.
LOOP AT it_vbap INTO wa_vbap.
WRITE : /1 sy-vline,
2(13) wa_vbap-posnr ,
sy-vline,
18(18) wa_vbap-matnr ,
sy-vline,
40(13) wa_vbap-charg ,
sy-vline,
56(16) wa_vbap-matkl ,
sy-vline,
75 wa_vbap-posar,
112 sy-vline.
CLEAR wa_vbap.
ENDLOOP.
ULINE AT : /1(112).
ELSE.
MESSAGE i014(z50871msg).
ENDIF.
ENDFORM. "GET_SALESITEMDATA
FORM GET_TOPOFPAGE1
FORM get_topofpage1.
ULINE AT : /1(123).
WRITE : / sy-vline ,
2 text-000 ,
wa_kna1-kunnr ,
75 text-001 ,
wa_kna1-name1,
123 sy-vline.
ULINE AT : /1(123).
WRITE : / sy-vline ,
2(22) text-006 COLOR 1,
sy-vline,
27(25) text-007 COLOR 1 ,
sy-vline ,
55(15) text-008 COLOR 1 ,
sy-vline ,
73(15) text-009 COLOR 1 ,
sy-vline,
91(16) text-010 COLOR 1 ,
sy-vline,
109(13) text-011 COLOR 1,
123 sy-vline.
ULINE AT : /1(123).
ENDFORM. "GET_TOPOFPAGE1
FORM GET_TOPOFPAGE2
FORM get_topofpage2.
ULINE AT : /1(112).
WRITE : / sy-vline ,
2 text-000 ,
wa_kna1-kunnr ,
35 text-001 ,
wa_kna1-name1 ,
85 text-003 ,
wa_vbak-vbeln ,
112 sy-vline.
ULINE AT : /1(112).
WRITE : /1 sy-vline,
2(13) text-012 COLOR 1,
sy-vline,
18(18) text-013 COLOR 1 ,
sy-vline,
40(13) text-014 COLOR 1 ,
sy-vline,
56(16) text-015 COLOR 1 ,
sy-vline,
75 text-016 COLOR 1 ,
112 sy-vline.
ULINE AT : /1(112).
ENDFORM. "GET_TOPOFPAGE2
Thanks,
Naveen.I -
LINKING BETWEEN FUNCTION MODULE AND INTERACTIVE NO. OF BASIC LIST
Dear Mates,
Iam preparing Z report for BOM display of FG and SFG materials.
Iam displaying the Basic List using the MAST table. Here i double click on the material no.
Here iam using the function module :CS_BOM_EXPL_MAT_V2 for fetching the data from STPOX structure ,here i want to link material no. which has been from basic list and the above said function module.
Can anybody provide the solution for the above said linking in ALV interactive report.
Please treat it very urgent as this report is to be presented on high priority.
Thanks in advance
SubbuHi
use the Function module REUSE_ALV_POPUP_TO_SELECT.
check the below example:
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
check my example:
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 -
A report for MM where basic list will contain the material no and material
how to develop a report for MM where basic list will contain the material no and material description for the range of material no chosen by user. ...plz help me...how to do this step by step..
Hi Raja,
Firstly declare a select-option for material number.
write a select query specifying the required field and specify a where clause
as
WHERE MATNR IN S_MATNR.
Obviously you will select the records into internal table and so loop that internal table and display the records...
The records will be displayed on the basic list.
Hope this will solve your problem.
Regards,
Narin Nandivada -
Interactive Reports and menu list translations
Can anyone tell me how to translate the menu items contained in the interactive reports menu list (ie Select Columns, Filter, Sort....) ? I have translated an application into french and when I switch to that language the menu items in the interactive reports are still displayed in english yet the rest of my application is french. The translation file does not contain these items to translate. Can I make these french somehow? Its a pretty powerful tool, but not not if you can't make it language specific. Our french users would not accept this in english.
Hello,
>> Can anyone tell me how to translate the menu items contained in the interactive reports menu list …
The following section of the documentation explains exactly that - http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/global.htm#BABHCAAH .
For complete translation of the IR, you’ll need to translate all the string messages in table 16-4.
Regards,
Arie.
Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all. -
Drill down report:hide multiple line from basic list and disp in secon list
hi experts ,
I was using checkbox in basic list and user is suppose to check or tick the checkbox .
So in the secondary list I want to display only those row which which are selected (or checked) in checkbox by the user .
I had tried to use HIDE techineque but it is storing (or hiding) only single (the last which was checked) row and not multiple rows , thats why only single row is display on to secondary list .
So how to hide (or store) multiple row in secondary list to solve this problem .
thanks and warm regards ,
mehar .
Edited by: MEHAR RALEKAR on Sep 24, 2008 5:37 PMHi,
You can include the Checkbox field in your Internal Table of type i and when the AT LINE-SELECTION is generated, check for those entries in your internal table with the Checkbox = 'X'. Move them into a Separate Internal Table and Display them in your Secondary List.
Hope it was Helpful.
Thanks and Regards,
Venkat Phani Prasad Konduri -
I Need interactive report to list the purchase orders details for a vendor
I Need interactive report to list the purchase orders details for a vendor that has interactive drill down options to give the detail of vendor from vendor master.
Hi
see this sample report
this is Customer wise sales orders
just make similar report just using LFA1, EKKO and EKPO tables instead of KNA1,VBAK,VBAP
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
REPORT demo_list_at_pf.
START-OF-SELECTION.
WRITE 'Basic List, Press PF5, PF6, PF7, or PF8'.
AT pf5.
PERFORM out.
AT pf6.
PERFORM out.
AT pf7.
PERFORM out.
AT pf8.
PERFORM out.
FORM out.
WRITE: 'Secondary List by PF-Key Selection',
/ 'SY-LSIND =', sy-lsind,
/ 'SY-UCOMM =', sy-ucomm.
ENDFORM.
After executing the program, the system displays the basic list. The user can press the function keys F5 , F6 , F7 , and F8 to create secondary lists. If, for example, the 14th key the user presses is F6 , the output on the displayed secondary list looks as follows:
Secondary List by PF-Key Selection
SY-LSIND = 14
SY-UCOMM = PF06
Example for AT USER-COMMAND.
REPORT demo_list_at_user_command NO STANDARD PAGE HEADING.
START-OF-SELECTION.
WRITE: 'Basic List',
/ 'SY-LSIND:', sy-lsind.
TOP-OF-PAGE.
WRITE 'Top-of-Page'.
ULINE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE sy-pfkey.
WHEN 'TEST'.
WRITE 'Self-defined GUI for Function Codes'.
ULINE.
ENDCASE.
AT LINE-SELECTION.
SET PF-STATUS 'TEST' EXCLUDING 'PICK'.
PERFORM out.
sy-lsind = sy-lsind - 1.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'FC1'.
PERFORM out.
WRITE / 'Button FUN 1 was pressed'.
WHEN 'FC2'.
PERFORM out.
WRITE / 'Button FUN 2 was pressed'.
WHEN 'FC3'.
PERFORM out.
WRITE / 'Button FUN 3 was pressed'.
WHEN 'FC4'.
PERFORM out.
WRITE / 'Button FUN 4 was pressed'.
WHEN 'FC5'.
PERFORM out.
WRITE / 'Button FUN 5 was pressed'.
ENDCASE.
sy-lsind = sy-lsind - 1.
FORM out.
WRITE: 'Secondary List',
/ 'SY-LSIND:', sy-lsind,
/ 'SY-PFKEY:', sy-pfkey.
ENDFORM.
When you run the program, the system displays the following basic list with a the page header defined in the program:
You can trigger the AT LINE-SELECTION event by double-clicking a line. The system sets the status TEST and deactivates the function code PICK. The status TEST contains function codes FC1 to FC5. These are assigned to pushbuttons in the application toolbar. The page header of the detail list depends on the status.
Here, double-clicking a line no longer triggers an event. However, there is now an application toolbar containing five user-defined pushbuttons. You can use these to trigger the AT USER-COMMAND event. The CASE statement contains a different reaction for each pushbutton.
For each interactive event, the system decreases the SY-LSIND system field by one, thus canceling out the automatic increase. All detail lists now have the same level as the basic list and thus overwrite it. While the detail list is being created, SY-LSIND still has the value 1.
Regards
Anji -
What is interactive report , difference bet interactive and classic report
what is interactive report , difference bet interactive and classic report
Hi
Check this thread to get more idea about ALVs.
Interactive ALV
DIRLL DOWN AND INTERACTIVE REPORT
http://www.sap-img.com/abap/difference-between-drilldown-report-and-interactive-report.htm
As the name suggests, the user can Interact with the report. We can have a drill down into the report data. For example, Column one of the report displays the material numbers, and the user feels that he needs some more specific data about the vendor for that material, he can HIDE that data under those material numbers.
And when the user clicks the material number, another report (actually sub report/secondary list) which displays the vendor details will be displayed.
We can have a basic list (number starts from 0) and 20 secondary lists (1 to 21).
Events associated with Interactive Reports are:
AT LINE-SELECTION
AT USER-COMMAND
AT PF<key>
TOP-OF-PAGE DURING LINE-SELECTION.
HIDE statement holds the data to be displayed in the secondary list.
sy-lisel : contains data of the selected line.
sy-lsind : contains the level of report (from 0 to 21)
Interactive Report Events:
AT LINE-SELECTION : This Event triggers when we double click a line on the list, when the event is triggered a new sublist is going to be generated. Under this event what ever the statements that are been return will be displayed on newly generated sublist.
AT PFn: For predefined function keys...
AT USER-COMMAND : It provides user functions keys.
TOP-OF-PAGE DURING LINE-SELECTION :top of page event for secondary list.
http://abapprogramming.blogspot.com/search/label/INTERACTIVE%20REPORT%20BASICS -
hi,
What is difference between interactive report and drilldown report?
pls send it detailed.
thanx and regrads
priya.Hi Priya,
There is no difference between drill down and interactive report, they are the same.
With drilldown reporting, SAP provides you with an interactive information system to let you evaluate the data collected in your application. This information system is capable of analyzing all the data according to any of the characteristics that describe the data. You can also use any key figures you wish to categorize your data. You can display a number of objects for a given key figure, or a number of key figures for a given object. In addition, the system lets you carry out any number of variance analyses (such as plan/actual comparisons, fiscal year comparisons, comparisons of different objects, and so on).
You can produce both simple, data-directed lists (basic reports) and complex, formatted lists in drilldown reporting (form reports).
Drilldown report provides you with comfortable functions for navigating through your data. For example, you can jump to the next level of detail or the next report object on the same level, hide individual levels and switch between the detail and drilldown lists. It also provides a number of additional functions which let you process lists interactively (sorting, conditions, ranking lists, and so on). SAP Graphics, SAPmail and the Excel List Viewer are also integrated into drilldown reporting.
The drilldown functions are divided into three groups which differ in the number of functions available. That way each user can choose the functional level most suited for his requirements.
In addition to the online functions for displaying reports, drilldown reporting also provides functions which let you print reports. A number of formatting functions are available to let you determine the look of your printed reports (page breaks, headers and footers, underscores, and so on).
The menus and the functions available directly on the drilldown report make it easy to use the information system.
What is an Interactive Report?
An interactive report generally works in the following fashion:
1. Basic list is displayed.
2. User double clicks on any valid line
or
User selects a line and presses as button on the tool bar.
3. The corresponding event is triggered
4. Then in the code, the line on which action was done, is read.
5. Depending on the values in that selected line, a secondary list is displayed.
6. Steps from 2-5 are repeated till the end.
From the above explanation, I believe, its clear that, the 20th list, will essentially depend on the "selected line" of 19th list. According to your question, you want to move to 20th list directly, without "a prior list". May I know the exact requirement so that, an appropriate solution can be suggested?
Again, your question was, how to move to 20th list directly on pressing of execute button. Its not possible to move to 20th list. You must cross over a basic list, before you can go to a different list level, using the code given by Pavan.
What are Drilldown reports?
The lines of basic list of a drilldown report when clicked, will take the user to the corresponding (standard) object's display.
For eg: Suppose your report's primary component is purchase requisition, (assume you are printing PR details), and the basic list displays details of many PRs.
Eg: when clicked on a particular line of the PR basic list, it takes you to std t-code me53 (display of purchase requisition). This is the 'Drill-down' functionality.
For this, in the at-line selection of your program, as per the above ex: you'll set the parameter ID of PR number BAN (that you can get from Data element) in memory (using set parameter id) and then calling the corresponding transaction (usually skipping initial screen of the std t-code).
Likewise, if it's Material Number (Matnr), you'll be displaying MM03 transaction w.r.t. the line's matnr.
Regards
Sathish:) -
Refreshing Basic list when i press Refresh button
My Requirement is that when i move from the Basic list to interactive list. i am going to make some changes to internal table.
when i came back to basic list. and when i press 'REFRESH' button in the Application Tool Bar. screen has to refresh and display with modified data.Hi,
When you press Back button you can call this method REFRESH_TABLE_DISPLAY which refresh the data in the screen in basic list if you are using the ALV Classes. -
One basic list to 2 detail list .
HI Guru,
Is it possible to see 2 detail list from one basic list at same time in reports .
Eagerly waiting for your response.
Regards :
B.madhu sudhan reddy,
SAP Abap Tech.Hi,
You cannot create 2 interactive lists from a basic list.When you click on an interactive list you can create another interactive list.
This is because:-
from http://help.sap.com/saphelp_nw04/helpdata/en/9f/dba2eb35c111d1829f0000e829fbfe/content.htm
Creating Detail Lists
Each time the user executes an action on a list, the runtime environment checks whether there is an event block defined that corresponds to the function code. If there is, SY-LSIND is automatically increased by one, and the relevant event block is executed. Any list output arising during this event block places its data into a new list (list level) with the index SY-LSIND. In order to create a new list level, the GUI status of the basic list must allow user actions, and the relevant event blocks must be defined in the program.
All lists created during an interactive list event are detail lists. Each interactive list event creates a new detail list. With one ABAP program, you can maintain one basic list and up to 20 detail lists. If the user creates a list on the next level (that is, SY-LSIND increases), the system stores the previous list and displays the new one. The user can interact with whichever list is currently displayed.
The system displays this list after processing the entire processing block of the event keyword or after leaving the processing block due to EXIT or CHECK. By default, the new list overlays the previous list completely. However, you can display a list in a dialog box. If no other dialog status is set in the event block for the detail list, the system uses the status from the previous list level. However, there is no standard page header for detail lists (see below). -
Hi,
can someone please tell me how/where I can change the sort criteria and displayed columns of the basic list in an ALV report (e.g. S_ALR_87011963)? Our test and development systems seem to have different settings here. No layout has been created or defaulted. I just want the basic list to be the same in both systems. Then the users can create their own layouts as well, but the basic list should be the same.
Thanks,
MolyHi, This report seems to be a report painter/writer, Request you to check with your functional consultant and also check transaction GR* (GR51 to GR55 etc,,) to see if something can be changed.
Thanks,
Shiva -
ABAP Query - Sorting Issue in Basic List (SQ03)
Hi,
I have developed a ABAP Query. I want to sort some of the fields, for which I need to add some output fields to the sort sequence box in the Basic List page in SQ03/SQ01. But, I am not able to drag and drop the fields directly. Please suggest how can this be done? Thanks in advance.
Best Regards,
Tejas SavlaHi Abhishek,
There are three things related to Query.
1) You have to create the USER GROUP in SQ03.
2) You have to create the Infoset in SQ02. In this infoset you can write the logic of the program/Query what ever you want to perform.So you can sort the table in the infoset in the program logic.you have to create the output table of the query.
3) you have to create the Query in SQ01 and you have to associate the User group and infoset . you have to design the layput of the output you want to have.this output fields would be same as you have defined in infoset(step 2).
hope this will help you.
thanks
Tanmaya -
Hyperlink on field in Basic list of ABAP Query
Dear All,
Could somebody tell me, if its possible to have a hyperlink on a field in the Basic list of ABAP Query (SQ01,SQ02).
Example :- There is a basic list which has the field MARA-MATNR displayed.There should be a hyperlink on this field, such that when the user clicks on it , the transaction MM03 is called.
Thanking You.
RanuHi,
Loop at itab.
write:/ itab-matnr hotspot,
itab-maktx.
hide: itab-matnr.
endloop.
data: c_field(16).
at line-selection.
get cursor field c_field.
if c_field = 'ITAB-MATNR'.
check not itab-matnr is initial.
set parameter id 'MAT' field itab-matnr.
call transaction 'MM03' and skip first screen.
endif.
This is one example to call the transaction.
If this helps you award points.
Thanks,
Deepak. -
Black screen is in interactive and interactive text (console) mode
I want to install Solaris 10 on HP Proliant DL380 G5. After installing drivers for Smart Array (from CPQary3.iso) I can't see this:
"Starting Solaris Interactive (graphical user interface) Installation.
You must respond to the first question within 30 seconds or the installer
proceeds in a non-window environment (console mode)".
The screen now is black in both modes: interactive and interactive text (console)
If I don't install CPQary3 then graphical user interface works good, but "No disks found" :)
What can I do with it?
Edited by: Blutang on Jan 14, 2009 2:07 AMwell the problem has been solved...hope this may help others having this issue.
i basically just let the battery run out, then connected the ipod to my laptop and voila...it reset and all is well again...
pretty random, but glad it is all working again.
Maybe you are looking for
-
Cant get Skype to work anymore
Several months ago I got an email with an update option. Every since I did the update, I can no longer use skype. As soon as I log on, I get a message that says, Skype has quit working. Microsoft will look in to the problem and get back to you. It
-
Launch Quicktime Player/ No data duplication
Hello, I'm trying to use the blog template in iWeb to create a video organizing/browsing page. The basic idea is to have a picture from the video with a short descriptive text (easy), but then make it so when you click on the picture the video launch
-
Commit causes rows to disappear [solved: rogue client]
I just ran into the strangest thing. Running XE 11g on Linux and Apex. My apex app was acting strange so I went into SQLDeveloper to run the raw commands that the apex app was supposed to be running. I ran two insert statements, inserting data into a
-
MakersNote files and the Nikon D70
Having followed with interest the threads here regarding the problems people are having due to the MakersNote files associated with some cameras I thought I'd go straight to the horse's mouth and see what Nikon had to say. Dear Peter, Thanks for your
-
Module STATUS_0111 already define as a output module
Hi, I have an error in my PBO customer screen : Progr. : SAPLXM06 Include: ZXM06O01 Ligne: 9 Message d'erreur du contrôle syntaxique : Module STATUS_0111 is already defined as a OUTPUT module. Code message interne : MODULE 001 (le mes