본문 바로가기
SAP/ABAP

SAP ABAP PARAMETER , SELECT-OPTION , SELECTION-SCREEN

by 꿈청(꿈꾸는청년) 2021. 4. 4.
반응형

SAP ABAP PARAMETER 스크린 1000

SAP ABAP SELECT-OPTION 스크린 1000

SAP ABAP SELECTION-SCREEN 스크린 1000

 

 

리포트 프로그램에서 파라미터로 받아올 인수(DATA)를 정의해줍니다. DATA 선언 할때와 마찬가지로 TYPE 을 지정해줄 수 있으며 마찬가지로 VALUE 디폴트로 설정해줄 수 있습니다.

 

 

 

1. PARAMETER

*파라미터 유형1

 

DEFAULT : 디폴트값

DECIMALS: 소수점

OBLIGATORY: 필수값

LOWER CASE: 대소문자구분

VISIBLE LENGTH: 보이는 길이제한

Dynamic : 동적 참조

MODIF : ID 부여

MEMID : Memory ID 부여

VALUE CHECK : 유효성체크

MATCHCODE OBJECT : Search Help 참조

 

*파라미터 유형2

 

PUSHBUTTON : SELECTION-SCREEN을 이용하여 버튼 생성 

AS CHECKBOX : 체크박스

RADIOBUTTON GROUP '변수명선언' : 라디오버튼 최소 2개 이상 선언해줘야 함 

AS LISTBOX VISBLE LENGTH 10 : 리스트박스 길이 지정 필수 

 

*파라미터 예제)

 

 

2. SELECT-OPTIONS

 

SELECT-OPTIONS 유형

 

SELECT-OPTIONS 경우도 PARAMETER와 기능적 사용은 거의 동일하나 INPUT 필드가 두 개를 가지는

레인지변수 형태이기 때문에 OPTION EQ SIGN I 소스를 통해 제어해줄 수 있습니다.

 

NO-EXTENSION : 범위 OPTION 버튼 제거

NO INTERVALS :  2개의 INPUT 필드(LOW,HIGH) 중 HIGH 제외

VISBLE LENGTH : 보이는 길이 제한

 

 

 

<=====소스코드첨부

DATAGV_20 TYPE CHAR20.

DATAGV_STRING TYPE VALUE 'SFLIGHT-CARRID'.

* 조회조건
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-T01.

 "파라미터 유형1
 SELECTION-SCREEN BEGIN OF BLOCK G1 WITH FRAME TITLE text-G01.

 PARAMETERSP_DEF        DEFAULT '1',                      "DEFALUT 1
             P_DEF2       TYPE SFLIGHT-CARRID DEFAULT 'AA'"DIC 참조 DEFALUT AA
             P_LIKE       LIKE GV_20,                       "GLOBAL 변수 참조 CHAR20 형태
             P_LENTH(4),                                    "길이4
             P_LENTH2     TYPE P LENGTH DECIMALS DEFAULT '9945.32155489',       "P TYPE의 길이4 소수점 2자리 형태
             P_OBLI       TYPE SFLIGHT-CARRID OBLIGATORY,   "필수값
             P_NOOUT      TYPE SFLIGHT-CARRID NO-DISPLAY,   "화면 보이지 않게
             P_LOW        TYPE SFLIGHT-CARRID LOWER CASE,   "대소문자 구분
             P_VISBLE(10TYPE N VISIBLE LENGTH DEFAULT   '1234567890'"보이는 길이 제한
             P_DYNAM      LIKE (GV_STRING),                 "동적으로 Dictionary 참조가능
             P_MODIF      MODIF ID MID,                     "ID 부여 주로 화면제어시 그룹형태로 제어하기 위해 사용함
             P_MEMID      MEMORY ID NID,                    "Memory id
             P_VALUE      TYPE SFLIGHT-CARRID VALUE CHECK,  "유효성 체크
             P_MATCH      MATCHCODE OBJECT H_SCARR.         "서치HELP 참조

 SELECTION-SCREEN END OF BLOCK G1.

 "파라미터 유형2
 SELECTION-SCREEN BEGIN OF BLOCK G2 WITH FRAME TITLE text-G02.

 SELECTION-SCREEN PUSHBUTTON 1(5P_BUTN USER-COMMAND BTN MODIF ID F01 ."버튼!

 PARAMETERS:
             P_CHK1 AS CHECKBOX ,                                       "체크박스1
             P_CHK2 AS CHECKBOX DEFAULT 'X',                            "체크박스2
             P_RAD1 RADIOBUTTON GROUP RG1 DEFAULT 'X' USER-COMMAND CMD"라디오버튼 USER-COMMAND 버튼실행시 PAI 실행
             P_RAD2 RADIOBUTTON GROUP RG1,
             P_RAD3 RADIOBUTTON GROUP RG1,
             P_LIST TYPE SFLIGHT-CARRID AS LISTBOX VISIBLE LENGTH 10.   "리스트박스


 SELECTION-SCREEN END OF BLOCK G2.

 "SELECT-OPTIONS 유형
 SELECTION-SCREEN BEGIN OF BLOCK G3 WITH FRAME TITLE text-G03.


 SELECT-OPTIONS S_DEF    FOR sflight-carrid  DEFAULT 'AA',                              "Defalut
                  S_OPI    FOR sflight-carrid  DEFAULT 'AA*' OPTION CP SIGN I,            "AA* 관련패턴 WHERE LIKE 문과 동일
                  S_VAL    FOR GV_20           DEFAULT '1111' TO '9999',                  "두 개의 INPUT 필드 디폴트 값
                  S_VAL2   FOR GV_20           DEFAULT 'AAAA' TO 'ZZZZ' OPTION BT SIGN E"두 개의 INPUT 필드 범위변수로 변환
                  S_ID     FOR sflight-carrid  MODIF ID SID,                              "ID 지정SID
                  S_HELP   FOR GV_20           MATCHCODE OBJECT H_SCARR,                  "SEARTCH HELP
                  S_NOOUT  FOR sflight-carrid  NO-DISPLAY,                                "NO DISPLAY
                  S_CASE   FOR sflight-carrid  LOWER CASE,                                "대소문자 구분 LOWER CASE
                  S_OBLI   FOR sflight-carrid  OBLIGATORY,                                "필수값
                  S_NOEX   FOR sflight-carrid  NO-EXTENSION,                              "범위 OPTION 버튼 제거
                  S_NOIN   FOR sflight-carrid  NO INTERVALS,                              "2개 INPUT 필드(LOW,HIGH) HIGH 제외
                  S_VISB   FOR sflight-carrid  VISIBLE LENGTH 1.                          "길이제한

  SELECTION-SCREEN END OF BLOCK G3.

SELECTION-SCREEN END OF BLOCK bl1.

반응형

'SAP > ABAP' 카테고리의 다른 글

ABAP ALV GRID SPLIT 화면분할  (3) 2021.04.08
SAP Variant 변형  (2) 2021.04.06
SAP ABAP WITH HEADER LINE itab[] 헤더라인  (0) 2021.04.01
SAP ABAP 연산자  (0) 2021.03.30
SAP ABAP AT EXIT-COMMAND과 OK_CODE 방식의 차이점  (0) 2021.03.30

댓글