Appearance
SAP Explorer
SAP Explorer는 연결된 SAP 시스템의 개발 객체를 탐색하고, 소스 코드를 조회하며, AI 기반 분석을 수행하는 기능입니다. 트리 기반 계층 구조로 SAP 객체를 직관적으로 탐색할 수 있습니다.
분석 > SAP 분석에서 오브젝트 탐색 유형으로 새 분석을 만들면 이 화면이 열립니다. 분석 결과를 저장하고 다시 열어 보는 방법은 SAP 분석 저장을 참고하세요.
SAP 시스템 연결
연결 설정
SAP Explorer를 사용하려면 먼저 SAP 시스템과의 연결을 설정해야 합니다.
- 왼쪽 사이드바 하단의 SAP 연결 버튼을 클릭합니다.
- 시스템 목록에서 연결할 SAP 시스템을 선택합니다.
- 시스템의 인증 방식에 따라 SAP 계정 또는 SSO로 인증합니다.
- SAP Explorer 화면 상단의 시스템 선택 드롭다운에서 사용할 시스템을 선택합니다.
시스템 이름 앞의 초록색 표시는 인증된 상태, 회색 표시는 인증되지 않은 상태입니다. 한 번 인증한 시스템은 서버 세션 동안 사이드바와 SAP 시스템 선택기가 같은 인증 상태를 공유하므로 화면을 이동하거나 다른 시스템으로 전환해도 다시 인증할 필요가 없습니다.
특정 시스템의 인증을 끝내려면 사이드바의 시스템 목록에서 해당 시스템 오른쪽의 로그아웃 아이콘을 클릭합니다. 다른 시스템에 저장된 인증은 유지됩니다.
시스템 등록
SAP 시스템의 연결 정보(호스트, 인스턴스, 클라이언트 등)는 관리자가 사전에 등록합니다. 새로운 시스템 연결이 필요한 경우 관리자에게 요청하세요.
시스템에 등록한 언어는 표준 ADT와 IntelliGateway 요청 모두의 SAP 로그인 언어로 사용됩니다. 언어를 변경한 경우 기존 SAP 세션에 이전 언어가 남아 있을 수 있으므로 SAP 연결에서 로그아웃한 뒤 다시 로그인하세요.
연결 상태
| 상태 | 설명 |
|---|---|
| Connected | 정상 연결 상태 |
| Disconnected | 연결 끊김 (재연결 필요) |
| Error | 연결 오류 (인증 실패, 네트워크 등) |
인증 유지 범위
SAP 인증 정보는 브라우저 저장소나 데이터베이스에 영구 저장되지 않습니다. 명시적으로 로그아웃하거나 서버가 재시작되면 다시 인증해야 합니다.
객체 브라우저
SAP 시스템의 개발 객체를 트리 기반 계층 구조로 탐색합니다.
탐색 계층
SAP 시스템
├── 패키지 (Package)
│ ├── 프로그램 (Program)
│ │ ├── Include
│ │ └── Screen
│ ├── 함수 그룹 (Function Group)
│ │ └── Function Module
│ ├── 클래스 (Class)
│ │ ├── Method
│ │ └── Interface
│ ├── CDS View
│ └── Table / Structure
└── ...검색 및 필터
- 키워드 검색: 객체 이름으로 빠른 검색 (
Ctrl + K) - 유형 필터: 프로그램, 함수 모듈, 클래스 등 유형별 필터링
- 패키지 필터: 특정 패키지 범위로 탐색 제한
- 즐겨찾기: 자주 조회하는 객체를 즐겨찾기에 등록
검색어는 대소문자를 구분하지 않습니다. 소문자로 입력해도 SAP의 대문자 오브젝트 이름으로 검색되며, 패키지 검색 결과는 내부 유형 코드 대신 Programs, Classes, CDS Views와 같은 설명으로 그룹화됩니다. 기술 유형 코드는 각 그룹 옆 배지에서 함께 확인할 수 있습니다.
검색 결과의 오브젝트 이름 아래에는 SAP에 등록된 설명이 표시됩니다. 현재 로그인 언어의 설명이 없으면 영문 설명을 대신 사용합니다.
패키지를 펼치면 패키지의 직속 오브젝트와 설명을 한 번에 불러옵니다. 프로그램, 클래스, 인터페이스, 함수 그룹, 패키지, 테이블·구조, 데이터 요소와 도메인의 설명을 지원하며, 함수 그룹을 펼치면 Function Module 설명도 함께 불러옵니다.
빠른 검색 활용
객체 이름을 정확히 알고 있다면 상단 검색창에 직접 입력하는 것이 트리 탐색보다 빠릅니다. 와일드카드(*)를 사용한 패턴 검색도 지원합니다.
소스 코드 뷰어
선택한 객체의 소스 코드를 구문 강조와 함께 표시합니다.
주요 기능
| 기능 | 설명 | 단축키 |
|---|---|---|
| 구문 강조 | ABAP 키워드, 문자열, 주석 등 색상 구분 | - |
| 라인 넘버 | 코드 행 번호 표시 | - |
| 코드 접기 | 메서드, FORM, 블록 단위 접기/펼치기 | Ctrl + Shift + [ |
| 검색 | 코드 내 텍스트 검색 | Ctrl + F |
| 이동 | 특정 행 번호로 이동 | Ctrl + G |
| 복사 | 코드 전체 또는 선택 영역 복사 | Ctrl + C |
탭 기반 멀티뷰
여러 객체를 동시에 열어 탭으로 전환하며 비교할 수 있습니다. 최대 10개의 탭을 동시에 열 수 있습니다.
코드 분석
소스 코드의 구조적 정보를 자동으로 분석하여 표시합니다.
기본 분석 정보
| 분석 항목 | 설명 |
|---|---|
| 코드 라인 수 | 전체 라인, 실행 라인, 주석 라인, 빈 라인 |
| 메서드 목록 | 정의된 메서드/FORM 이름과 라인 범위 |
| Include 목록 | 참조하는 Include 프로그램 목록 |
| 호출 관계 | 호출하는/호출되는 Function Module, 메서드 목록 |
| DB 테이블 참조 | SELECT 문에서 사용하는 테이블 목록 |
| Authority Check | 사용된 권한 객체 목록 |
분석 범위
코드 분석은 선택한 객체 단위로 수행됩니다. Include를 포함한 전체 프로그램 분석이 필요한 경우 상위 메인 프로그램을 선택하세요.
AI 분석
AI를 활용하여 소스 코드에 대한 심층 분석을 수행합니다.
목적 분석
AI가 소스 코드를 읽고 해당 프로그램의 비즈니스 목적과 주요 기능을 한글로 설명합니다.
- 프로그램 개요: 프로그램의 전체 목적과 역할
- 주요 기능: 핵심 비즈니스 로직 설명
- 입출력 구조: 주요 데이터 흐름 요약
패턴 분석
코드에서 사용된 설계 패턴과 구현 방식을 식별합니다.
- 아키텍처 패턴: MVC, 싱글톤, 팩토리 등
- SAP 패턴: ALV, BDC, BAPI 호출, Enhancement 등
- 데이터 접근 패턴: Open SQL, Native SQL, CDS 등
개선 제안
코드 품질 향상을 위한 구체적인 개선 방안을 제시합니다.
- 성능 최적화: 비효율적인 DB 접근, 중복 처리 등
- 보안 강화: 권한 체크 누락, SQL Injection 위험 등
- 가독성 향상: 변수 명명, 코드 구조화, 주석 보완 등
- 현대화 권장: S/4HANA 대응을 위한 코드 전환 가이드
AI 분석 결과 활용
AI 분석 결과는 참고 자료로 활용하시기 바랍니다. 실제 코드 수정 시에는 업무 도메인 지식을 가진 담당자의 검토가 필요합니다.
SAP 오브젝트 비교
SAP 오브젝트 비교에서는 기본 A, B 두 SAP 시스템에서 같은 비즈니스 목적을 수행하는 오브젝트를 하나의 비교 묶음으로 분석합니다. 필요하면 시스템 추가를 눌러 C 시스템까지 비교할 수 있습니다. 시스템마다 프로그램이 여러 개로 나뉘어 있어도 N:M 묶음으로 등록할 수 있습니다.
- 기본으로 표시되는 시스템 A와 B에서 비교할 SAP 시스템을 선택합니다. 같은 시스템 안의 서로 다른 오브젝트를 비교할 수도 있습니다.
- 세 번째 비교 대상이 필요하면 시스템 추가를 누르고 시스템 C를 선택합니다.
- 시스템 A의 객체 브라우저에서 기준 오브젝트를 선택해 비교 묶음을 만듭니다.
- 묶음의 각 활성 시스템 입력란에 대응하는 오브젝트 이름을 입력하고 Enter를 누릅니다.
- 오브젝트 이름을 쉼표로 구분하면 여러 개를 한 번에 추가할 수 있습니다.
- 모든 활성 시스템에 오브젝트가 등록되면 비교 실행을 누릅니다.
시스템 C 오른쪽의 제거 버튼을 누르면 C 선택값과 각 묶음의 C 오브젝트가 함께 제거됩니다. 다시 추가하면 시스템 A의 첫 오브젝트 이름이 C의 초기 대응 이름으로 들어갑니다.
패키지 트리에는 Function Group이 탐색용 컨테이너로 표시됩니다. Function Group 자체는 비교 대상으로 선택할 수 없으며, 펼쳐서 하위 Function Module을 선택하면 비교 묶음에 FUNC 타입과 선택한 Function Module 이름이 등록됩니다. 상위 Function Group 정보는 소스 조회에 함께 사용됩니다. IntelliGateway 연결에서도 패키지의 FUGR 노드를 펼칠 수 있으며, Function Module 검색은 TFDIR을 기준으로 동작합니다. 검색 유형을 전체로 선택해도 TADIR의 일반 오브젝트와 TFDIR의 Function Module을 함께 표시합니다. SAP에 설치된 IntelliGateway 클래스가 구버전이어도 서버가 TFDIR 조회로 Function Module 결과를 보완합니다.
공통 SAP 시스템 선택기의 compact 크기는 여러 선택기를 나란히 둘 수 있도록 짧은 폭으로 표시됩니다. SAP Explorer, CBO 의존 오브젝트와 백그라운드 작업처럼 같은 compact 선택기를 쓰는 화면에도 동일하게 적용됩니다.
각 시스템의 오브젝트 입력란과 등록된 오브젝트 Badge는 한 줄에 표시됩니다. Badge가 가로 공간을 넘으면 Badge 영역을 좌우로 스크롤해 확인할 수 있습니다. 비교 묶음이 많아지면 묶음 목록 자체를 위아래로 스크롤합니다.
비교 묶음은 등록된 오브젝트들이 같은 목적을 가진다는 전제로 분석됩니다. 이름이 달라도 되며, 시스템별 오브젝트 수가 같을 필요도 없습니다.
| 묶음 형태 | 제공 결과 |
|---|---|
| 1:1 | 묶음 AI 분석과 함께 A-B 구조·소스·메트릭 상세 정적 비교를 제공 |
| 1:1:1 | 묶음 AI 분석과 함께 A-B, A-C 구조·소스·메트릭 상세 정적 비교를 제공 |
| N:M | 활성 시스템 수와 관계없이 파일 유사도를 대표값으로 쓰지 않고 묶음 전체를 AI 분석 |
N:M 분석은 프로그램, 클래스, 함수 모듈, 인터페이스와 CDS처럼 소스를 읽을 수 있는 오브젝트를 지원합니다. DDIC 오브젝트는 활성 시스템마다 하나씩 등록한 상세 비교에서 사용합니다.
소스 비교와 대소문자
소스 비교 탭은 ABAP 문법에 맞춰 대소문자를 구분하지 않습니다. SELECT와 select처럼 표기만 다른 코드는 차이로 보지 않으며, 좌우 소스는 비교에 쓰인 그대로 대문자로 정규화해 표시합니다.
작은따옴표, 백틱, 문자열 템플릿 안의 값은 원문 그대로 두고 비교하므로 'Value'와 'VALUE'는 그대로 차이로 표시됩니다. 같은 기준이 AI 분석에 넘기는 변경 코드 hunk에도 적용되어, 표기만 다른 줄은 AI 판정 입력에서 빠집니다.
AI 분석 옵션
AI 분석 영역의 각 옵션은 테두리와 설명이 있는 클릭 가능한 카드로 표시됩니다.
분석 옵션 헤더를 클릭하면 AI 분석 영역 전체를 접고 펼칠 수 있습니다. 접어 두어도 실행 중인 분석은 계속 진행되며, 헤더의 진행 표시로 상태를 확인할 수 있습니다.
각 옵션 카드 오른쪽에는 그 옵션의 실행 상태가 표시됩니다. 진행 중이면 회전 표시, 실패했으면 붉은 경고 표시, 완료됐으면 별 표시가 나타나므로 옵션을 바꿔 가며 여러 분석을 돌려도 어느 것이 끝났는지 알 수 있습니다.
분석 중 오류가 발생하면 오류 메시지와 다시 분석 버튼이 남습니다. AI가 아무 내용도 반환하지 않은 경우에도 안내와 함께 실행 버튼이 다시 나타납니다.
실행이 끝난 결과는 옵션 카드 아래의 결과 삭제 버튼으로 지울 수 있습니다. 선택한 옵션의 결과만 지워지며, 지운 뒤에는 실행 전 상태로 돌아가 다시 실행할 수 있습니다. 진행 중인 분석에는 버튼이 나타나지 않습니다.
저장된 분석을 조회 모드로 열었을 때는 다시 실행할 수 없으므로 삭제 버튼도 표시되지 않습니다. 저장된 AI 분석 결과를 지우려면 수정 모드에서 열어 삭제한 뒤 다시 저장하세요.
- 기능 동등성 판정은 묶음의 핵심 비즈니스 기능과 동작이 같은지 판정합니다.
- 차이 리스크 분석은 한 시스템을 다른 시스템으로 이행하거나 대체할 때의 기능·데이터 위험을 찾습니다.
- 통합 관점 분석은 시스템별 역할과 책임, 중복·분산 로직을 분석하고 목표 오브젝트 구조, 재사용·병합·폐기 후보, 단계별 이행과 회귀 검증 항목을 제안합니다.
AI 입력은 오브젝트가 같은 목적을 가진다는 전제를 포함합니다. 소스가 입력 한도를 넘으면 일부 내용이 생략될 수 있으므로 결과에 표시된 근거 한계와 추가 확인 대상을 함께 검토하세요.
비교 실행 중 특정 시스템의 대상 오브젝트가 존재하지 않는 것으로 확인되면 해당 대상은 정적 비교와 AI 입력에서 제외됩니다. 결과 카드의 대상 오브젝트 없음 안내에서 시스템, 타입과 이름을 확인할 수 있습니다. 조회 가능한 대상이 두 시스템 미만이면 AI 분석은 실행하지 않습니다. 인증, 네트워크 또는 SAP 서버 오류는 미존재로 간주하지 않고 기존 오류로 표시합니다.

내보내기
탐색한 객체 정보와 분석 결과를 외부로 내보낼 수 있습니다.
- 소스 코드 다운로드: 선택한 객체의 소스 코드를 텍스트 파일로 저장
- 분석 보고서: AI 분석 결과를 문서 형태로 내보내기
- 노트북 연결: 조회한 코드를 AI 노트북의 소스로 직접 추가
CBO 의존 오브젝트 분석
분석 > SAP 분석에서 의존성 분석 유형으로 만들면, 하나의 커스텀 오브젝트에서 시작해 연결된 프로그램, 테이블, 펑션 모듈과 클래스 메서드를 반복 탐색할 수 있습니다.
- 상단에서 분석할 SAP 시스템을 선택합니다.
- 객체 브라우저에서 프로그램, 테이블, 펑션 모듈 또는 클래스를 선택합니다.
- 클래스를 선택한 경우 분석할 클래스 메서드를 추가로 선택합니다.
- 탐색 방식에서 관계 중심 또는 흐름 중심을 선택합니다.
- 분석 시작점 카드의 포함 오브젝트 유형에서 PROG, TABL, FUNC 또는 CLAS 배지를 선택합니다.
- 공통 유틸리티나 설정 테이블처럼 묶음에서 제외할 오브젝트가 있으면 타입과 이름을 제외 오브젝트에 등록합니다.
- 최대 확장 단계와 최대 오브젝트 수를 정한 뒤 의존성 분석을 실행합니다.
- 그래프, 오브젝트, 관계 탭에서 결과와 탐지 근거를 확인합니다.
포함 오브젝트 유형은 별도 카드가 아니라 분석 시작점 카드 안의 작은 선택 배지로 표시됩니다. 화면 높이가 낮아도 제외 오브젝트와 분석 시작점 카드는 한 화면에 유지되며, 등록한 제외 오브젝트와 분석 설정 항목은 각 카드 안에서 스크롤할 수 있습니다. 의존성 분석 버튼은 항상 표시됩니다.
표준 오브젝트 포함은 기본적으로 꺼져 있습니다. SAP 표준 프로그램·테이블·펑션·클래스까지 결과에 표시해야 할 때만 스위치를 켭니다.
| 탐색 방식 | 확장 방향 | 테이블 처리 | 적합한 용도 |
|---|---|---|---|
| 관계 중심 | 호출·사용하는 오브젝트와 현재 오브젝트를 사용하는 호출자를 모두 반복 탐색 | D010TAB 후보와 실제 CRUD 소스를 확인해 사용자를 역탐색 | 변경 영향과 연관 자산 묶음 확인 |
| 흐름 중심 | 시작점이 호출·사용하는 정방향 관계만 반복 탐색 | 그래프에 추가한 뒤 말단으로 종료 | 프로그램 실행·호출 흐름 확인 |
예를 들어 프로그램 A가 테이블 B를 조회하고 펑션 C를 호출하면 흐름 중심에서는 A → B, A → C를 추가합니다. B에서는 탐색을 종료하고 C의 내부 소스에서 다시 호출하는 프로그램, 펑션, 클래스 메서드와 사용하는 테이블을 찾아 이어갑니다. Where-Used와 D010TAB 역방향 사용자는 흐름 중심 결과에 추가하지 않습니다.
소스의 SELECT, INSERT, UPDATE, MODIFY, DELETE 대상은 DDIC에서 활성 투명 테이블로 확인된 경우에만 테이블 노드로 유지합니다. CDS DDL Source 이름, 구조체, 뷰 등 SE11 투명 테이블이 아닌 이름은 테이블 후보에서 제외합니다. DDIC 조회 자체가 실패하면 실제 테이블을 누락시키지 않도록 후보를 유지하고 완전성 경고를 표시합니다.
펑션 모듈 구현에서 로컬 PERFORM을 호출하면 같은 Function Group의 FORM 정의를 따라가며, 도달 가능한 FORM 내부의 테이블 CRUD, 다른 펑션 호출, 클래스 메서드 호출과 프로그램 실행 관계도 현재 펑션의 흐름으로 추가합니다. Function Module 본문과 도달한 소스의 정적 INCLUDE 이름도 중첩 INCLUDE까지 따라가므로 INCLUDE 안의 동적 SQL 관계를 함께 분석합니다. 호출되지 않은 다른 FORM의 관계는 포함하지 않습니다. 객체 변수의 클래스 타입을 해석할 수 있도록 TOP/Dxx 선언 INCLUDE를 함께 참고합니다. PERFORM (동적이름)이나 INCLUDE (동적이름)처럼 실행 시점에 대상이 결정되는 구문은 정적으로 확정할 수 없어 완전성 경고에 표시됩니다.
MODIFY (C_TABNAME)처럼 괄호 안의 변수로 테이블을 지정한 동적 SQL은 같은 프로그램과 INCLUDE의 문자열 상수·단순 대입을 따라 실제 테이블 후보를 해석합니다. 정적 PERFORM ... USING|CHANGING이 해당 변수를 FORM 인자로 전달하는 경우에도 실인자와 형식인자를 위치 순서로 연결합니다. 해석된 대상은 일반 TABL 노드로 표시합니다. 같은 액션에 정적 근거가 있으면 일반 확정 액션으로 표시하고 동적 근거는 상세 근거에 보존합니다. 동적 근거만 있는 액션은 Badge에 추론을 표시하며, 한 선에 여러 액션이 있으면 해당 액션 Badge만 구분합니다. 선의 모든 액션이 추론일 때만 선 전체를 점선으로 표시합니다. MODIFY는 생성 또는 갱신을 수행하는 단일 MODIFY 액션으로 표시합니다.
관계 탭의 근거 요약을 펼치면 정적·추론 근거 건수와 각 근거의 소스 파일, 행 번호와 실제 구문을 확인할 수 있습니다. 정적·추론 근거가 함께 있어 그래프에는 일반 액션으로 표시되는 관계도 이 상세 영역에는 두 근거가 모두 보존됩니다. 그래프의 해당 액션에 마우스를 올리면 혼합 근거가 있다는 안내를 확인할 수 있습니다.
런타임 입력, 커스터마이징 조회 결과, 문자열 조합 또는 동적 호출 때문에 대상을 하나 이상 확정할 수 없으면 변수 이름을 테이블 노드로 만들지 않습니다. 확인된 유한한 후보만 표시하고 결과 하단의 완전성 경고에 DYNAMIC_TABLE과 미확정 변수·소스 위치를 남깁니다. 저장 그래프에서 이 기능을 사용하려면 분석 규칙 변경 후 전체 스캔을 다시 실행해야 합니다.
표준 ADT와 IntelliGateway 모두 D010INC의 프로그램별 INCLUDE 목록을 기준으로 Function Group의 Fxx·TOP·Dxx를 포함한 FLOW 관계를 분석합니다. 표준 ADT에 SAPL<Function Group> 생성 프로그램의 일반 PROG 리소스가 없어도 D010INC와 Function Group INCLUDE를 직접 읽어 분석을 계속합니다. INCLUDE 인덱스나 개별 소스를 읽지 못하면 결과에서 조용히 제외하지 않고 완전성 경고에 대상과 원인을 표시합니다.
관계 중심과 흐름 중심 모두 처음에는 시작 오브젝트와 직접 연결된 1단계만 조회합니다. 이후 노드의 펼치기 화살표를 누르거나 그래프 상단의 일괄 확장 버튼으로 필요한 범위만 이어서 분석합니다. 최대 확장 단계는 자동으로 한 번에 조회할 깊이가 아니라 사용자가 그래프에서 이어서 펼칠 수 있는 안전 한도입니다.
최초 분석 중에는 현재 조회 중인 오브젝트와 처리·발견·대기 오브젝트 수가 실시간으로 표시됩니다. 시작 버튼은 분석 중지 버튼으로 바뀌며 누르면 진행 중인 스트림 요청과 서버 탐색을 종료합니다. 그래프에서 개별 또는 일괄 확장 중에는 확장 중지 버튼이 나타납니다. 확장을 중지하거나 오브젝트별 60초 제한을 초과해도 이미 완료되어 그래프에 병합된 결과는 유지됩니다. 서버는 공통 테이블·펑션의 후보를 작은 배치로 처리하며 중단 신호를 확인한 뒤 다음 배치를 시작하지 않습니다. 이미 SAP에 전달된 단일 요청은 해당 요청이 응답한 뒤 종료될 수 있습니다.
최대 오브젝트 수는 100, 250, 500, 1,000 또는 2,000개 중에서 선택할 수 있으며 기본값은 500개입니다. 여러 번 확장해도 병합된 전체 그래프에 이 한도를 적용합니다.
노드가 많으면 배치를 계산하는 데 시간이 걸립니다. 계산은 화면과 별도로 돌기 때문에 그동안에도 그래프를 움직이거나 다른 탭을 볼 수 있으며, 계산 중에는 그래프 위쪽에 배치 계산 중 표시가 나타납니다. 표시가 사라지면 새 배치가 반영됩니다. 처음 그리는 중이 아니라면 계산이 끝날 때까지 직전 배치를 그대로 보여 주므로 화면이 비지 않습니다. 결과의 오브젝트·관계·도달 깊이·경고는 라벨과 숫자가 나란히 있는 한 줄 요약 바에서 확인합니다. 그래프 오른쪽 위의 전체 화면 버튼을 누르면 브라우저 전체 영역에서 그래프를 이동하거나 확대할 수 있고, 전체 화면 종료 버튼 또는 Esc 키로 돌아옵니다.
그래프의 각 노드는 오브젝트 유형과 이름만 높이 32px의 작은 카드로 표시합니다. 유형 배지는 공간을 줄이기 위해 PROG는 P, TABL은 T, CLAS는 C, FUNC는 F 한 글자로 표시하며 기존 유형별 색상은 유지합니다. 노드를 클릭하면 표시된 오브젝트 이름을 클립보드에 복사하고, 선택 노드를 중심으로 상위 호출자는 incoming 방향으로, 하위 호출 대상은 outgoing 방향으로 각각 끝까지 따라가며 노드와 경로 간선을 강조합니다. 예를 들어 1 → 2 → 3 → 4에서 2를 선택하면 1부터 4까지 강조되지만 1에서 갈라진 별도 형제 분기는 강조되지 않습니다. 같은 노드를 다시 클릭하거나 그래프 빈 영역을 클릭하면 강조가 해제됩니다. 직접 클릭한 노드는 굵은 테두리와 확대로 표시되어 함께 강조된 노드와 구분됩니다. 폭은 이름 길이에 따라 120~160px 범위에서 자동으로 늘어납니다. 클래스 노드는 클래스명#메서드명으로 표시되고 같은 형식으로 복사되며, 최대 폭을 넘는 이름은 마우스를 올려 전체 이름을 확인할 수 있습니다. 노드 이름에 마우스를 올리면 수집된 오브젝트 설명도 이름 아래 줄에 함께 표시됩니다. 설명은 저장 그래프의 프로그램, 클래스, Function Module과 테이블에 표시되며, 표준 오브젝트에는 아직 수집되지 않습니다. 테이블 설명은 스캔이 다시 돌아야 채워지므로, 이전에 스캔한 그래프에서는 다음 스캔 뒤에 보입니다. 전체 스캔과 증분 스캔 모두 비어 있는 설명을 채우며, 이미 값이 있는 설명은 덮어쓰지 않습니다.
실시간 SAP 분석에서는 시작 오브젝트와 테이블에 설명이 표시됩니다. 테이블 설명은 DDIC 조회로 얻을 수 없어 오브젝트 검색을 한 번 더 하며, 탐색이 끝난 뒤 설명이 비어 있는 테이블을 한 번에 채웁니다. 최대 깊이에서 발견된 테이블은 확장 단계를 거치지 않으므로 조직 필드와 달리 설명은 이 방식으로 함께 채워집니다. 테이블이 300개를 넘으면 분석이 느려지지 않도록 건너뜁니다. 조회에 실패해도 분석은 계속되며 설명만 비어 있습니다. 실시간 분석에서는 시작 오브젝트만 설명을 표시합니다. 깊이와 조직 필드 같은 상세 정보는 오브젝트 탭에서 확인합니다.
하나의 오브젝트가 같은 테이블을 조회하고 수정하는 것처럼 두 노드 사이에 여러 관계가 있으면 방향선은 하나만 그리고 중앙에 SELECT, MODIFY · 추론 같은 액션 Badge를 함께 표시합니다. 단계별 펼치기에서 같은 방향선에 새 액션이 추가되면 기존 Badge 목록을 즉시 교체하므로 관계 탭과 그래프에 같은 액션이 표시됩니다. 여러 Badge와 노드 이름이 겹치지 않도록 노드 사이의 가로·세로 간격을 여유 있게 배치합니다.
그래프 오른쪽 위에는 현재 탐색에 필요한 버튼만 표시합니다. 왼쪽 위는 호출 방향 범례 자리라 버튼과 겹치지 않습니다. 흐름 중심은 현재 표시 단계와 전체 확장 완료 단계를 함께 보여 주고 다음 단계 전체 가져오기를 제공합니다. 관계 중심은 양방향 발견 거리를 호출 단계로 오해하지 않도록 숫자 레벨을 표시하지 않고 현재 화면 전체 확장을 제공합니다. 레이아웃, 묶음 기준과 관계 필터는 보기 설정 메뉴에서 변경합니다.

흐름 중심 그래프 탐색
흐름 중심은 정방향 호출 순서를 단계로 표시합니다.
- 시작 오브젝트는 0단계이며 최초 분석에서 직접 호출·사용하는 1단계를 가져옵니다.
표시 N단계는 현재 그래프에 실제로 보이는 가장 깊은 단계입니다.전체 완료 N단계는 해당 단계까지 확장 가능한 모든 오브젝트를 조회했다는 뜻입니다.- 일부 노드만 개별 펼치면 표시 단계가 먼저 증가할 수 있습니다. 다음 단계 전체 가져오기를 누르면 아직 조회하지 않은 현재 frontier 오브젝트를 최대 두 개씩 처리해 전체 완료 단계를 맞춥니다.
- 테이블, 표준 오브젝트, 시스템에 없는 오브젝트와 최대 확장 단계에 도달한 오브젝트는 추가 확장 대상에서 제외합니다.
관계 중심 그래프 탐색
관계 중심으로 분석하면 한 번에 전체를 그리지 않고 단계별로 펼쳐 봅니다.
- 분석 직후에는 시작 오브젝트와 직접 연결된 오브젝트만 표시합니다.
- 노드 오른쪽의 펼치기 화살표를 누르면 그 오브젝트의 연결을 추가로 조회해 그래프에 더합니다. 조회하는 동안 해당 노드에 진행 표시가 나타나며, 실시간 SAP 분석은 시간이 걸릴 수 있습니다.
- 현재 화면 전체 확장을 누르면 현재 보이는 오브젝트 중 아직 조회하지 않은 가장 가까운 묶음을 최대 두 개씩 확장합니다. 관계 중심의 깊이는 정·역방향 발견 거리이므로 단계 숫자는 표시하지 않습니다.
- 한 번 불러온 오브젝트는 다시 조회하지 않습니다. 접었다 다시 펼치면 즉시 표시됩니다.
- 펼치거나 접어도 기존 노드, 접혔다 다시 나타난 노드, 화면 위치와 확대 배율은 그대로 유지됩니다. 새로 발견한 노드만 기존 노드와 겹치지 않는 빈자리에 추가됩니다.
- 노드는 마우스로 끌어 원하는 위치로 옮길 수 있으며, 옮긴 위치는 이후 펼쳐도 유지됩니다.
관계 중심에서는 그래프 오른쪽 위 보기 설정에서 레이아웃을 전환할 수 있으며 기본값은 단계형입니다.
| 레이아웃 | 배치 방식 | 적합한 용도 |
|---|---|---|
| 관계형 | 연결된 노드를 서로 당기는 기존 force 배치 | 전체 연결망과 밀접한 관계 확인 |
| 단계형 | 흐름 중심과 같은 좌→우 단계에 깊이별로 노드를 정렬 | 시작점부터 관계가 확장된 순서 확인 |
그래프 군집 기준
관계 중심과 흐름 중심 모두 그래프 오른쪽 위 보기 설정에서 노드를 묶어 보여 주는 기준을 선택합니다. 흐름 중심은 모든 기준에서 기존 좌→우 단계를 유지하며, 같은 단계 안에서 노드의 세로 순서와 간격을 조정해 묶음을 표시합니다.
| 군집 기준 | 묶는 방법 | 적합한 용도 |
|---|---|---|
| 연관된 묶음 | 시작 오브젝트에서 갈라진 갈래별로 묶음. 흐름 중심에서는 단계별 갈래 순서를 정렬 | 어떤 경로로 딸려온 자산인지 확인 |
| 같은 종류 | PROG, TABL, FUNC, CLAS 유형별로 묶음. 흐름 중심에서는 단계별 유형 순서를 정렬 | 유형별 구성과 규모 확인 |
| 원래대로 | 관계 중심은 군집 없는 배치, 흐름 중심은 기존 좌→우 계층 배치를 그대로 사용 | 연결 구조 자체를 그대로 확인 |

노드를 선택하면 연결선의 색으로 방향을 구분합니다. 선택한 오브젝트가 호출하는 방향과 호출되는 방향이 서로 다른 색으로 표시되고, 색의 의미는 그래프 왼쪽 위 범례에서 확인합니다. 이 범례는 노드를 선택했을 때만 그래프 위에 나타나므로 메뉴를 열지 않아도 됩니다. 변경 영향을 볼 때는 호출되는 방향을, 의존 관계를 볼 때는 호출하는 방향을 따라가면 됩니다.
액션 색상
액션마다 고정 색상이 있어 그래프, 관계 탭, 인사이트 탭에서 같은 동작이 같은 색으로 보입니다. 데이터를 바꾸지 않는 CALLS만 회색이라 CRUD와 한눈에 갈립니다.
| 액션 | 색상 | 의미 |
|---|---|---|
CALLS | 회색 | 호출·사용 |
SELECT | 청록 | 조회 |
INSERT | 남색 | 생성 |
UPDATE | 주황 | 갱신 |
MODIFY | 보라 | 생성 또는 갱신 |
DELETE | 분홍 | 삭제 |
그래프에서 노드를 선택하면 연결선과 화살표는 호출 방향에 따라 색이 바뀌지만, 액션 Badge는 자기 색을 그대로 유지합니다. 선은 방향을, Badge는 액션을 나타내므로 두 정보를 동시에 읽을 수 있습니다. 한 선에 여러 액션이 묶여 있어도 Badge마다 색이 따로 붙습니다. 선택한 경로에 걸리지 않은 노드와 연결선은 흐리게 물러나며, 강조된 연결선에만 끝 화살표가 함께 표시됩니다.
그래프 오른쪽 위의 관계 n/6 버튼을 열면 CALLS, INSERT, SELECT, UPDATE, DELETE, MODIFY 체크박스가 순서대로 나타나며, 각 항목 앞의 색점으로 액션 색을 확인할 수 있습니다. 여러 관계를 동시에 선택할 수 있고 버튼에는 현재 선택한 개수가 표시됩니다. 선택을 해제한 관계는 그래프와 선택 경로 강조에서 숨겨지고 선택 묶음 복사의 관계 목록에서도 제외됩니다. 이미 조회된 노드는 삭제되지 않으므로 필터를 다시 선택하면 관계가 즉시 나타납니다.
선택 묶음 복사 버튼은 노드를 선택했을 때 활성화됩니다. 현재 관계 필터로 연결된 모든 오브젝트를 유형과 이름이 탭으로 구분된 형식으로 복사하고, 이어서 호출 관계 목록을 함께 복사합니다. 스프레드시트에 붙여넣으면 유형과 이름이 두 열로 들어갑니다. IP 주소로 HTTP 접속한 환경처럼 브라우저가 클립보드 쓰기를 허용하지 않으면 동일한 텍스트가 다이얼로그에 자동 선택되어 나타납니다. 이때 Ctrl+C 또는 기기의 복사 기능으로 직접 복사합니다.

관계 중심의 탐색 깊이
관계 중심은 단계별로 펼쳐 보는 방식이므로 최대 탐색 깊이 설정을 사용하지 않습니다. 결과 요약의 도달 깊이는 현재까지 펼친 만큼을 나타냅니다.
분석은 이름이 문자 Z 또는 Y로 시작하는 오브젝트만 그래프에 포함합니다. SAPMZ*, SAPMY*와 /ABC/* 형태의 고객 네임스페이스는 포함하지 않습니다. 이미 방문한 오브젝트는 다시 확장하지 않으며 최대 깊이, 노드 수, 관계 수 또는 실행 시간 제한에 도달하면 중단 사유를 함께 표시합니다.
제외 오브젝트 목록은 선택한 SAP 시스템별로 현재 브라우저에 저장됩니다. 정확한 이름 외에 ZTCM*처럼 이름 끝에 *를 붙이면 같은 타입에서 ZTCM으로 시작하는 모든 오브젝트를 제외합니다. 예를 들어 TABL + ZTCM* 규칙은 ZTCM... 테이블에만 적용되고 같은 접두사의 프로그램이나 펑션 모듈에는 적용되지 않습니다. 중간에 *가 있는 패턴은 지원하지 않습니다.
포함 유형을 선택하지 않으면 네 유형을 모두 분석합니다. 하나 이상 선택하면 시작 오브젝트는 항상 남겨 두고 선택 유형의 오브젝트만 새로 그래프에 추가하고 재귀 확장합니다. 포함 유형 선택값도 SAP 시스템별 현재 브라우저에 저장됩니다.
제외한 프로그램, 테이블, 펑션 모듈과 클래스는 발견되어도 소스를 추가 조회하거나 그래프에 넣지 않습니다. 다른 사용자나 다른 브라우저와 공유되는 서버 공용 목록은 아닙니다. 넓은 화면에서는 분석 시작점과 제외 목록이 왼쪽에 표시되고 분석 진행 상황과 결과가 오른쪽 넓은 영역에 표시됩니다. 포함 유형은 분석 시작점 안의 작은 다중 선택 배지로 제공됩니다. 설정 카드와 결과 영역은 화면의 가용 높이를 모두 사용하며 제외 목록과 결과 탭이 남은 영역에서 스크롤됩니다. 각 설정 제목 옆 정보 아이콘에 마우스를 올리면 설명을 확인할 수 있습니다. 최대 깊이와 최대 오브젝트는 한 줄에 표시되며, 제외 유형·이름·추가 버튼도 한 줄에서 입력합니다. 등록한 제외 오브젝트는 유형과 이름, 삭제 버튼이 함께 표시되는 작은 배지로 입력 영역 아래에 즉시 추가됩니다.
인사이트 지표
인사이트 탭에서는 현재 그래프를 계산해 얻은 지표를 확인합니다. 실시간 분석과 저장된 그래프 모두 같은 방식으로 계산하므로 데이터 출처와 관계없이 같은 기준으로 비교할 수 있습니다.
각 지표는 제목을 클릭해 접거나 펼칩니다. 접은 상태에서도 제목 옆 건수는 그대로 보이므로 전체를 한눈에 훑고 필요한 것만 열어볼 수 있습니다. 처음 열면 순환 참조와 테이블 접근 주체만 펼쳐져 있고 나머지는 접혀 있으며, 여러 항목을 동시에 펼쳐 비교할 수 있습니다.
| 지표 | 의미 | 활용 |
|---|---|---|
| 순환 참조 | 서로를 호출해 되돌아오는 사슬 | 변경 영향이 번지는 구간 분리 |
| 테이블 접근 주체 | 테이블별로 데이터를 바꾸는 오브젝트와 읽는 오브젝트 수 | 락 경합과 정합성 위험 검토 |
| 쓰기 경로 | 시작 오브젝트에서 실제로 데이터를 바꾸는 테이블까지의 최단 경로 | 변경 시 바뀌는 데이터 확인 |
| 미확인 참조 | 호출하지만 실체를 확인하지 못한 오브젝트 | 죽은 호출문 정리 |
| CRUD 매트릭스 | 오브젝트가 어떤 테이블을 읽고 바꾸는지 | 변경 영향 시작점 확인 |
| 조직 필드 테이블 | BUKRS, WERKS 같은 조직 필드를 가진 테이블 | 회사·플랜트 단위 롤아웃 범위 확인 |
| 분석 신뢰도 | 전체 관계 중 동적 추론으로만 만들어진 관계 수 | 자동 분석 사각지대 파악 |
오브젝트 탭에는 피호출, 참조, 영향 범위 열이 추가됩니다. 피호출은 현재 그래프에서 해당 오브젝트를 참조하는 수이고, 참조는 해당 오브젝트가 참조하는 수이며, 영향 범위는 정방향으로 도달하는 오브젝트 수입니다. 맨 오른쪽 설명 열에는 수집된 오브젝트 설명이 표시되며, 길면 잘려 보이므로 마우스를 올려 전체를 확인합니다.
지표는 현재 그래프 기준입니다
모든 지표는 지금 화면에 펼쳐 놓은 범위에서 계산합니다. 시스템 전체 기준이 아닙니다. 아직 펼치지 않은 오브젝트가 있으면 참조와 영향 범위는 확정값이 아니라 최소값이며 ≥3처럼 표시됩니다. 인사이트 탭 위쪽에도 남은 미확장 오브젝트 수가 안내됩니다. 정확한 값이 필요하면 해당 오브젝트를 모두 펼친 뒤 확인하세요.
오브젝트가 많으면 화면이 멎지 않도록 영향 범위 계산만 건너뛰고 나머지 지표는 그대로 표시합니다. 이 경우 인사이트 탭에 안내가 나타납니다.
그래프에서는 순환 참조에 속한 노드에 순환 아이콘이, 여러 오브젝트가 함께 바꾸는 테이블에 삼각형 경고 아이콘이 표시됩니다. 노드 이름에 마우스를 올리면 피호출·참조·영향 범위를 함께 확인할 수 있습니다.
이 표시들의 뜻은 그래프 왼쪽 위 범례에서 바로 확인할 수 있습니다. 범례는 노드를 고르지 않아도 항상 보입니다.
| 표시 | 뜻 |
|---|---|
| 순환 아이콘 | 서로를 호출해 되돌아오는 사슬에 속한 오브젝트 |
| 삼각형 경고 | 여러 오브젝트가 함께 값을 바꾸는 테이블 |
| 점선 | 소스 추론으로 찾은 관계. 정적으로는 확인되지 않았습니다 |
| 주황색 선 | 고른 노드가 호출하는 방향. 노드를 골랐을 때만 나타납니다 |
| 파란색 선 | 고른 노드를 호출하는 방향. 노드를 골랐을 때만 나타납니다 |

결과 엑셀 받기
결과 탭 오른쪽의 엑셀 받기 버튼을 누르면 화면의 모든 탭을 시트로 나눈 파일 하나를 내려받습니다. 요약, 오브젝트, 관계, 순환 참조, 테이블 접근, 쓰기 경로, CRUD 매트릭스, 조직코드 분포와 미확인 참조 시트가 생성되며 각 시트에는 필터가 걸려 있습니다. 조직코드 분포 시트에는 화면에서 조회한 테이블과 필드만 담기며, 한 번도 조회하지 않았으면 비어 있습니다.
요약 시트에는 시작 오브젝트, 데이터 출처, 탐색 방식과 설정값이 함께 기록됩니다. 미확장 오브젝트 수도 남기므로 파일만 전달받은 사람도 지표가 확정값인지 판단할 수 있습니다. 그래프 탭은 표로 옮길 수 없어 요약 시트의 분석 조건으로 대신합니다.
분석 근거
| 근거 | 용도 |
|---|---|
| ABAP 소스 | 테이블 CRUD, 펑션 호출과 클래스 메서드 호출 확인 |
| D010TAB | 테이블을 사용하는 프로그램·클래스·펑션 후보 확인 |
| RS_EU_CROSSREF | 펑션 모듈·클래스 메서드의 표준 Where-Used 후보 조회 |
| CROSS | 표준 조회 실패 시 펑션 모듈 호출 후보 폴백 |
| WBCROSSGT | 글로벌 타입 조회와 클래스 메서드 후보 폴백 |
| DD02L | 투명 테이블 여부 확인 |
| DDIC 필드 | 회사코드, 플랜트 등 조직 필드 후보 확인 |
테이블 관계는 ABAP 소스에서 실제 SELECT, INSERT, UPDATE, MODIFY 또는 DELETE가 확인될 때만 같은 액션 이름으로 표시합니다. DATA ... TYPE ZTABLE이나 WBCROSSGT-NAME = ZTABLE\TY:CREATION_TIME처럼 타입 또는 필드만 정의한 참조는 테이블 관계로 추가하지 않습니다. D010TAB 결과도 후보 프로그램의 소스를 다시 읽어 실제 DB 액션이 확인된 경우에만 확정합니다.
소스의 Open SQL 대상이 DDLS/STOB 같은 CDS 저장소 객체로 확인되면 투명 테이블 노드가 아니므로 결과에서 제외합니다. D010TAB의 ZCLASS====FT처럼 = 뒤에 생성 suffix가 붙은 클래스 풀 include는 프로그램으로 읽지 않고 원래 클래스 이름으로 복원한 뒤 실제 메서드 소스를 확인합니다.
ECC의 펑션 모듈과 특정 클래스 메서드 사용처는 SAP 표준 RS_EU_CROSSREF로 먼저 조회합니다. 표준 조회가 실패하거나 결과가 없으면 펑션 모듈은 CROSS-TYPE = 'F', 클래스 메서드는 WBCROSSGT-NAME = '클래스\ME:메서드'로 다시 조회합니다. CROSS-PROG가 비어 있으면 D010INC로 호출 include의 상위 프로그램을 복원합니다. ADT가 있는 시스템은 클래스 source/main의 메서드 위치를 URI Mapper로 찾은 뒤 표준 ADT Where-Used를 호출하고, 반환된 호출 클래스와 메서드명을 다시 조합합니다. 모든 결과는 후보로만 취급하고 호출자의 현재 소스를 다시 읽어 대상 오브젝트를 실제로 호출하는 구문이 확인된 경우에만 관계와 노드를 추가합니다. SAPLZ... 형태의 함수 그룹 프로그램은 그룹 안의 펑션 모듈로 좁혀 확인합니다. LZ...Uxx 구현 include는 TFDIR의 include 번호와 일치하는 펑션 모듈로 직접 변환합니다. LZ...Fxx 공용 FORM include는 대상 호출에 도달하는 FORM과 실제 PERFORM 호출 관계를 확인한 펑션 모듈만 결과에 추가하며, 외부 프로그램을 지정하는 PERFORM ... IN PROGRAM은 같은 그룹의 호출 근거로 사용하지 않습니다. 정방향 소스 분석과 역방향 후보 조회는 동시에 실행합니다. 같은 분석 요청에서 여러 펑션 모듈이 공통 INCLUDE 또는 Function Pool을 사용하면 진행 중인 소스 조회부터 공유해 SAP에 중복 요청하지 않습니다. 조회 실패는 캐시에 고정하지 않아 다음 후보에서 다시 시도할 수 있습니다.
분석 결과의 범위
동적으로 조합한 호출과 SQL, 오래된 SAP 저장소 인덱스는 자동으로 확인되지 않을 수 있습니다. D010TAB 후보가 현재 소스에서 실제 CRUD로 확인되지 않으면 결과에서 제외되므로 변경 영향 범위를 확정하기 전에 관계별 근거와 경고를 검토하세요.
테이블 역탐색은 최대 100개의 D010TAB 후보를 대상으로 네 건씩 소스를 확인하고, 일반 함수 그룹 후보는 최대 20개의 펑션 모듈을 확인합니다. Fxx 공용 FORM 호출자를 복원할 때는 실제 호출 펑션이 뒤쪽에 있어도 누락되지 않도록 분석 설정의 역참조 후보 한도까지 확인합니다. 시스템 기능 차이로 일부 근거를 조회하지 못해도 가능한 분석은 계속되며 해당 원인은 완전성 경고에 표시됩니다.
AI 인사이트
인사이트 탭 위쪽에서 분석 결과를 AI로 해석할 수 있습니다. 소스가 아니라 지금까지 그린 관계 그래프의 요약을 근거로 삼습니다.
| 항목 | 내용 |
|---|---|
| 오브젝트 목적과 관계 서술 | 무엇을 읽고 무엇을 바꾸는지로 이 오브젝트가 하는 일을 판정하고 관계를 문장으로 서술 |
| 비즈니스 인사이트 | 다중 쓰기, 순환 참조, 조직 코드 분포를 근거로 업무 영향과 이행 범위를 도출 |
실행 전에 그래프가 얼마나 갖춰졌는지 점검해 알려 줍니다. 아직 펼치지 않은 오브젝트, 확인하지 못한 조직 필드, 조회하지 않은 조직 코드 분포, 안전 한도로 잘린 그래프, 추론 비중이 높은 관계 등이 대상입니다.
경고가 있어도 실행할 수 있습니다
점검 결과는 실행을 막지 않습니다. 같은 내용이 AI 입력에도 함께 전달되어, 확인되지 않은 부분을 단정하지 않도록 합니다. 더 정확한 결과를 원하면 그래프를 더 펼치거나 조직 코드 분포를 조회한 뒤 다시 분석하세요.
그래프에는 호출 순서가 없으므로 AI도 실행 순서를 서술하지 않습니다. "테이블을 읽은 뒤 펑션을 호출한다"처럼 순서를 단정하는 답이 나오지 않는 것은 의도된 동작입니다. 순서까지 확인하려면 오브젝트 탐색의 소스 분석을 함께 보세요.
분석 결과는 저장한 분석에 함께 담기므로 조회 모드에서 다시 열어도 남아 있습니다. 결과에는 어느 시점 그래프였는지가 배지로 표시되며, 그래프를 더 펼친 뒤에는 다시 분석해야 최신 범위가 반영됩니다. 조회 모드에서는 새로 실행할 수 없고 저장된 결과만 보여 줍니다.
CRUD 매트릭스
오브젝트를 행, 테이블을 열로 놓고 어떤 동작을 하는지 한 표로 봅니다. 새로 조회하지 않고 이미 분석된 관계에서 바로 만듭니다.
| 글자 | 뜻 |
|---|---|
C | 생성 |
R | 조회 |
U | 변경 |
D | 삭제 |
MODIFY는 행이 없으면 넣고 있으면 고치므로 C와 U로 함께 표시합니다. 글자만으로는 INSERT + UPDATE와 구분되지 않으므로, 칸에 마우스를 올리면 실제 SQL 동작이 나옵니다.
테이블 이름에 마우스를 올리면 수집된 테이블 설명을 함께 확인할 수 있습니다. 값을 바꾸는 칸은 강조되고, 쓰기가 있는 오브젝트와 테이블이 표 앞쪽에 옵니다. 변경 영향을 볼 때 가장 먼저 확인할 지점이기 때문입니다. 화면에는 오브젝트 30개와 테이블 20개까지만 표시하며, 전체는 엑셀 파일의 CRUD 매트릭스 시트에서 확인합니다.
조직 필드 영역에는 BUKRS, WERKS, KOKRS, VKORG, EKORG가 발견된 테이블이 표시됩니다. 필드명이 정확히 일치하는 경우뿐 아니라 ZZBUKRS처럼 접두·접미가 붙은 커스텀 필드와, 이름은 달라도 data element가 조직 필드인 경우까지 함께 잡습니다. 배지에는 실제 테이블 필드명이 표시됩니다.
조직 필드는 분석이 테이블을 펼칠 때 DDIC를 읽어 채웁니다. 설정한 최대 깊이에서 발견된 테이블은 분석이 더 진행하지 않으므로 조직 필드가 비어 있습니다. 저장된 그래프는 전체 스캔이 테이블 노드를 적재할 때 DDIC를 읽어 함께 채우며, 이미 채운 테이블은 다시 읽지 않으므로 같은 테이블을 여러 오브젝트가 참조해도 조회는 한 번만 일어납니다. 스캔 당시 권한이나 연결 문제로 읽지 못한 테이블은 다음 스캔에서 다시 시도합니다. 조직 필드를 확인하지 못한 테이블이 있으면 조직 필드 영역에 미확인 테이블 N개 조직 필드 확인 버튼이 나타납니다. 버튼을 누르면 해당 테이블의 DDIC를 네 개씩 나눠 읽어 조직 필드를 채우며, 결과는 인사이트 목록뿐 아니라 오브젝트 탭의 조직 열과 엑셀 파일에도 함께 반영됩니다. 조직 필드가 없다고 확인된 테이블은 미확인 수에서 빠지고, 권한이나 연결 문제로 읽지 못한 테이블만 남습니다.
테이블 이름 옆에 나열된 조직 필드 배지가 곧 분포 탭입니다. 필드를 누르면 그 필드로 GROUP BY 집계를 실행해 조직 코드별 데이터 건수와 비중을 아래에 펼칩니다. 회사코드뿐 아니라 플랜트·관리회계영역·영업조직·구매조직 등 그 테이블에서 발견된 모든 조직 필드를 각각 조회할 수 있습니다. BUKRS와 ZZBUKRS처럼 비슷한 필드가 함께 있어도 누른 필드가 그대로 탭 이름과 결과 라벨에 표시되므로 어느 필드 기준인지 헷갈리지 않습니다.
테이블이 여러 개면 하나씩 누르기 번거롭습니다. 조직 필드 영역 위쪽의 분포 N건 한 번에 조회 버튼을 누르면 아직 조회하지 않은 (테이블, 필드) 조합을 한 번에 훑습니다. 버튼에 적힌 건수가 실제로 실행할 집계 수이며, 진행 상황이 버튼에 표시됩니다. 각 조회가 SAP에서 GROUP BY 집계라 가볍지 않으므로 네 건씩 나눠 실행합니다.
이미 조회한 필드는 배지 아이콘이 진하게 표시되고, 다른 필드를 누르면 SAP를 다시 부르지 않고 탭만 바뀝니다. 조회 결과는 필드별로 분석 결과에 함께 담기므로 결과를 저장한 뒤 다시 불러와도 그대로 남아 있고, 엑셀 파일의 조직코드 분포 시트에도 테이블·필드별로 기록됩니다. 결과 오른쪽의 X 버튼을 누르면 지금 펼쳐 놓은 필드의 분포 결과만 지웁니다. 필요하면 다시 조회할 수 있습니다.
조회는 선택한 SAP 시스템의 실제 데이터를 읽으므로 SQL 실행 권한이 필요하며, 값이 많은 경우 상위 200개까지만 표시합니다. 조회 모드로 저장된 분석을 열면 SAP를 다시 부르지 않으므로 저장 당시 조회해 둔 필드만 열 수 있습니다.

