관리 메뉴

JIHYUN JEONG

[SAP ABAP] ALV (Abap List Viewer) 본문

SAP ERP System/ABAP 실습

[SAP ABAP] ALV (Abap List Viewer)

StopHyun 2013. 4. 28. 21:43






















*&---------------------------------------------------------------------*
*& 모듈풀               ZRALV00
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*


INCLUDE ZRALV00_TOP                             .    " global Data

 INCLUDE ZRALV00_O01                             .  " PBO-Modules
 INCLUDE ZRALV00_I01                             .  " PAI-Modules
 INCLUDE ZRALV00_F01                             .  " FORM-Routines


ㅁ TOP

*&---------------------------------------------------------------------*
*& Include ZRALV00_TOP                                       모듈풀              ZRALV00
*&
*&---------------------------------------------------------------------*

PROGRAM  ZRALV00.

* class data
DATA : r_con TYPE REF TO cl_gui_custom_container,
      r_alv TYPE REF TO cl_gui_alv_grid.

DATA: ok_code TYPE sy-ucomm.

DATA: it_list TYPE TABLE OF spfli,
      wa_list LIKE RANGE OF it_list.

DATA : gv_carrid TYPE scarr-carrid.




ㅁ PBO

*&---------------------------------------------------------------------*
*&  Include           ZRALV00_O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
  SET PF-STATUS 'S100'.
  SET TITLEBAR 'T100'.

ENDMODULE.                 " STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*
*&      Module  INIT_ALV  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE INIT_ALV OUTPUT.
IF r_con IS INITIAL.
  CREATE OBJECT r_con
    EXPORTING
      CONTAINER_NAME              'MY_CON'
    EXCEPTIONS
      CNTL_ERROR                  1
      CNTL_SYSTEM_ERROR           2
      CREATE_ERROR                3
      LIFETIME_ERROR              4
      LIFETIME_DYNPRO_DYNPRO_LINK 5
      others                      6.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  CREATE OBJECT r_alv
    EXPORTING
      I_PARENT          r_con
    EXCEPTIONS
      ERROR_CNTL_CREATE 1
      ERROR_CNTL_INIT   2
      ERROR_CNTL_LINK   3
      ERROR_DP_CREATE   4
      others            5.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDIF.
ENDMODULE.                 " INIT_ALV  OUTPUT

*&---------------------------------------------------------------------*
*&      Module  DISPLAY_ALV  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE DISPLAY_ALV OUTPUT.

  CALL METHOD R_ALV->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      I_STRUCTURE_NAME              'SPFLI'
    CHANGING
      IT_OUTTAB                     it_list
    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.

ENDMODULE.                 " DISPLAY_ALV  OUTPUT





ㅁ PAI

*&---------------------------------------------------------------------*
*&  Include           ZRALV00_I01
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&      Module  EXIT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.
CASE OK_CODE.
  WHEN 'EXIT' or 'CANC'.
    LEAVE PROGRAM.
    ENDCASE.

ENDMODULE.                 " EXIT  INPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE ok_code.
  WHEN 'BACK'.
    LEAVE TO SCREEN 0.

   WHEN 'SEL'.
     PERFORM GET_DATA.
ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT




ㅁ ZRALV00_F01

*&---------------------------------------------------------------------*
*&  Include           ZRALV00_F01
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_DATA .
 clear it_list.
 SELECT  INTO CORRESPONDING FIELDS OF TABLE it_list FROM spfli WHERE carrid gv_carrid.
ENDFORM.                    " GET_DATA




Comments