[ABAP] TYPE-1 program

SAPCO·2023년 11월 15일
0

- [ABAP]

목록 보기
5/18

0. 도입

TYPE-1 Programm

1. 정리

1-1. TYPE-1 EVENT

  • INITIALIZATION
    TYPE-1 프로그램이 실행되는 순간 초기 입력화면이 보여지기 전에 작동하는 이벤트.
    SELECTION-SCREEN에 선언된 초기값을 지정하거나, 다른 일반 변수에 기본값을 제공하는 이벤트

  • SELECTION-SCREEN
    화면을 디자인. 프로그램이 실행된 후 사용자가 원하는 결과값을 얻기 위해 조회 조건을 입력하는 화면.

    • PARAMETERS
      하나의 입력 필드를 생성.

      • DEFAULT f
        PARAMETERS : s_test TYPE mara-ersda DEFAULT sy-datum
      • NO-DISPLAY
        PARAMETERS : s_test TYPE mara-ersda NO-DISPLAY
      • OBLIGATORY
        PARAMETERS : s_test TYPE mara-ersda OBLIGATORY
      • DECIMALS dec
        PARAMETERS : s_test(6) TYPE P DECIMALS 3.
      • AS CHECKBOX
        PARAMETERS : s_test1 AS CHECKBOX,
        	          s_test2 AS CHECKBOX DEFAULT 'X'. 
      • RADIOBUTTON GROUP radi
        PARAMETERS : s_test1 AS RADIOBUTTON GROUP gr1,
        	          s_test2 AS RADIOBUTTON GROUP gr1 DEFAULT 'X'
        	          s_test3 AS RADIOBUTTON GROUP gr1.
    • SELECT-OPTIONS
      범위조회, 다중값 입력 기능 지원.
      4개의 필드(SIGN, OPTION, LOW, HIGH)으로 구성된 인터널 테이블 구조 생성.
      값을 입력하지 않으면 모든 범위를 검색.
      SQL에서 IN을 사용하여 검색한다.

      SIGN : I(Inclusive) / E(Exclusive)
      OPTION : EQ(=), NE(<>), LE(<=), LT(<), GE(>=), GT(>), BT(BETWEEN), NB(NOT BETWEEN), CP(Contains Pattern)
      LOW
      HIGHT
      
      SIGN TYPE C,
      OPTION TYPE C,
      LOW TYPE bzw. (like f)
      HIGHT TYPE bzw. (like f)
      
      SELECT-OPTIONS : v_test FOR mara-ersda.
      • DEFAULT f
      • NO-EXTENSION
        다중선택 단추를 없앤다.
      • OBLIGATORY
      • NO INTERVALS
        입력상자가 하나 사라진다.
    • SELECTION-SCREEN

      SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
        PARAMETERS s_test TYPE mara-ersda
      SELECTION-SCREEN END OF BLOCK b1.
      • BEGIN OF BLOCK b1 ~ END OF BLOCK b1.
        5개의 블록까지 생성 가능
      • BEGIN OF LINE ~ END OF LINE
        변수들에 하나의 라인을 할당한다.
        2개의 변수를 선언해도 하나의 라인에 변수를 배열할 수 있다.
      • ULINE
        /pos(len), pos(len) (len)
      • COMMENT fnt name
        SELECTION-SCREEN COMMENT 14(10) text-011 FOR FIELD s_test.
        PARAMETERS s_test AS CHECKBOX DEFAULT 'X'.
      • PUSHBUTTON fmt name USER-COMMANE ucom
        내림단추를 생성한다. 함수코드로 ucom을 사용한다.
        ucom 처리 내용은 AT SELECTION-SCREEN에 기술하고 Foramt fmt를 항상 선언해야한다.
      • SKIP n
        공백 라인을 생성한다.
  • AT SELECTION-SCREEN
    TYPE-1 프로그래밍에서만 사용하는 이벤트 구문.
    SELECTION-SCREENS에서 받아들인 입력값이 변경되었을 때 실행되는 이벤트.
    입력한 값을 체크하거나 도움말을 보여줄 때 사용된다.

    • ~ ON psel
      psel 필드의 값을 부여하거나 점검할 때 사용하는 이벤트.
      점검 과정에서 오류가 발생했다면 psel의 필드는 다음 단계로 진행되지 않고 입력 필드상태로 유지된다.
    • ~ ON VALUE-REQUEST FOR psel_low_high
      psel 필드의 low나 high 필드에서 f4를 누르거나 입력 필드 옆의 possible endtry 단추를 클릭했을 때 실행되는 이벤트.
    • ~ ON HELP-REQUEST FOR pset_low_high
      psel필드의 low나 high 필드에 도움말 화면을 표시하는 이벤트로 F1을 눌렀을 때 실행된다.
    • ~ RADIOBUTTON ON GROUP radi
    • OUTPUT
      사용자가 Enter를 누를 때마다 발생하는 이벤트로 입력필드를 변형하거나 입력한 내용을 점검하거나 범위를 지정할 때 사용한다.
      AT SELECTION-SCREEN OUTPUT
        LOOP AT SCREEN.
          IF SCREEN-GROUP1 = 'AA'.
            SCREEN-LENGTH = 1.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
  • START-OF-SELECTION
    SELECTION-SCREEN에서 입력한 변수의 값으로 데이터를 가져오기 전 실행되는 이벤트.

    • PERFORM ~ FORM ~ ENDFORM.
      • PERFORM XXX USING p1 p2 p3 p
        Call by Reference
      • PERFORM XXX CHANGING p1 p2 p3 p
        Call by Reference
      • PERFORM XXX USING p1 p2 p3 p + USING VALUE(p)
        Call by Value
      • PERFORM XXX IN PROGRAM prog
        prog 프로그램에 있는 FORM문 실행
      • PERFORM n OF form1 form2 form3
        n값에 따라 FORM문을 실행한다.
        n2값이 2이면 form2가 실행된다.
      • PERFORM n ON COMMIT
        COMMIT작업이 실행될 때 PERFORM문을 실행한다.
        변수를 넘기려면 IMPORT EXPORT통해서 넘겨주어야한다.
      • PERFORM n ON ROLLBACK
        ROLLBACK작업이 실행될 때 PERFORM문을 실행한다.
  • END-OF-SELECTION
    모든 데이터를 읽은 후 목록이 출력되기 전에 실행되는 마지막 이벤트.
    write_data 실행.

profile
SAP CO

0개의 댓글