2007 Jun 22 7:04 AM
Dynamic fieldcatalog without using alv grid.please dont use abap objects concept.i want the solution with normal alv reporting and not with oops concept and all.thanks.
Message was edited by:
prachi s
2007 Jun 22 7:11 AM
Dynamic fieldcatalog without using alv grid.please dont use abap objects concept.i want the solution with normal alv reporting and not with oops concept and all.thanks.
Message was edited by:
prachi s
2007 Jun 22 7:11 AM
2007 Jun 22 7:29 AM
Hi Prachi
<i><b>check this sample code</b></i>
TYPE-POOLS: SLIS.
TABLES: KNA1.
DATA: BEGIN OF IT_KNA1 OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
LAND1 LIKE KNA1-LAND1,
NAME1 LIKE KNA1-NAME1,
NAME2 LIKE KNA1-NAME2,
END OF IT_KNA1.
DATA: V_EVENTS TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT.
DATA: V_REPID LIKE SY-REPID .
DATA: I_GRID_TITLE TYPE LVC_TITLE VALUE 'TEST'.
DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT LIKE LINE OF IT_FIELDCAT.
*SELECT-OPTIONS: S_KUNNR FOR KNA1-KUNNR.
INITIALIZATION.
PERFORM EVENT_CALL.
PERFORM POPULATE_EVENT.
START-OF-SELECTION.
PERFORM IT_POPULATE.
PERFORM ALV_STRUCT.
PERFORM DIS_PLAY.
*&---------------------------------------------------------------------*
*& Form IT_POPULATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM IT_POPULATE .
SELECT KUNNR LAND1 NAME1 NAME2 FROM KNA1 INTO TABLE IT_KNA1." WHERE KUNNR IN S_KUNNR.
ENDFORM. " IT_POPULATE
*&---------------------------------------------------------------------*
*& Form ALV_STRUCT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_STRUCT .
WA_FIELDCAT-FIELDNAME = 'KUNNR'.
WA_FIELDCAT-SELTEXT_M = 'NAME'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LAND1'.
WA_FIELDCAT-SELTEXT_M = 'LAND'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'NAME1'.
WA_FIELDCAT-SELTEXT_M = 'NAME'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'NAME2'.
WA_FIELDCAT-SELTEXT_M = 'NAME'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
ENDFORM. " ALV_STRUCT
*&---------------------------------------------------------------------*
*& Form DIS_PLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DIS_PLAY .
V_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME = I_STRUCTURE_NAME
* I_BACKGROUND_ID = ' '
I_GRID_TITLE = I_GRID_TITLE
* I_GRID_SETTINGS = I_GRID_SETTINGS
* IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
* IT_EXCLUDING = IT_EXCLUDING
* IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
* IT_SORT = IT_SORT
* IT_FILTER = IT_FILTER
* IS_SEL_HIDE = IS_SEL_HIDE
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT = IS_VARIANT
IT_EVENTS = V_EVENTS
* IT_EVENT_EXIT = IT_EVENT_EXIT
* IS_PRINT = IS_PRINT
* IS_REPREP_ID = IS_REPREP_ID
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS = IT_ALV_GRAPHICS
* IT_HYPERLINK = IT_HYPERLINK
* IT_ADD_FIELDCAT = IT_ADD_FIELDCAT
* IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
* IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
* ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB = IT_KNA1
* 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.
ENDFORM. " DIS_PLAY
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER
I_LOGO = 'ENJOYSAP_LOGO'
* I_END_OF_LIST_GRID = I_END_OF_LIST_GRID
* I_ALV_FORM = I_ALV_FORM
.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form EVENT_CALL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM EVENT_CALL .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENTS
* EXCEPTIONS
* LIST_TYPE_WRONG = 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.
ENDFORM. " EVENT_CALL
*&---------------------------------------------------------------------*
*& Form POPULATE_EVENT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM POPULATE_EVENT .
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMEND'.
IF SY-SUBRC EQ '0'.
WA_EVENT-FORM = 'USER_COMMEND'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME = WA_EVENT-FORM.
ENDIF.
ENDFORM. " POPULATE_EVENT<b>Also refer this program</b>
BCALV_TEST_LIST_FIELDS
BCALV_TEST_LIST_EVENTS
check these links
Reward all helpfull answers
Regards
Pavan
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |