[ABAP] 기초1. SELECTION SCREEN

J._NA 개발일지·2024년 8월 6일
post-thumbnail

SAP 1000번 화면 구상하기

<1000번 화면 구상, 직접 그림>

<실제 구현 화면>

SAP GUI는 커스텀하는데 한계점이 있다.
GUI(GRAPHICAL USER INTERFACE, 그래픽 사용자 인터페이스)

  • 사용자 인터페이스라는 뜻의 UI에서 그래픽G가 붙어서 GUI가 된 것이다.
    정말 좁게 보면 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 따위의 그래픽으로 나타낸것이다. 단순히 웹이나 앱에서 보여지는 아이콘뿐만 아니라 가전제품, 게이밍툴 등 다양한 곳에서 사용되고 있다.

SAP 1000번화면에 구현해보며 분석하겠다.

SELECTION-SCREEN BEGIN OF BLOCK BL9 WITH FRAME TITLE TEXT-BL9.
  SELECTION-SCREEN BEGIN OF LINE.

    SELECTION-SCREEN POSITION 20.
    PARAMETERS P_SAM RADIOBUTTON GROUP GR1 USER-COMMAND UCOM1 DEFAULT 'X'.
    SELECTION-SCREEN COMMENT (10) TEXT-002 FOR FIELD P_SAM.

    SELECTION-SCREEN POSITION 35.
    PARAMETERS P_LG RADIOBUTTON GROUP GR1.
    SELECTION-SCREEN COMMENT (10) TEXT-003 FOR FIELD P_LG.

    SELECTION-SCREEN POSITION 50.
    PARAMETERS P_APLE RADIOBUTTON GROUP GR1.
    SELECTION-SCREEN COMMENT (10) TEXT-004 FOR FIELD P_APLE.

    SELECTION-SCREEN POSITION 65.
    PARAMETERS P_ETC RADIOBUTTON GROUP GR1.
    SELECTION-SCREEN COMMENT (10) TEXT-005 FOR FIELD P_ETC.

  SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BL9.
  1. SELECTION-SCREEN
  • 입력 조건으로 화면을 구성할 수 있도록 해줍니다. 즉, SELECTION-OPTION 또는 PARAMETERS에 값을 주는 화면을 만들어 주는 것으로 리포트 프로그램이 실행되면 SELECTION-SCREEN이 자동생성됩니다. SELECTION-SCREEN은 INCLUDE 프로그램에 포함하는 것이 프로그램 코드이 가독성을 높여줌.
  • 사용법 :
    A. SELECTION-SCREEN BEGIN OF LINE. ~SELECT-SCREEN END OF LINE
    파라미터를 여러 개 묶어서 한 라인으로 생성하고 라인에서 SELECT-OPTIONS, SELECTION-SCREEN SKIP N 구문을 사용 할 수 있습니다.

B. SELECTION-SCREEN SKIP N: 빈 라인을 N개 만큼 사입함.
C. SELECTION-SCREEN POSITION POS: SELECTION-SCREEN BEGIN OF LINE 블록 안에서 파라미터의 위치를 지정함.

D. SELECTION-SCREEN UNLINE : UNDER LINE를 추가함.
E. SELECTION-SCREEN COMMENT FMT NAME : 파라미터에 대한 내역을 지정함.
F. SELECTION-SCREEN PUSHBUTTON FMT NAME USER-COMMAND UCOM.
화면에 버튼을 추가하여 클릭하면 AT SELECTION-SCREEN 에서 SSCRFIELDS=UCOMM에 저장됨.
G. SELECTION-SCREEN FUNCTION KEY N
펑션키를 추가하는 것으로 TABLES:SSCRFIELDS구문이 선언되어야 함.
펑션키 내역은 INITIALIZATION에서 MOVE ‘펑션 1’TO SSCRFIELDS-FUNCTXT_01 펑션 키를 클릭하면 AT SELECTION-SCREEN에서 SSCRFIELDS-UCOMM에 저장

Parameters

  • Parameters문은 선언문이며 프로그램 실행시 값을 사용자가 입력하는 것
  • Parameters문은 Data문과는 달리 변수를 선언하는 것에 그치지 않고 값
    을 사용자가 입력
  • 변수에 값을 주는 Option으로 Data문의 Value절이 있습니다만 Value 절은 값이 고정적인데 Parameters문은 실행마다 값을 변경하여 줄 수가 있음

Parameters 문의 Option

  • TYPE type
  • DEFAUKT f
  • DECIMALS des
  • LIKE g
  • MEMORY ID pid
  • MATCHCODE OBJECT mobj
  • MODIF ID modid
  • NO-DISPLAY
  • LOWER CASE
  • OBLIGATORY s
  • AS CHECKBOX
  • RADIOBUTTON GROUP radi
  • FOR TABLE dbtab
  • FOR NODE node
  • AS SEARCH PATTERN
  • VALUE-REQUEST
  • HELP-REQUEST
  • VISIBLE LENGTH vlen
  • VALUE CHECK
  • USER-COMMAND ucom

SELECT-OPTIONS의 옵션

  • DEFAULT g : 기본값을 세팅함.
  • DEFAULT g ... OPTION op SIGN
    • OPTION과 SIGN을 지정함
    • OPTION : EQ, BT, BN, GE, GT, LT, NE
    • SIGN : Inclusive(I), Exclusive(E)
  • DEFAULT g TO n : SELECT-OPTIONS의 LOW 값에서 HIGH 값을 지정, 구간 값을 지정
  • MEMORY ID pid : 메모리의 파라미터 지정
  • NO-DISPLAY : 화면에 보이지 않음
  • LOWER CASE : 대소문자를 구분함
  • OBLIGATORY : 필수 입력으로 지정, 화면에 물음표가 표시됨
  • NO-EXTENSION : 버튼을 제거함
  • NO INTERVALS : HIGH 값을 제거함
  • VISIBLE LENGHT vlen : 필드의 일부 길이만 화면에 표시함
  • MATCHCODE OBJECT mobj : mobj에 Seach Help 명을 입력하게 되면 Possible Entry가 할당됨
  • NO DATABASE SELECTION, VALUE-REQUEST, HELP-REQUEST : LDB에서 사용하고, 필드 HELP를 사용함.
profile
아밥 & 프론트엔드 개발자

0개의 댓글