본문 바로가기
ABAP

[step-1] executable program templete - 프로그램 구조

by 키노s 2025. 6. 22.

최근 프로젝트 보다 운영업무를 하고 있습니다.

그래서 이제 개발할때 가지고 다니던 템플릿도 없고

운영이다 보니 기존 프로그램 수정만 굳지 필요성을 못 느꼈습니다.ㅎㅎ

 

기존 프로그램을 copy해서 대충 만들고 했는데 이게 좀 불편하더구만요..

그래서 모처럼 다시 까집기로 하나 만들어 봤습니다.

 

흔하디흔한 메인 프로그램 구조입니다. 

개발하시는분마다 스타일이 다르고 정답은 없습니다. 

 

화면 구성은 최대한 여러가지가 포함되도록 구성하겠습니다.

SELECT-OPTIONS

PARAMETERS

RADIOBUTTON

CHECKBOX

 

프로그램 구조는 일반적인 구조입니다. (변화를 싫어하는 개발자라서..^^;)

INCLUDE _TOP.   " 전역 변수 및 선언
INCLUDE _SEL.   " Selection screen
INCLUDE _CLS.   " Class definition/implementation
INCLUDE _F01.   " FORM 루틴
INCLUDE _O01.   " PBO 모듈 처리
INCLUDE _I01.    " PAI 모듈 처리

※ 위 구분은 개발자 마다 다르게 사용합니다. 

 

이제 시작하는 분이 아니라면 대략 이해하겠죠?.

 

REPORT ZTESTR1000 NO STANDARD PAGE HEADING LINE-SIZE 92 MESSAGE-ID ZMM1.

*&---------------------------------------------------------------------*
*&  INCLUDES
*&---------------------------------------------------------------------*
INCLUDE ztestr1000_top.  
INCLUDE ztestr1000_sel.  
INCLUDE ztestr1000_cls.  
INCLUDE ztestr1000_f01.  
INCLUDE ztestr1000_o01.  
INCLUDE ztestr1000_i01.   

*&---------------------------------------------------------------------*
*& INITIALIZATION
*&---------------------------------------------------------------------*
INITIALIZATION.
  SELECTION-SCREEN FUNCTION KEY 1.
  PERFORM set_init.

*&---------------------------------------------------------------------*
*& AT SELECTION-SCREEN OUTPUT
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
  PERFORM set_screen_output.

*&---------------------------------------------------------------------*
*& AT SELECTION-SCREEN
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.
  PERFORM set_selection_screen.

*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.

"데이터 조회
  IF p_wo_ctr IS INITIAL.
    PERFORM get_data1.
  ELSE.
    PERFORM get_data2.
  ENDIF.

"데이터 수정
  PERFORM mod_data.

 "에러 체크
  CHECK gv_error IS INITIAL.

 CALL SCREEN 100.

 

앞으로 시간날때 채우겠습니다.