SAP/SAP HANA

SAP HANA DB에서 내가 만든 테이블 정보 (이름, 설명, 건수) 한 번에 조회하는 SQL 쿼리

z초집중z 2025. 5. 14. 10:25
반응형

SAP 개발자나 관리자라면 시스템에 어떤 Z 테이블이 있는지, 각 테이블에 데이터가 얼마나 쌓여 있는지 궁금할 때가 많습니다. 특히 특정 접두어(예: ZCO)로 시작하는 테이블들을 한꺼번에 찾고 싶을 때가 있는데요.

이번 블로그 글에서는 SAP HANA DB에서 ZCO로 시작하는 모든 테이블의 이름, SAP에 등록된 설명, 그리고 현재 데이터 건수까지 깔끔하게 조회할 수 있는 SQL 쿼리를 알려드립니다. 이 쿼리 하나면 필요한 정보를 쉽고 빠르게 파악할 수 있습니다!

왜 이 정보가 중요할까요?

  • 시스템 파악: 내가 작업했거나 다른 사람이 개발한 Z 테이블 목록을 확인하여 시스템의 커스터마이징 현황을 파악할 수 있습니다.
  • 데이터 볼륨 분석: 각 테이블의 데이터 건수를 확인하여 데이터 증가 추이를 모니터링하고 성능 저하 요인을 미리 파악할 수 있습니다.
  • 개발 및 분석 효율성 증대: 테이블의 기능(설명)을 바로 확인하며 필요한 테이블을 빠르게 찾을 수 있습니다.

■ SQL 쿼리 공개

다음은 SAP HANA DB에서 실행할 수 있는 쿼리입니다. 저는 ZCO로 시작하는 테이블을 조회했습니다.

SQL
 
SELECT
    M.TABLE_NAME,         -- 테이블의 기술적인 이름 (예: ZCOT_MY_DATA)
    T.DDTEXT AS TABLE_DESCRIPTION, -- SAP에 등록된 테이블 설명 (예: 나의 커스텀 데이터 테이블)
    M.RECORD_COUNT        -- 테이블에 저장된 레코드 (행)의 총 건수
FROM
    SYS.M_TABLES AS M
JOIN
    "<YOUR_SAP_SCHEMA_NAME>".DD02T AS T ON M.TABLE_NAME = T.TABNAME
WHERE
    M.SCHEMA_NAME = '<YOUR_SAP_SCHEMA_NAME>'
    AND M.TABLE_NAME LIKE 'ZCO%' -- 'ZCO'로 시작하는 테이블 필터링
    AND T.DDLANGUAGE = 'K';      -- 테이블 설명 언어를 한국어('K')로 필터링

잠깐! 쿼리 실행 전에 꼭 확인하세요:

  1. <YOUR_SAP_SCHEMA_NAME> 변경: 쿼리 내 <YOUR_SAP_SCHEMA_NAME> 부분은 여러분의 SAP 시스템이 설치된 실제 SAP 스키마 이름으로 변경해야 합니다. 예를 들어, SAP BW 시스템이라면 SAPBW1, S/4HANA 시스템이라면 SAP<SID> 형태일 수 있습니다. 정확한 스키마 이름은 SAP Basis 담당자나 시스템 설정에서 확인 가능합니다. 스키마 이름은 대소문자를 구분할 수 있으므로 이중 따옴표(")로 묶어주는 것이 안전합니다. (예: "SAPHANADB".DD02T)
  2. 권한 확인: 이 쿼리를 실행하려면 SAP HANA DB에서 시스템 뷰(SYS.M_TABLES)와 SAP Dictionary 테이블(DD02T)을 조회할 수 있는 권한이 필요합니다.
  3. SQL 실행 도구: 이 쿼리는 SAP HANA Studio, SAP Web IDE Full-Stack, DBeaver 등 SAP HANA DB에 접속하여 SQL 쿼리를 실행할 수 있는 도구에서 사용 가능합니다.

쿼리 상세 설명

  • SYS.M_TABLES AS M: SAP HANA DB의 모든 테이블에 대한 실시간 상태 및 통계 정보(레코드 건수 포함)를 제공하는 시스템 뷰 M_TABLES를 M이라는 별칭으로 사용합니다.
  • "<YOUR_SAP_SCHEMA_NAME>".DD02T AS T: SAP 시스템의 데이터 딕셔너리 테이블 설명이 저장된 DD02T 테이블을 T라는 별칭으로 사용합니다. 이 테이블은 SAP 시스템이 설치된 스키마에 있습니다.
  • JOIN ... ON M.TABLE_NAME = T.TABNAME: M_TABLES 뷰와 DD02T 테이블을 테이블 이름(TABLE_NAME과 TABNAME)을 기준으로 연결(조인)합니다.
  • WHERE M.SCHEMA_NAME = '<YOUR_SAP_SCHEMA_NAME>': M_TABLES에서 지정된 스키마에 속한 테이블만 대상으로 합니다.
  • AND M.TABLE_NAME LIKE 'ZCO%': 테이블 이름이 'ZCO'로 시작하는 패턴을 가진 테이블만 필터링합니다. %는 어떤 문자열이 와도 좋다는 와일드카드입니다.
  • AND T.DDLANGUAGE = 'K': DD02T 테이블에서 테이블 설명의 언어가 한국어('K')인 데이터만 선택합니다.

더 유용한 정보를 함께 조회하려면?

위 쿼리에 다른 데이터 딕셔너리 테이블을 추가로 조인하면 테이블에 대한 더 많은 정보를 얻을 수 있습니다. 예를 들어 DD02L 테이블에는 테이블의 분류, 생성일, 최종 변경자 등의 기술적인 정보가 저장되어 있습니다.

DD02L 테이블을 조인하여 테이블 분류(TABCLASS), 생성일(CREATEDATE), 최종 변경자(AS4USER), 개발 패키지(PGNAME) 등을 추가로 조회하는 쿼리는 다음과 같습니다.

SQL
 
SELECT
    M.TABLE_NAME,
    T.DDTEXT AS TABLE_DESCRIPTION,
    L.TABCLASS AS TABLE_CATEGORY, -- 테이블 분류 (예: TRANSP, POOL, CLUST)
    L.CREATEDATE AS CREATION_DATE,   -- 테이블 생성일
    L.AS4USER AS LAST_CHANGED_BY,  -- 최종 변경 사용자
    L.PGNAME AS PACKAGE,        -- 개발 패키지
    M.RECORD_COUNT
FROM
    SYS.M_TABLES AS M
JOIN
    "<YOUR_SAP_SCHEMA_NAME>".DD02T AS T ON M.TABLE_NAME = T.TABNAME
JOIN
    "<YOUR_SAP_SCHEMA_NAME>".DD02L AS L ON M.TABLE_NAME = L.TABNAME -- DD02L 조인
WHERE
    M.SCHEMA_NAME = '<YOUR_SAP_SCHEMA_NAME>'
    AND M.TABLE_NAME LIKE 'ZCO%'
    AND T.DDLANGUAGE = 'K';

이 확장된 쿼리를 활용하면 ZCO 테이블들의 기능적 설명뿐만 아니라 기술적인 속성과 개발 정보까지 함께 파악하여 시스템을 더 깊이 이해하는 데 도움이 됩니다.

마무리

SAP HANA DB에서 커스텀 Z 테이블의 기본 정보를 조회하는 것은 시스템 관리 및 분석의 첫걸음입니다. 오늘 알려드린 SQL 쿼리가 여러분의 SAP 업무에 유용한 도구가 되기를 바랍니다.

 

 

 







 

반응형