안녕하세요. 모델 와이입니다.
오늘은 개발을 하다가 자주 접하는 오류 케이스에 대한 정보를 들고 왔습니다.
모두들 아시다시피 ALV 개발에 있어 다양한 방법의 Field-catalog 생성 방법들이 존재하는데요.
그 중 많은 분들이 쓰시고 있는 "LVC_FIELDCATALOG_MERGE" 의 경우 테이블 혹은 구조체의 선언된 내역을 가져와서 생성합니다. 하지만 참조하는 필드가 변경되었을 경우 해당 내역을 즉시 반영하지 못하는 경우가 생기곤 합니다.
그럴 때는 Buffer를 제거해 Sync를 맞춰주어야 내부적인 선언들도 반영처리가 됩니다.
버퍼를 제거하는 방법은 코드로 작성하거나, 직접 명령어를 입력하는 방법이 존재합니다.
그럼 해당 내역들을 자세히 알아보겠습니다.

0) SE14 ABAP Dictionary 재활성화 방법
아래와 같이 만약 테이블로 선언된 경우에만 해당 내역을 통해 buffer를 제거해 Sync를 맞출 수 있습니다.
Structure 로 선언된 경우에는 방법 1번 혹은 2번을 참조부탁드립니다.
1) 코드를 직접 입력하는 방법
해당 내역은 LVC_FIELDCATALOG_MERGE 를 사용하는 프로그램에 입력해두시는게 좋습니다.
입력해야하는 코드는 아래와 같습니다.
DATA: LV_ID_CLEAR TYPE STRING,
LV_ID_HASH TYPE HASH160.
CLEAR : LV_ID_CLEAR.
FREE MEMORY ID LV_ID_HASH .
CONCATENATE SY-REPID '필드카탈로그 구조체 이름' INTO LV_ID_CLEAR .
CALL FUNCTION 'CALCULATE_HASH_FOR_CHAR'
EXPORTING
DATA = LV_ID_CLEAR
IMPORTING
HASH = LV_ID_HASH
EXCEPTIONS
OTHERS = 4.
2) 커맨드창에 직접 입력하는 방법
일회성으로 한 번 싱크를 맞추고 싶을 경우엔,
아래와 같이 커맨드 창에 두개의 명령어를 직접 입력하시는 방법이 존재합니다.
2-1) /$TAB 입력
2-2) /$SYNC 입력
감사합니다.
궁금하신 사항이 있으시면 댓글 달아주세요.
'SAP ABAP' 카테고리의 다른 글
SAP Background Job 관리와 SM37 분석 (0) | 2025.04.18 |
---|---|
SAP 유효성 점검 및 대체 로직 기입 방법 (0) | 2025.03.24 |
Selection-Screen 실행 버튼 제거 ( Screen 1000 ) (0) | 2025.02.12 |
ABAP Long Text 등록 및 사용 방법 (0) | 2025.02.11 |
SAP Field catalog LVC_S_FCAT 설명 (0) | 2025.01.09 |