본문 바로가기
시스템 & 트랜잭션

[SAP ABAP] View Cluster 생성 — 헤더·디테일 트리 (SE54·SM34·Field Dependence)

by Song.sh 2026. 5. 18.

CBO 마스터 테이블이 하나로 끝나지 않고 헤더-디테일 구조로 여러 테이블이 키로 연결되어 있다면, 단일 유지보수뷰(SM30) 만으로는 사용자 편집 화면이 어색해집니다. 헤더를 입력하고 별도 화면에서 디테일을 또 입력하는 흐름이 번거롭고, 키 자동 매핑도 안 됩니다.

 

이런 경우를 위해 SAP 가 제공하는 도구가 View Cluster(뷰 클러스터) 입니다. 여러 개의 유지보수뷰를 헤더-디테일 트리 구조로 묶어, 사용자가 SM34 한 번에 모든 레벨을 탐색·편집할 수 있게 해줍니다. 표준 트랜잭션의 IMG(SPRO) 의 많은 메뉴도 내부적으로는 View Cluster 로 구성되어 있습니다.

 

이 글은 View Cluster 의 개념, SE54 에서 생성하는 절차, 헤더-디테일 관계 정의 방법, SM34 에서의 사용법, 그리고 자주 만나는 함정을 정리한 메모입니다. 단일 유지보수뷰 작성 절차는 같이 보면 좋은 글인 "유지보수뷰(Table Maintenance Generator) 생성·변경 — SE11·SE54·SM30 사용법" 을 먼저 참고하시면 흐름이 자연스럽습니다.


핵심 — View Cluster 는 여러 유지보수뷰의 트리 묶음

View Cluster 의 본질은 "서로 키로 연결된 여러 유지보수뷰를 한 화면 트리 안에서 함께 편집 할 수 있게 묶어주는 메커니즘" 입니다.

항목 단일 유지보수뷰 (SM30) View Cluster (SM34)
대상 단일 테이블 또는 단일 뷰 여러 유지보수뷰가 헤더-디테일로 연결된 묶음
구조 단일 ALV 표 좌측 트리 + 우측 데이터 표 (탐색-편집 결합)
호출 T-Code SM30 SM34
키 자동 전달 없음 헤더 키가 디테일 키 컬럼에 자동 매핑됨
대표 사용 케이스 단일 마스터 (회사 코드 · 결재 코드 등) 결재 정의 → 결재 라인 · 회사 → 사업장 · 분류 → 특성 등
SAP 표준 사용 예 T001 회사 코드 마스터 IMG(SPRO) 의 복잡한 설정 메뉴 다수

전체 흐름은 다음과 같습니다.

1. 각 테이블에 대해 단일 유지보수뷰 생성 (별도 글 "유지보수뷰 생성·변경" 참조)
2. SE54 에서 View Cluster 객체 생성 (예: ZTXX_VC)
3. View 들을 등록하고 트리 구조 정의 (헤더 → 디테일 관계)
4. Field 매핑 — 헤더 키가 디테일 키로 자동 전달되도록 연결
5. 활성화 → SM34 로 호출 → 사용자 편집

1단계 — 사전 준비: 각 뷰 생성

View Cluster 를 만들기 전에 각 테이블에 대해 단일 유지보수뷰가 만들어져 있어야 합니다.

예시 시나리오 — 결재 정의 마스터
  ZTXX0100 (헤더)  : MANDT · DOCTYP · DESCRIPTION                    (결재 유형 정의)
  ZTXX0110 (디테일) : MANDT · DOCTYP · LINE_NO · APPROVER · LEVEL    (결재 단계 라인)

각 테이블에 대해 SE11 → Table Maintenance Generator 로 유지보수뷰를 만들어 두고, SM30 으로 각각 호출되는지 먼저 확인합니다. 단일 유지보수뷰 생성 절차는 별도 글 "유지보수뷰(Table Maintenance Generator) 생성·변경 — SE11·SE54·SM30 사용법" 에서 자세히 다룹니다.

이 사전 준비가 안 돼 있으면 SE54 View Cluster 생성 시 등록 자체가 안 됩니다.


2단계 — SE54 에서 View Cluster 객체 생성

이제 두 유지보수뷰를 묶을 View Cluster 객체를 만듭니다.

SE54 → 트랜잭션 진입
  → Edit View Cluster (라디오 버튼 선택)
  → View Cluster Name : ZTXX_VC (Z 시작 + 영문 최대 30자)
  → Create 버튼

 

생성 화면에 진입하면 좌측 트리 형태의 메뉴 구조가 나옵니다.

