how to write code alv with interactive?when i clicked
1field i will generated next-level report,is it possible in
alv?
Answer Posted / nitin sharma
Just check the following code
Building Interactive ALV list
using 'REUSE_ALV_LIST_DISPLAY'.
By Haritha
This program displays the Purchase Order header details on
the basic
list and on double-clicking any of the record on the basic
list,
the item-level information is displayed on the secondary
list.
REPORT ZPURCHASE_ORDER.
************************************************************
***********
* TYPE-POOLS DECLARATION
************************************************************
***********
TYPE-POOLS:
SLIS.
************************************************************
***********
* DATA DECLARATIONS
************************************************************
***********
DATA:
W_EBELN TYPE EKKO-EBELN,
W_PROG TYPE SY-REPID,
T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
FS_FIELDCAT LIKE LINE OF T_FIELDCAT,
T_EVENTCAT TYPE SLIS_T_EVENT,
W_EVENTCAT LIKE LINE OF T_EVENTCAT.
************************************************************
***********
* SELECT-OPTIONS DECLARATION
************************************************************
***********
SELECT-OPTIONS:
S_EBELN FOR W_EBELN.
************************************************************
***********
* INTERNAL TABLE AND FIELD-STRING DECLARATIONS
************************************************************
***********
DATA:
T_EKKO LIKE
STANDARD TABLE
OF EKKO,
FS_EKKO LIKE LINE OF T_EKKO.
DATA:
T_EKPO LIKE
STANDARD TABLE
OF EKPO,
FS_EKPO LIKE LINE OF T_EKPO.
************************************************************
***********
* START-OF-SELECTION
************************************************************
***********
START-OF-SELECTION.
SELECT *
FROM EKKO
INTO TABLE T_EKKO
WHERE EBELN IN S_EBELN.
W_PROG = SY-REPID.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = W_PROG
I_CALLBACK_USER_COMMAND = 'PICK'
I_STRUCTURE_NAME = 'EKKO'
TABLES
T_OUTTAB = T_EKKO
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*&----------------------------------------------------------
----------*
*& Form pick
*&----------------------------------------------------------
----------*
* -->UCOMM text
* -->SELFIELD text
*-----------------------------------------------------------
----------*
FORM PICK USING COMMAND LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
READ TABLE T_EKKO INTO FS_EKKO INDEX SELFIELD-TABINDEX.
CASE COMMAND.
WHEN '&IC1'.
SELECT *
FROM EKPO
INTO TABLE T_EKPO
WHERE EBELN EQ FS_EKKO-EBELN.
W_PROG = SY-REPID.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'EKPO'
CHANGING
CT_FIELDCAT = T_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'EBELN'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'BUKRS'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'LGORT'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'WERKS'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = W_PROG
IT_FIELDCAT = T_FIELDCAT
IT_EVENTS = T_EVENTCAT
TABLES
T_OUTTAB = T_EKPO
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDCASE. " CASE COMMAND
ENDFORM. " FORM PICK
FORM T_EVENTCAT.
W_EVENTCAT-NAME = 'TOP_OF_PAGE'.
W_EVENTCAT-FORM = 'TOP'.
APPEND W_EVENTCAT TO T_EVENTCAT.
ENDFORM.
FORM TOP.
READ TABLE T_EKPO INTO FS_EKPO INDEX 1.
WRITE:/ 'Purchase Document Number'(001),30 FS_EKPO-EBELN,
/ 'Company Code'(002), 30 FS_EKPO-BUKRS,
/ 'Plant'(003), 30 FS_EKPO-WERKS,
/ 'Storage Location'(004),30 FS_EKPO-LGORT.
ENDFORM.
Test Run:
If we enter the Purchasing Document Number and execute,
the Basic list will be displayed as follows.
When we double click on a record,
the secondary list will be displayed as follows:
Yes, it is possible.
Is This Answer Correct ? | 6 Yes | 1 No |
Post New Answer View All Answers
Type casting and error handling
What are the pooled and cluster tables?
How can you distinguish between different kinds of parameters?
How do you set up background jobs in sap? What are the steps? What are the event driven batch jobs?
Can a filed occur in several field groups? : abap modularization
How to combine multiple order in one Delivery ( Step by Step)?
Lock objects and what are parameters of ENQUEUE FM?
How to call a subroutine in sapscript?
Write an abap program for creation of customer enquiry using BAPI 'BAPI_INQUIRY_CREATEFROMDATA'.
What are interface/conversion programs in SAP?
Explain what are standard layouts sets in the sap script?
What is the difference between collect and sum?
Define abap/4 layer? : abap data dictionary
What is client in the sap system? : sap abap hr
What is narrow casting and wide casting?