This program  is for abap alv oo . You can check below program. Use alv oo.

Result screen.

alv_oo_1

There are five steps.

*&———————————————————————*
*& Report  ZALVOOTEST
*&
*&———————————————————————*
*&
*&
*&———————————————————————*

REPORT  ZALVOOTEST.
INCLUDE ZALVOOTESTTOP.
INCLUDE ZALVOOTESTO01.
INCLUDE ZALVOOTESTI01.
INCLUDE ZALVOOTESTMAIN.
INCLUDE ZALVOOTESTF01.

*&———————————————————————*
*&  Include           ZALVOOTESTTOP
*&———————————————————————*
TYPES: BEGIN OF TY_COSP.
INCLUDE STRUCTURE COSP.
TYPES: END OF TY_COSP.

DATA: G_PGM LIKE SY-REPID.
DATA: OK_CODE(10).

TYPEs: SLIS.

DATA: IT_COSP TYPE STANDARD TABLE OF TY_COSP.
DATA: WA_COSP TYPE TY_COSP.

DATA: G_CONTAINER TYPE scrfname VALUE ‘CONTAINER’,
GT_FIELDCAT TYPE LVC_T_FCAT,
WA_FILEDCAT TYPE LVC_S_FCAT,
WA_STBL TYPE LVC_S_STBL.
DATA: G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GRID TYPE REF TO CL_GUI_ALV_GRID.

PARAMETERS: P_BUKRS LIKE COSP-BUKRS OBLIGATORY,
P_GJAHR LIKE COSP-GJAHR OBLIGATORY.

*&———————————————————————*
*&  Include           ZALVOOTESTO01
*&———————————————————————*
*&———————————————————————*
*&      Module  STATUS_9000  OUTPUT
*&———————————————————————*
*       text
*———————————————————————-*
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS ‘ZALVOOTEST’.
*  SET TITLEBAR ‘xxx’.
IF g_custom_container IS INITIAL OR grid IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container.

CREATE OBJECT grid
EXPORTING
i_parent = g_custom_container.

PERFORM build_alv.
PERFORM display.
ELSE.
*   set row/col
wa_stbl-row = ‘X’.
wa_stbl-col = ‘X’.

*   화면을 refresh했을때 현재 위치에서 움직이지 않음
CALL METHOD grid->refresh_table_display
EXPORTING
is_stable = wa_stbl.

ENDIF.

ENDMODULE.                 ” STATUS_9000  OUTPUT

*&———————————————————————*
*&  Include           ZALVOOTESTI01
*&———————————————————————*
*&———————————————————————*
*&      Module  USER_COMMAND_9000  INPUT
*&———————————————————————*
*       text
*———————————————————————-*
MODULE USER_COMMAND_9000 INPUT.
CASE OK_CODE.
WHEN ‘BACK’.
LEAVE TO SCREEN 0.
ENDCASE.

ENDMODULE.                 ” USER_COMMAND_9000  INPUT

*&———————————————————————*
*&  Include           ZALVOOTESTMAIN
*&———————————————————————*

START-OF-SELECTION.

PERFORM GET_COSP.

IF IT_COSP[] IS INITIAL.
MESSAGE ‘NO RECORDS’ TYPE ‘S’.
ELSE.
CALL SCREEN 9000.
ENDIF.

*&———————————————————————*
*&  Include           ZALVOOTESTF01
*&———————————————————————*
*&———————————————————————*
*&      Form  GET_COSP
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM GET_COSP .
SELECT * INTO TABLE IT_COSP
FROM COSP
WHERE GJAHR = P_GJAHR
AND BUKRS = P_BUKRS.

ENDFORM.                    ” GET_COSP
*&———————————————————————*
*&      Form  build_alv
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM build_alv .
PERFORM build_alv_fieldcat USING:
‘GJAHR’ ‘년도’,
‘VERSN’ ‘버전’,
‘KSTAR’ ‘원가요소’,
‘OBJNR’ ‘오브젝트번호’.

ENDFORM.                    ” build_alv
*&———————————————————————*
*&      Form  display
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM display .
CALL METHOD grid->set_table_for_first_display
EXPORTING
i_save               = ‘X’
i_bypassing_buffer   = ‘X’
CHANGING
it_outtab            = IT_COSP
it_fieldcatalog      = gt_fieldcat[].

ENDFORM.                    ” display
*&———————————————————————*
*&      Form  build_alv_fieldcat
*&———————————————————————*
*       text
*———————————————————————-*
*      –>P_0023   text
*      –>P_0024   text
*———————————————————————-*
FORM build_alv_fieldcat  USING p_fieldname  TYPE c
p_seltext_m  TYPE c.
WA_FILEDCAT-fieldname = p_fieldname.
WA_FILEDCAT-scrtext_m = p_seltext_m.

APPEND WA_FILEDCAT TO gt_fieldcat.
CLEAR WA_FILEDCAT.

ENDFORM.                    ” build_alv_fieldcat

Technorati Tags: ,,,,

Related posts