SAP/ALV
ALV 정형화 1/2
DrkLion
2007. 11. 6. 11:00
어떠한 문서든 책이든 ALV 입문에 보면 표준화를 통해,
불필요한 코딩을 줄여 퍼포먼스 향상을 목표로 삼는다고 되어 있다.
정형화를 통해 미리 '틀'을 마련해 두고 틀에 맞춰 코딩하는것이
추후 유지보수 면에서나, 프로그램 개발 퍼포먼스 측면에서 아주 유리하다.
1. Main Program
- 아래와 같은 항목들로 아주 간단하게 정형화 할 수 있다.
*********************************************************************
* INCLUDE *
*********************************************************************
* DATA DECLARATION
INCLUDE ZTESTT01
* SUBROUTINE DECLARATION
INCLUDE ZTESTF01
*********************************************************************
* INITIALIZATION *
*********************************************************************
INITIALIZATION.
PERFORM *********************************************************************
* AT SELECTION-SCREEN *
*********************************************************************
AT SELECTION-SCREEN.
- 아래와 같은 항목들로 아주 간단하게 정형화 할 수 있다.
*********************************************************************
* INCLUDE *
*********************************************************************
* DATA DECLARATION
INCLUDE ZTESTT01
* SUBROUTINE DECLARATION
INCLUDE ZTESTF01
*********************************************************************
* INITIALIZATION *
*********************************************************************
INITIALIZATION.
PERFORM *********************************************************************
* AT SELECTION-SCREEN *
*********************************************************************
AT SELECTION-SCREEN.
*********************************************************************
* START-OF-SELECTION *
*********************************************************************
START-OF-SELECTION.
PERFORM *********************************************************************
* END-OF-SELECTION *
*********************************************************************
END-OF-SELECTION.
* START-OF-SELECTION *
*********************************************************************
START-OF-SELECTION.
PERFORM *********************************************************************
* END-OF-SELECTION *
*********************************************************************
END-OF-SELECTION.
*********************************************************************
* TOP-OF-PAGE *
*********************************************************************
TOP-OF-PAGE.
* TOP-OF-PAGE *
*********************************************************************
TOP-OF-PAGE.
*********************************************************************
* END-OF-PAGE *
*********************************************************************
* END-OF-PAGE *
*********************************************************************
*********************************************************************
* AT LINE-SELECTION *
*********************************************************************
AT LINE-SELECTION.
* AT LINE-SELECTION *
*********************************************************************
AT LINE-SELECTION.
*********************************************************************
* AT USER-COMMAND *
*********************************************************************
AT USER-COMMAND.
* AT USER-COMMAND *
*********************************************************************
AT USER-COMMAND.
2. DATA DECLARATION
*----------------------------------------------------------------------*
* TABLES
*----------------------------------------------------------------------*
tables :
*----------------------------------------------------------------------*
* INFOTYPES
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* TABLES
*----------------------------------------------------------------------*
tables :
*----------------------------------------------------------------------*
* INFOTYPES
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* CLUSTER DEFINITION
*----------------------------------------------------------------------*
* CLUSTER DEFINITION
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* CONTROLS
*----------------------------------------------------------------------*
* CONTROLS
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* TYPE-GROUPS
*----------------------------------------------------------------------*
* TYPE-GROUPS
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* TYPES
*----------------------------------------------------------------------*
* TYPES
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* CONSTANTS
*----------------------------------------------------------------------*
* constants :
* CONSTANTS
*----------------------------------------------------------------------*
* constants :
*----------------------------------------------------------------------*
* DATA: Variable
*----------------------------------------------------------------------*
*ranges : .
data : gv_date like sy-datum.
data :
*----------------------------------------------------------------------*
* DATA: Structure. (Field strings : Working area)
*----------------------------------------------------------------------*
* DATA: Variable
*----------------------------------------------------------------------*
*ranges : .
data : gv_date like sy-datum.
data :
*----------------------------------------------------------------------*
* DATA: Structure. (Field strings : Working area)
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* DATA: Internal Table.
*----------------------------------------------------------------------*
* DATA: Internal Table.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* RANGES
*----------------------------------------------------------------------*
* RANGES
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* FIELD-SYMBOLS
*----------------------------------------------------------------------*
* FIELD-SYMBOLS
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*FIELD-GROUPS: HEADER, ...
*----------------------------------------------------------------------*
*FIELD-GROUPS: HEADER, ...
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*SELECT-OPTIONS & PARAMETERS
*----------------------------------------------------------------------*
3. SUBROUTINE DECLARATION
FROM.
..
ENDFORM.
내에 체크로직 및 데이터 컨트롤 추가.
*SELECT-OPTIONS & PARAMETERS
*----------------------------------------------------------------------*
3. SUBROUTINE DECLARATION
FROM.
..
ENDFORM.
내에 체크로직 및 데이터 컨트롤 추가.
SELECTION-SCREEN 및 데이터 컨트롤 부분이 정형화 되었다면,
ALV 역시 비슷한 방법으로 정형화 할 수 있다.
ALV용 데이터 선언 및 공통 사용 서브루틴문을 INCLUDE 프로그램으로
작성해 복사 또는 직접 INCLUDE 함으로써 재활용이 가능하다.
이 부분에 대해서는 2/2에서 예문을 보자..