CBO 리포트 프로그램의 스펙 작성 등을 위해, 해당 스크린 필드가 어떤 테이블의 어떤 필드에서 조회되었는지 찾는 방법을 정리해 보았습니다.
일반적으로 트랜스 페어런트 테이블 및 필드를 바로 알 수 있는 경우도 있지만, 경우에 따라서는 좀 더 복잡한 스텝을 거쳐야 하는 경우도 있습니다.
필드 커서 > F1 > Technical Information
가장 먼저 쉽게 알 수 있는 방법은 필드에 커서를 두고 F1을 누른 후 Technical Information을 확인하는 것입니다.
예를 들어, FB01에서 ‘증빙일’이 속한 테이블과 필드를 알고 싶다면, F1-Technical Information을 확인하면 아래와 같이 해당 소스 테이블 및 필드를 명시적으로 알 수 있습니다.
Field Data가 특정 Transparent로 나오게 된다면 가장 쉽게 찾을 수 있게 됩니다.
SE38 환경분석을 통한 테이블 데이터 찾기
KS03 코스트센터 조회 화면의 Name의 위에서 F1을 눌러 Technical Information을 확인시 나오는 테이블은 조회 화면을 구성하기 위한 Structure로써, 본래의 Transparent 테이블은 알 수 없습니다.
이런 경우, SE38 ABAP Editor: Initial Screen의 환경 분석 기능으로 해당 테이블 및 필드를 찾아 볼 수 있습니다.
위의 예시 SAPLKMA1 프로그램이 사용하는 테이블의 목록이 조회 되며, 하기의 목록의 테이블 들을 확인하여 Transparent Table을 찾을 수 있습니다.
ST05 Tracing을 통한 SELECT 테이블 확인
우선 확인하고자 하는 티코드로 이동 한 후 새 창을 열어 ST05 Performance Analysis를 실행합니다.
KS03 호출 → ST05 실행 → ST05 Active Trace > KS03로 돌아와 Enter 입력하여 마스터 호출
마스터가 조회되는 시점까지 프로그램을 진행한 후, 다시 ST05 화면으로 가서 Deactivate Trace – Display Trace 하여 로그를 조회합니다.
ST05 > Deactivate Trace > Display Trace
여러 테이블을 SELECT 한 로그가 기록되어 있으며 각각의 테이블을 조회하며 Transparent Table을 찾을 수 있습니다.
SE30 ABAP Runtime Analysis을 통한 테이블 및 필드 확인
SE30 트랜잭션으로 가서 다음과 같이, Transaction에 KS03을 입력 후 Execute 버튼을 실행합니다.
T-CODE : SE30 ABAP Runtime Analysis
KS03 프로그램이 실행되면 조회하고자 하는 데이터가 나올 때까지 진행합니다.
그런 후 Evaluate 버튼을 눌러 런타임 분석 정보를 확인하면 Form문, SQL, Function 등등 단위 레벨로 모든 내역의 런타임 정보 결과를 확인할 수 있습니다.
여기에서 우리는 SELECT된 DB를 찾고자 하는 것이므로, TYPE 컬럼 선택 후, 상단의 ALV 필터를 눌러 ‘DB’를 입력해주면 사용처로 보이는 DB를 확인할 수 있습니다.
아래와 같이 런타입 분석 결과에서 조회된 DB를 확인하면 원천 사용처 테이블을 찾을 수 있습니다.
이상으로 SAP 필드에 보이는 데이터의 원천 테이블을 찾는 방법을 알아보았습니다.
CBO 프로그램 설계 시 유용하게 사용해 보시기 바랍니다.
함께 보면 좋은 글
SAP 테이블에 LCHR Long Character 타입 필드 선언하는 방법