ABAP

실사 CDS 뷰 — 절대 밟지 말 IKPF 실수 3가지 #shorts #SAP #ABAP

▶ YouTube에서 보기

I_PhysicalInventoryDocument란?

SAP S/4HANA 실사(재고조사) 문서를 조회하는 표준 VDM CDS 뷰입니다. 클래식 ABAP에서 IKPF 테이블을 직접 SELECT하던 방식을 대체합니다. 업그레이드 시 하위 호환성이 보장되고, 파생 필드와 텍스트 조인이 사전 제공됩니다.

실수 1 — IKPF 직접 SELECT

IKPF는 SAP 내부 클러스터 테이블입니다. S/4HANA 업그레이드 시 필드명이 바뀌거나 사라질 수 있어, 직접 접근 코드는 운영 환경에서 런타임 에러로 이어집니다. I_PhysicalInventoryDocument CDS 뷰를 사용하면 필드 안정성과 VDM 계층 보장을 받습니다.

" ❌ 내부 테이블 직접 접근 — 업그레이드 시 깨짐
SELECT * FROM ikpf WHERE lgort = '0001'.

" ✅ 표준 VDM CDS 뷰 사용
SELECT InventoryDocument, StorageLocation, FiscalYear
  FROM I_PhysicalInventoryDocument
  WHERE StorageLocation = '0001'.

실수 2 — FiscalYear 없이 전체 조회

실사 문서는 연간 수십만 건이 누적됩니다. FiscalYear와 StorageLocation이 복합 키이므로, 두 필드를 WHERE절에 지정해야만 인덱스를 탑니다. 필터 없는 전체 조회는 Full Table Scan으로 타임아웃 위험이 있습니다.

" ❌ Full Table Scan — 타임아웃 위험
SELECT * FROM I_PhysicalInventoryDocument.

" ✅ 복합 인덱스 활용
SELECT InventoryDocument, PostingDate, InventoryDocumentStatus
  FROM I_PhysicalInventoryDocument
  WHERE FiscalYear        = '2024'
    AND StorageLocation   = '0001'.

실수 3 — 취소 문서 미필터링

실사 문서가 취소(역분개)되면 IsPhysicalInventoryDocReversed 필드가 'X'로 세팅됩니다. 이 필터 없이 집계하면 이미 무효화된 수량이 재고 수치에 포함되어 재고 차이가 발생합니다. 유효 문서만 조회하려면 반드시 공백 조건을 추가하세요.

SELECT InventoryDocument, TotalCountedQuantity
  FROM I_PhysicalInventoryDocument
  WHERE FiscalYear                      = '2024'
    AND StorageLocation                 = '0001'
    AND IsPhysicalInventoryDocReversed  = ''.

핵심 한 줄

IKPF 직접 조회 금지, FiscalYear 필터 필수, IsPhysicalInventoryDocReversed 공백 체크 — 세 가지만 지키면 실사 조회 버그 없습니다.

댓글 0

아직 댓글이 없습니다.