Documente Academic
Documente Profesional
Documente Cultură
Scope:
This document briefly explains the dynamic retrieval of data from database tables. Here, the
table name and the number of lines to be selected can be specified by the user .The user has to choose
the fields which are to be displayed in output ,from a pop up window . The output will be displayed in
simple ALV report format.
Conventional Method:
The following section will briefly describe the steps followed to select data using Conventional method:
Step1:
Create a Z program.
Step2:
*&---------------------------------------------------------------------*
*&Report ZDYNAMIC_SELECT
*&---------------------------------------------------------------------*
REPORT ZDYNAMIC_SELECT..
TYPE-POOLS SLIS.
END OF WA.
INITIALIZATION.
*NOCODE
WA-INTTYPE = IT_DFIES-INTTYPE.
WA-DECIMALS = IT_DFIES-DECIMALS.
WA-INTLEN = IT_DFIES-INTLEN.
APPEND WA.
ENDLOOP.
IF SY-SUBRC = 0.
*********** Fielcatalog for popup window ***************
FIELD_CATALOG-FIELDNAME = 'CHECK'.
FIELD_CATALOG-SELTEXT_M = 'Selection Field'.
FIELD_CATALOG-TABNAME = 'WA'.
FIELD_CATALOG-COL_POS = 1.
FIELD_CATALOG-OUTPUTLEN = 3.
APPEND FIELD_CATALOG.
CLEAR FIELD_CATALOG.
FIELD_CATALOG-FIELDNAME = 'FIELDNAME'.
FIELD_CATALOG-SELTEXT_M = 'Field Names'.
FIELD_CATALOG-TABNAME = 'WA'.
FIELD_CATALOG-COL_POS = 2.
FIELD_CATALOG-OUTPUTLEN = 12.
APPEND FIELD_CATALOG.
CLEAR FIELD_CATALOG.
FIELD_CATALOG-FIELDNAME = 'FIELDTEXT'.
FIELD_CATALOG-SELTEXT_M = 'Field Description'.
FIELD_CATALOG-TABNAME = 'WA'.
FIELD_CATALOG-COL_POS = 3.
FIELD_CATALOG-OUTPUTLEN = 60.
APPEND FIELD_CATALOG.
CLEAR FIELD_CATALOG.
******** Function module for popup **************
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT' " List in dialog box to choose one or mo
re entries (or display only)
EXPORTING
I_ZEBRA = 'X'
I_TITLE = 'Fields For Selection'
I_TABNAME = 'WA'
IT_FIELDCAT = FIELD_CATALOG[]
I_CHECKBOX_FIELDNAME = 'CHECK'
TABLES
T_OUTTAB = WA.
ENDIF.
CLEAR: FIELD_CATALOG[],FIELD_CATALOG.
LVC-FIELDNAME = WA-FIELDNAME.
LVC-SCRTEXT_S = WA-FIELDTEXT.
LVC-OUTPUTLEN = WA-OUTPUTLEN.
LVC-DATATYPE = WA-DATATYPE.
LVC-INTTYPE = WA-INTTYPE.
LVC-TABNAME = P_TABLE.
LVC-DECIMALS = WA-DECIMALS.
LVC-INTLEN = WA-INTLEN.
APPEND LVC TO LVC1.
CLEAR LVC.
FIELD = WA-FIELDNAME.
APPEND FIELD TO IT_FIELD.
FIELD_CATALOG-FIELDNAME = WA-FIELDNAME.
FIELD_CATALOG-SELTEXT_M = WA-FIELDTEXT.
FIELD_CATALOG-TABNAME = P_TABLE.
FIELD_CATALOG-OUTPUTLEN = WA-OUTPUTLEN.
APPEND FIELD_CATALOG.
CLEAR FIELD_CATALOG.
ENDLOOP.
IF SY-SUBRC = 0.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = LVC1
I_LENGTH_IN_BYTE = 'X'
IMPORTING
EP_TABLE = DY_TABLE.
IF SY-SUBRC = 0.
************* Select query for fetching data for the selected field at runtime **********
SELECT (IT_FIELD)
FROM (P_TABLE)
INTO TABLE <DYN_TABLE> UP TO P_LINES ROWS.
************* Function module for ALV Grid Display ******************************
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = FIELD_CATALOG[]
TABLES
T_OUTTAB = <DYN_TABLE>
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
By Sivaprasath Sekar KAAVIAN Systems
ENDIF.
ENDIF.
ENDFORM. " SELECT
Step3:
Enter the Table name and the Number of lines to be selected and execute..
Step4:
Select the fields to be fetched from the popup for output and press copy(Enter)...
By Sivaprasath Sekar KAAVIAN Systems
Step 5: