목표: 특정 출력 필드를 포함한 ALV 출력
- 출력 필드:
- CARRID: 항공사 코드
- CONNID: 항공편 연결번호
- FLTIME: 비행시간
- DEFTIME: 출발시간
- ARRTIME: 도착시간
- DISTANCE: 거리
- DISTID: 거리 단위
- 주요 문제점 및 내가 사용한 해결 방안
문제점 | 원인 | 해결방법 | 코드(필드 카탈로그) |
CONNID 앞자리 0이 사라짐 | CONNID는 NUMC 타입 | datatype = 'C' 로 설정해 문자로 출력 |
fieldcatalog-fieldname = 'CONNID'. fieldcatalog-datatype = 'C'. |
FLTIME 숫자로 나오지 않고 문자로 보임 | FLTIME 기본 문자 타입 | datatype = 'I' 로 숫자형으로 변환해 정렬 및 출력 | fieldcatalog-fieldname = 'FLTIME'. fieldcatalog-datatype = 'I'. |
DISTANCE 소수점 4자리까지만 보임 | QUAN 타입으로 소수점 4자리 기본 출력 |
decimals_out = 0 으로 소수점 없이 정수만 표시 |
fieldcatalog-fieldname = 'DISTANCE'. fieldcatalog-decimals_out = 0. |
- 코드 일부 (필드 카탈로그 영역)
fieldcatalog-fieldname = 'MANDT'.
fieldcatalog-seltext_m = 'Client'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'CARRID'.
fieldcatalog-seltext_m = 'Airline Code'.
fieldcatalog-col_pos = 1.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'CONNID'.
fieldcatalog-seltext_m = 'Flight Connection Number'.
fieldcatalog-col_pos = 2.
fieldcatalog-datatype = 'C'.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'FLTIME'.
fieldcatalog-seltext_m = 'Flight time'.
fieldcatalog-col_pos = 3.
fieldcatalog-datatype = 'I'.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'DEPTIME'.
fieldcatalog-seltext_m = 'Departure time'.
fieldcatalog-col_pos = 4.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'ARRTIME'.
fieldcatalog-seltext_m = 'Arrival time'.
fieldcatalog-col_pos = 5.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'DISTANCE'.
fieldcatalog-seltext_m = 'Distance'.
fieldcatalog-col_pos = 6.
fieldcatalog-decimals_out = 0.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'DISTID'.
fieldcatalog-seltext_m = 'Mass unit of distance (kms, miles)'.
fieldcatalog-col_pos = 7.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
과제 문제 풀이
문제점 | 원인 | 해결방안 | 코드 (필드 카탈로그) |
CONNID 앞자리 0 사라짐 | CONNID는 NUMC 타입 | lzero 옵션 사용 'X' : 숫자 앞의 0 표기 공백 또는 설정 없음: 숫자 앞의 0 제거 (default) |
fieldcatalog-lzero = ‘X’. |
FLTIME 전체가 나오지 않음 | FLTIME INT4 타입 | edit_mask 옵션 사용 출력 필드 고정 시킴 |
fieldcatalog-edit_mask = ‘__________’. |
DISTANCE 소수점 4자리까지만 보임 | QUAN 타입으로 소수점 4자리 기본 출력 | decimals_out = 0 으로 소수점 없이 정수만 표시 | fieldcatalog-fieldname = 'DISTANCE'. fieldcatalog-decimals_out = 0. |
FLTIME 필드 출력 조건을 잘못 판단함...
fieldcatalog-fieldname = 'CONNID'.
fieldcatalog-seltext_m = 'Flight Connection Number'.
fieldcatalog-col_pos = 2.
fieldcatalog-lzero = ‘X’.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
...
fieldcatalog-fieldname = 'FLTIME'.
fieldcatalog-seltext_m = 'Flight time'.
fieldcatalog-col_pos = 3.
fieldcatalog-edit_mask = ‘__________’.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
...
fieldcatalog-fieldname = 'DISTANCE'.
fieldcatalog-seltext_m = 'Distance'.
fieldcatalog-col_pos = 6.
fieldcatalog-decimals_out = 0.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
'강의 > SAP ERP' 카테고리의 다른 글
[5주차 과제] 도움말 및 검색창 출력 (0) | 2025.07.30 |
---|---|
[4주차 서브과제] 레이아웃 옵션 및 ALV 출력 (0) | 2025.07.30 |
[4주차 메인과제] 서브 토탈 구현 및 ALV 출력 (0) | 2025.07.30 |
[3주차 과제] ALV 출력(2) (0) | 2025.07.30 |
[1주차 과제] SAP 설치 과정 (SAP 실습 환경 구축 with Mac) (0) | 2025.05.09 |