메뉴 항목 설정 내용
Object Structure View Cluster 에 포함될 뷰 등록 및 트리 구조 정의
Field Dependence 헤더 필드 → 디테일 필드 매핑 (키 자동 전달)
Header Entry 최상위 진입 화면 설정 (Authorization · 초기 화면 등)
Local Field Selections 뷰별 필드 표시 여부 제어 (옵션)

3단계 — Object Structure 에 뷰 등록 + 옵션 의미

좌측 트리에서 Object Structure 를 클릭하고 새 뷰를 등록합니다. 헤더부터 디테일 순서로 추가하면서, 각 뷰의 옵션을 설정합니다.

Object Structure → New Entries
  → View 1 (Header) : ZTXX0100
       Position    : 1
       Type        : ☑ Header
       Dependence  : (없음 — 최상위)
       Hierarchy   : 0 (최상위)
       Hierarchy Predecessor : (없음)

  → View 2 (Detail) : ZTXX0110
       Position              : 2
       Type                  : ☑ Dependent
       Dependence            : ☑ Hierarchy Predecessor: ZTXX0100
       Hierarchy             : 1 (헤더의 하위)
       Hierarchy Predecessor : ZTXX0100

 

옵션의 의미 (실무에서 자주 만나는 항목)

옵션 의미
Position 트리 순서 — 1부터 차례대로 부여 (헤더가 1)
Type (Header / Dependent) 최상위 헤더 1개 + 그 아래 종속(Dependent) N개 구조. 보통 헤더는 1개만
Hierarchy Level 0(헤더), 1(헤더의 자식), 2(자식의 자식) … 트리 깊이
Hierarchy Predecessor 이 뷰의 부모 뷰 이름 (디테일이면 헤더 뷰 이름 입력)
List Type 화면 표시 형태 — Standard List · Standard Form · Detail Screen 등
Update Routine 사용자 정의 저장 로직 — Function Module 또는 폼 루틴 지정
Initial Screen / Display Routine 진입 시 또는 표시 시점에 호출할 사용자 로직 (옵션)

4단계 — Field Dependence 로 키 자동 매핑

가장 중요한 단계. 헤더의 키 값이 디테일 입력 시 자동으로 채워지도록 매핑합니다. 이게 없으면 사용자가 디테일을 입력할 때마다 헤더 키를 직접 다시 입력해야 합니다.

좌측 트리 → Field Dependence → 디테일 뷰(ZTXX0110) 선택 → New Entries
  → Dep. Field   : DOCTYP        (디테일 측 키 필드)
  → Hier. Field  : DOCTYP        (헤더 측 키 필드 — 같은 이름이면 자동)
  → 저장

 

같은 이름의 키 필드는 자동 매핑되지만, 이름이 다르거나 외래키가 명확히 정의돼 있지 않으면 수동 등록이 필요합니다.

Header Entry 설정 (최상위 화면)

필드 설정값
Authorization Object 없음 또는 회사 정책에 맞는 권한 객체 (예: S_TABU_DIS)
Initial Screen 진입 시 보일 화면 (헤더 List · Selection Screen 등)
Hierarchical Display ☑ 체크 — 좌측 트리 + 우측 데이터 형태로 표시 (권장)

모든 설정 후 Ctrl + F3 으로 활성화하면 View Cluster 사용 준비 완료.


5단계 — SM34 에서 사용자 화면 사용

생성된 View Cluster 는 SM34 에서 즉시 사용할 수 있습니다. 단일 SM30 과 달리 좌측 트리를 통해 헤더 → 디테일 탐색이 가능합니다.

SM34 → View Cluster : ZTXX_VC → Maintain (편집) 또는 Display
  → 좌측 트리에 헤더 행 표시
  → 헤더 선택 후 New Entries 로 헤더 추가
  → 트리에서 헤더 더블 클릭 → 디테일 화면으로 진입
  → 디테일에서 행 추가 (헤더 키 자동 채워짐)
  → 저장 (Ctrl + S)

탐색 흐름은 SAP 표준 트랜잭션(SPRO IMG) 의 메뉴와 동일하므로 사용자가 익숙합니다.


흔히 빠뜨리는 함정

사전 단일 유지보수뷰 미생성

각 테이블에 대해 SM30 단일 유지보수뷰가 먼저 만들어져 있어야 합니다. SE54 View Cluster 등록 시 "Maintenance dialog not generated" 에러가 나면 별도 글 "유지보수뷰(Table Maintenance Generator) 생성·변경" 절차로 먼저 단일 뷰부터 만듭니다.

Field Dependence 누락 → 키 수동 재입력

가장 흔한 함정. Field Dependence 를 설정하지 않으면 디테일 입력 시 헤더 키가 자동으로 채워지지 않아 사용자가 매번 같은 값을 다시 입력해야 합니다. 헤더-디테일 관계가 있는 경우 반드시 설정.

