본문 바로가기

SE808

[SAP ABAP] Module Pool 입력값 유효성 체크 — FIELD·CHAIN·ON REQUEST 차이 (PAI) Module Pool 화면에서 입력 값을 검증할 때 가장 흔하게 쓰는 자리가 PAI(Process After Input) 입니다. PAI 안에 FIELD ... MODULE · CHAIN ... ENDCHAIN 같은 키워드와 ON REQUEST · ON INPUT · ON CHAIN-REQUEST 같은 부가 옵션을 조합하면, 어떤 필드를 언제 검증할지 화면 단위에서 세밀하게 제어할 수 있습니다. 문제는 이 4가지 옵션이 동작 시점과 커서 이동 방식이 서로 다르다는 점입니다. 똑같이 검증 모듈을 호출하는 것 같아도, 사용자가 값을 입력한 직후마다 호출되는지 / 값이 바뀐 경우에만 호출되는지 / 여러 필드를 묶어 한 번에 평가하는지에 따라 사용자 경험과 성능이 크게 달라집니다. 이 글은 Module Pool.. 2026. 5. 19.
[SAP ABAP] 유지보수뷰(Table Maintenance Generator) 생성·변경 — SE11·SE54·SM30 사용법 CBO 테이블(ZTXX0123 같은 Z 테이블) 을 만들고 나면, 운영팀 또는 사용자가 그 테이블의 데이터를 직접 입력·수정·삭제할 수 있도록 화면을 제공해야 합니다. 매번 ABAP 코드로 입력 화면을 만들면 시간이 많이 걸리는데, SAP 는 이런 경우를 위해 Table Maintenance Generator(유지보수뷰 생성기) 라는 표준 도구를 제공합니다. 이 도구를 사용하면 SE11 의 메뉴 클릭 몇 번으로 SM30 에서 사용자가 데이터를 입력할 수 있는 화면이 자동으로 생성됩니다. 별도 ABAP 코딩이 필요 없고, 추가 검증 로직만 이벤트로 끼워 넣으면 됩니다. 이 글은 Z 테이블의 유지보수뷰를 생성하는 절차, 핵심 설정값(권한 그룹·Function 그룹·유지보수 유형·화면 번호) 의 의미, 그리고.. 2026. 5. 18.
[SAP ABAP] Function · Method 파라미터 자동 입력 — Ctrl+Space 자동완성 / Shift+Enter 매개변수 / Pattern 삽입 ABAP 에서 펑션(Function Module) 이나 메서드를 호출할 때 가장 귀찮은 작업이 EXPORTING / IMPORTING / TABLES / EXCEPTIONS 절을 일일이 적는 것 입니다. REUSE_ALV_GRID_DISPLAY 같은 펑션은 IMPORTING/EXPORTING 합쳐 30개 넘는 매개변수가 있는데, SE37 들어가서 하나씩 확인하며 옮겨 적으면 시간 낭비도 크고 오타 위험도 큽니다. 해결은 간단해요 — ABAP 에디터(SE38·SE80) 가 제공하는 두 가지 도구를 쓰면 됩니다. Ctrl + Space 로 펑션·메서드 이름을 자동으로 찾고, Shift + Enter (또는 Pattern 버튼) 로 매개변수 전체를 한 번에 가져옵니다. ABAP 코드 개발 시간을 가장 빠르게 .. 2026. 5. 15.
[SAP] CTS 이관 후 PERFORM 오브젝트 없음 에러 — SE80 Rebuild Object List로 해결 개발 시스템에서 작성한 ABAP 프로그램을 CTS(트랜스포트)로 다른 시스템(QAS·운영 등)으로 이관한 직후, 그 시스템에서 프로그램을 열어보면 PERFORM·서브루틴·인클루드 같은 오브젝트가 "없다" 는 팝업이 뜨거나 신택스 에러가 나는 경우가 있습니다. 막상 코드 자체는 정상적으로 들어와 있는데 SAP이 그 오브젝트를 인식하지 못하는 상황이죠. 원인은 단순합니다. CTS로 소스 코드는 이관됐지만 Object Directory(오브젝트 디렉토리) 가 아직 동기화되지 않았기 때문입니다. SAP의 Object List 캐시가 이전 상태를 보고 있어서 "이 PERFORM은 모르는 오브젝트야" 라고 판단하는 것. 이 글은 그 증상을 Rebuild Object List 한 번으로 해결 하는 짧은 트러블슈팅 메.. 2026. 5. 13.
[SAP ABAP] Function·Table 어디에 쓰이는지 찾는 법 — Where-Used 영향도 분석 SAP에서 기존 테이블이나 Function Module을 손대야 하는 상황은 매우 조심스럽습니다. 표준 객체든 CBO 객체든, 이 객체가 어디서 어떻게 호출되고 있는지 를 확인하지 않은 채로 수정하면 엉뚱한 화면이 깨지거나 인터페이스가 멈춰버리기 때문이죠. 이때 SAP가 기본으로 제공하는 기능이 Where-Used List(사용처 리스트)입니다. SE11 / SE12 / SE37 / SE38 어느 트랜잭션이든 동일한 사용처 아이콘이 있어서, 테이블 → 프로그램 → 서브루틴 → Function → 인터페이스까지 단계적으로 따라 들어갈 수 있습니다. 이 글은 자주 쓰는 테이블·Function의 영향도 분석 5단계 를 정리한 메모입니다.핵심 원리Where-Used 검색은 한 번에 끝나지 않고 연속적으로 파고드.. 2026. 5. 12.
[SAP ABAP] 익스터널 디버깅(External Debugging) — 운영 서버에서 다른 사용자 입장으로 안전하게 디버깅하기 SAP ABAP 개발자가 운영 환경에서 가장 자주 부딪히는 상황 중 하나가 "현업이 본인 ID로 작업할 때만 발생하는 버그를 디버깅해야 할 때" 입니다. 본인 ID로 똑같이 실행하면 정상 작동하고, 현업 ID로만 에러가 나는 케이스가 그렇죠.이때 본인 PC에서 SY-UNAME 을 임의로 변경하면 운영 데이터가 다른 사용자 이름으로 기록되어 버려서 추적이 꼬일 수 있습니다. 이걸 안전하게 우회하는 방법이 바로 익스터널 디버깅(External Debugging) 입니다.이번 글에서는 익스터널 디버깅이 무엇이고, 언제 쓰며, 어떻게 설정하는지 정리합니다.익스터널 디버깅이란?ABAP 디버거에는 두 가지 모드가 있습니다.구분일반 디버깅익스터널 디버깅디버깅 대상본인 세션다른 사용자의 세션SY-UNAME 값본인 ID.. 2026. 5. 12.