Professional Documents
Culture Documents
perform get_data.
PERFORM CREATE_FCAT .
perform display_alv .
CREATE OBJECT OBJ .
SET HANDLER OBJ->HANDLE_DC_EVENT FOR ALV_GRID .
ELSE.
perform create_obj2 .
*** perform get_data.
PERFORM CREATE_FCAT2 .
perform display_alv2.
ENDIF .
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Form create_obj
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM create_obj .
CREATE OBJECT ALV_CONT
EXPORTING
CONTAINER_NAME
= 'ALV_CONT' .
CREATE OBJECT ALV_GRID
EXPORTING
I_PARENT
= ALV_CONT. "GIVE CONTAINER INSTANCE
ENDFORM.
" create_obj
*&---------------------------------------------------------------------*
*&
Form get_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM get_data .
SELECT * FROM MARA
INTO CORRESPONDING FIELDS OF TABLE I_MARA
UP TO 100 ROWS .
ENDFORM.
" get_data
*&---------------------------------------------------------------------*
*&
Form display_alv
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM display_alv .
CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
CHANGING
IT_OUTTAB
= I_MARA
IT_FIELDCATALOG = I_FCAT.
ENDFORM.
" display_alv
*&---------------------------------------------------------------------*
*&
Form CREATE_FCAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM CREATE_FCAT .
WA_FCAT-COL_POS =
WA_FCAT-FIELDNAME
WA_FCAT-TABNAME =
WA_FCAT-SCRTEXT_M
APPEND WA_FCAT TO
CLEAR WA_FCAT .
'1' .
= 'MATNR' .
'I_MARA' .
= 'MATERIALNO' .
I_FCAT .
WA_FCAT-COL_POS =
WA_FCAT-FIELDNAME
WA_FCAT-TABNAME =
WA_FCAT-SCRTEXT_M
APPEND WA_FCAT TO
CLEAR WA_FCAT .
'2' .
= 'MTART' .
'I_MARA' .
= 'MATERIALTYPE' .
I_FCAT .
WA_FCAT-COL_POS =
WA_FCAT-FIELDNAME
WA_FCAT-TABNAME =
WA_FCAT-SCRTEXT_M
APPEND WA_FCAT TO
CLEAR WA_FCAT .
'3' .
= 'MBRSH' .
'I_MARA' .
= 'IND.SCET' .
I_FCAT .
WA_FCAT-COL_POS =
WA_FCAT-FIELDNAME
WA_FCAT-TABNAME =
WA_FCAT-SCRTEXT_M
APPEND WA_FCAT TO
CLEAR WA_FCAT .
'4' .
= 'MEINS' .
'I_MARA' .
= 'UNITS' .
I_FCAT .
ENDFORM.
" CREATE_FCAT
*&---------------------------------------------------------------------*
*&
Form create_obj2
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM create_obj2 .
IF ALV_CONT2 IS INITIAL . "CREATE ONLY FOR FIRST TIME
CREATE OBJECT ALV_CONT2
EXPORTING
CONTAINER_NAME
= 'ALV_CONT2' .
CREATE OBJECT ALV_GRID2
EXPORTING
I_PARENT
= ALV_CONT2. "GIVE CONTAINER INSTANCE
ENDIF .
ENDFORM.
" create_obj2
*&---------------------------------------------------------------------*
*&
Form CREATE_FCAT2
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM CREATE_FCAT2 .
ENDFORM.
" CREATE_FCAT2
*&---------------------------------------------------------------------*
*&
Form display_alv2
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM display_alv2 .
CALL METHOD ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
*
I_BUFFER_ACTIVE
=
*
I_BYPASSING_BUFFER
=
*
I_CONSISTENCY_CHECK
=
I_STRUCTURE_NAME
= 'MAKT'
*
IS_VARIANT
=
*
I_SAVE
=
*
I_DEFAULT
= 'X'
*
IS_LAYOUT
=
*
IS_PRINT
=
*
IT_SPECIAL_GROUPS
=
*
IT_TOOLBAR_EXCLUDING
=
*
IT_HYPERLINK
=
*
IT_ALV_GRAPHICS
=
*
IT_EXCEPT_QINFO
=
*
IR_SALV_ADAPTER
=
CHANGING
IT_OUTTAB
= I_MAKT
*
IT_FIELDCATALOG
=
*
IT_SORT
=
*
IT_FILTER
=
* EXCEPTIONS
*
INVALID_PARAMETER_COMBINATION = 1
*
PROGRAM_ERROR
= 2
*
TOO_MANY_LINES
= 3
*
others
= 4
.
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.
" display_alv2
*----------------------------------------------------------------------*
*
CLASS LCL_EVENT_HANDLER IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_EVENT_HANDLER IMPLEMENTATION .
METHOD HANDLE_DC_EVENT .
READ TABLE I_MARA INTO WA_MARA INDEX E_ROW-INDEX .
SELECT * FROM MAKT
INTO CORRESPONDING FIELDS OF TABLE I_MAKT
WHERE MATNR = WA_MARA-MATNR .
CALL SCREEN 100.
ENDMETHOD .
"HANDLE_DC_EVENT
ENDCLASS .
"LCL_EVENT_HANDLER IMPLEMENTATION