사용자에게 더 보기 좋고 직관적인 화면을 제공하기 위해 입력 필드들을 그룹으로 묶고 테두리(FRAME)를 씌우는 방법
📌 목표
Element Block을 사용해서:
관련된 필드들을 묶기
테두리(FRAME)와 제목(TITLE) 붙이기
화면을 더 깔끔하고 사용자 친화적으로 구성
🧾 기본 문법
🔷 블록 정의 기본 구조
SELECTION-SCREEN BEGIN OF BLOCK <block_name> WITH FRAME TITLE <text_symbol>. " 이 안에 PARAMETERS, SELECT-OPTIONS 등 필드들 넣기
SELECTION-SCREEN END OF BLOCK <block_name>.
BLOCK <name>
블록 이름 지정 (예: my_block1)
WITH FRAME
테두리(프레임) 표시
TITLE <text_symbol>
프레임 위에 표시될 제목 (텍스트 심볼 사용)
🔧 예제 코드
SELECTION-SCREEN BEGIN OF BLOCK my_block1 WITH FRAME TITLE text-001.
PARAMETERS: my_ee TYPE i,
my_box1 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK my_block1.
INITIALIZATION.
text-001 = '직원 정보 입력'.
🖼 실행 결과:
+----------------------+
| 직원 정보 입력 |
| |
| my_ee: [ ] |
| [ ] my_box1 |
+----------------------+
📌 특징 요약
✅ 필드 그룹화
관련 필드를 묶어서 보기 편하게 구성
✅ 프레임 추가
블록에 WITH FRAME 옵션으로 박스 테두리 생성
✅ 제목 추가
TITLE text-xxx으로 제목 표시 가능 (TEXT-001, TEXT-002 등 사용)
✅ 중첩 가능
블록 안에 또 다른 블록을 넣는 것도 가능 (sub-grouping 효과)
✅ 선택 요소 구성 완성
지금까지 배운 PARAMETERS, SELECT-OPTIONS, COMMENT, SKIP, ULINE 등과 함께 사용 가능
TITLE에 사용할 텍스트는 Text Element (Text Symbol) 로 만들기 → 유지보수도 쉽고, 다국어 대응도 가능해!
실제 SAP 표준 트랜잭션 화면에서도 이런 블록 구조 자주 사용됨
사용자에게 직관적인 데이터 입력 흐름을 만들어주는 데 매우 효과적
✅ 결론
Element Block은 ABAP Selection Screen에서 시각적 그룹화를 위한 핵심 기능
Selection Screen에 여러 요소를 한 줄(line)로 배치하거나, **정확한 위치(position)**에 필드를 놓는 방법을 배우는 것!
✅ 1. BEGIN OF LINE ... END OF LINE
이 구문은 여러 요소(텍스트, 파라미터 등)를 한 줄 안에 나란히 배치할 수 있게 해준다.
🔹 기본 구조
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT /1(15) TEXT-001. "텍스트 심볼
SELECTION-SCREEN COMMENT /20(10) comm1. "변수 comm1의 값
PARAMETERS: abc(5). "5자 길이의 입력 필드
SELECTION-SCREEN END OF LINE.
👉 이 안에 있는 요소들은 한 줄에 나란히 출력 기본적으로 텍스트의 위치/길이는 /위치(길이) 형식으로 설정함!
✅ 2. COMMENT에 쓰이는 값
TEXT-001 → 텍스트 심볼 (다국어 지원)
comm1 → 변수 (보통 INITIALIZATION에서 값 넣음)
INITIALIZATION.
comm1 = 'Hello SAP'.
✅ 3. 왜 BEGIN~END 쓰는가?
이렇게 쓰면 PARAMETERS 자체의 기본 라벨은 사라진다
그래서 라벨이 필요하면 반드시 COMMENT를 써서 직접 텍스트를 붙여야 함!
✅ 4. POSITION으로 위치 조절
SELECTION-SCREEN POSITION n. 👉 다음 필드의 시작 위치를 열 단위로 직접 지정 가능
예시:
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT /1(10) TEXT-001.
SELECTION-SCREEN POSITION 30.
PARAMETERS: abc(5).
SELECTION-SCREEN END OF LINE.
✅ 5. POS_LOW, POS_HIGH
SAP 기본 필드처럼 자동 정렬을 하고 싶다면 고정된 위치상수 사용 가능:
상수
의미
POS_LOW
왼쪽 정렬 기준 위치 (Low 필드 위치)
POS_HIGH
오른쪽 정렬 기준 위치 (High 필드 위치)
예시:
SELECTION-SCREEN POSITION POS_LOW. " 기본 왼쪽 정렬 위치
PARAMETERS: abc(5).
✨ 화면 정리 예시 (전체 흐름)
INITIALIZATION.
comm1 = 'Hello SAP'.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT /1(15) TEXT-001.
SELECTION-SCREEN COMMENT /20(10) comm1.
PARAMETERS: abc(5).
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP. " 한 줄 띄우기
SELECTION-SCREEN ULINE. " 밑줄