Hierarchy Predecessor 잘못 지정

디테일 뷰의 Hierarchy Predecessor 에 헤더 뷰가 아닌 자기 자신이나 다른 디테일을 입력하면 트리 구조가 깨져 SM34 에서 디테일이 표시되지 않습니다.

Header 가 여러 개

View Cluster 는 보통 헤더 1개 + 디테일 N개 구조입니다. 헤더를 여러 개로 설정하면 트리 구조가 의도와 다르게 나오거나 활성화 단계에서 에러가 납니다. 헤더가 정말 여러 개라면 두 개의 별도 View Cluster 로 분리하는 것이 깔끔합니다.

SM30 으로 호출 시도

View Cluster 는 SM34 에서 호출해야 합니다. SM30 에 View Cluster 이름을 입력하면 단일 뷰로 인식되어 에러가 납니다. T-Code 를 헷갈리지 않도록 합니다.

디테일 뷰에 자체 트랜스포트 자동 등록 옵션 누락

View Cluster 에서 입력한 데이터가 트랜스포트에 자동으로 묶이려면 각 단일 유지보수뷰의 트랜스포트 옵션(Standard recording routine) 이 켜져 있어야 합니다. View Cluster 단계가 아니라 SE11 → Maintenance Generator 단계에서 미리 설정.

활성화 누락

설정 변경 후 Ctrl + F3 으로 활성화하지 않으면 SM34 에서 옛 정의 그대로 동작합니다. 활성화는 항상 마지막 단계로 잊지 말고 확인.

외래키 정의 부재

테이블의 외래키(SE11 → Foreign Keys) 가 정확히 정의돼 있어야 Field Dependence 자동 매핑이 깔끔합니다. 외래키가 없으면 같은 이름 필드라도 수동 등록이 필요한 경우가 있습니다.

Filter 기능 활용 누락

특정 뷰의 데이터 일부만 표시하고 싶으면 View Cluster 의 Filter 기능을 활용할 수 있습니다. 이걸 모르면 매번 별도 SELECT 쿼리로 필터링하는 코드를 자체 작성하게 됩니다.


요약

단계 작업 핵심
1 사전 준비 각 테이블에 대해 SM30 단일 유지보수뷰 생성 완료 (별도 글: 유지보수뷰 생성·변경)
2 SE54 진입 Edit View Cluster → 이름 입력 → Create
3 Object Structure 뷰 등록 + Type(Header/Dependent) · Hierarchy · Predecessor 설정
4 Field Dependence 헤더 키 → 디테일 키 자동 매핑 (가장 중요한 옵션)
5 SM34 사용 좌측 트리 → 헤더 선택 → 디테일 진입 → 키 자동 채워짐 → 저장

View Cluster 는 헤더-디테일 구조의 여러 마스터 테이블을 사용자 한 화면에서 통합 편집할 수 있게 해주는 SAP 표준 도구입니다. 단일 유지보수뷰(SM30) 의 확장 형태로 생각하면 됩니다. 각 테이블의 단일 뷰를 먼저 만들고, SE54 에서 Object Structure 와 Field Dependence 두 가지만 정확히 설정하면 SAP 표준 IMG(SPRO) 의 트리 메뉴 같은 깔끔한 편집 화면이 자동으로 만들어집니다. SM30 과 호출 트랜잭션이 다른 점(View Cluster 는 SM34) 만 잊지 않으면 됩니다.


Disclaimer — 이 포스트는 실무 정리 노트를 바탕으로 AI 보조로 정리되었습니다.

SE54 · SM34 · SM30 트랜잭션과 View Cluster · Object Structure · Field Dependence · Hierarchical Display 기능은 SAP NetWeaver 표준 기능으로 시스템 버전 의존 없이 동작합니다. View Cluster 는 단일 유지보수뷰(SM30) 가 먼저 활성화되어 있어야만 등록 가능하며, 사전 단일 뷰 생성 절차는 별도 글 "유지보수뷰(Table Maintenance Generator) 생성·변경" 의 Table Maintenance Generator 패턴을 참고하시기 바랍니다. 외래키(Foreign Key) 정의가 명확한 테이블 구조라면 Field Dependence 가 자동으로 잡히지만, 외래키가 없거나 같은 이름의 키 필드가 아니라면 수동 매핑이 필요하므로 테이블 설계 시 외래키 관계를 명시해 두는 것이 안전합니다. 권한 객체(S_TABU_DIS · 자체 권한) 와 트랜스포트 자동 등록 옵션은 회사 운영 정책에 따라 다를 수 있으니, 신규 View Cluster 운영기 이관 시 베이시스 · 운영팀과 사전 협의를 권장합니다.