메뉴 건너뛰기

SAP 한국 커뮤니티

이 글은 자재문서 테이블(흔히 MSEG, MKPF)에 커스텀 필드를 추가하는 방법을 알려드리고자 한다.

 

S4H 1511 부터 MSEG와 MKPF 는 기존 테이블 대신 MATDOC 에 데이터가 저장되는데

물론 ABAP 티어에서는 기존 테이블명을 사용해도 아래와 같이 리다이렉트 되기 때문에

MSEG -> NSDM_V_MSEG

MKPF -> NSDM_V_MKPF

예전과 동일한 결과를 볼 수는 있다.

 

이말은 즉  'MSEG와 MKPF를 수정하는 방식은 더이상 정답이 아니란 이야기다.

만약 독자들이 처한 상황이 S4H 업그레이드라면 이야기가 조금더 복잡해지는데 여기서 이 문제는 다루지 않는다.

 

그렇다면 자재문서 테이블에 커스텀 필드를 어떻게 추가해야 제대로 하는 걸까?

1. MATDOC에 필드를 추가한다.

2. CDS View를 고친다.

3. 순서대로 Active 한다. 순서 틀리면 덤프 대잔치나니까 조심해야만 한다!

 

그림으로 설명하자면...

슬라이드2.PNG 슬라이드3.PNG 슬라이드4.PNG

 

이걸 BAPI 에서 제대로 쓰시려면 추가 작업이 필요하다.

슬라이드6.PNG 슬라이드7.PNG 슬라이드8.PNG

어렵지 않죠?

 

앞으로 기존 ERP에서 S4H로 전환하게 되면 자재문서 뿐만 이런 문제가 여러군데서 생길것이다.

하지만 이 방법을 잘 응용하면 해쳐나가 실 수 있을것이라 생각된다.


2017년도 말 스터디를 중단하면서 웹에 올린 글이었는데, 하나만 알고 둘은 모르던 부분이라 수정합니다.

 

"변명하자면 2016년에 공부했던 내용으로 글을 쓴건데, 써놓고 잊어버리고 있다가 누군가 제 글을 참고한다고 해서 이거 꼭 수정을 해야겠구나 라고 생각해서 내용을 수정합니다."

 

뭐 6년전에 썻던 것처럼 해도 돌아는 갈겁니다. (벌써 6년전이라니...)

하지만 업그레이드에 적합하지 않고 필드 변경에 민감해지는 구조를 가지기 때문에 적합하지 않습니다.

그럼 어떻게 하는게 더 좋을가요?

 

MATDOC 테이블에 추가한(또는 업그레이드되어 자동으로 추가된) Z 필드는 Extend View 를 만들면 됩니다.

아래 예는 자재코드는 아니고 MARC 인데, MSEG도 뭐 똑같습니다.
 

필드가 추가된 MARC를 SE16N에서 조회하거나, Z 프로그램 해당 테이블에 접근을 하면 DBSQL_REDIRECT_INCONSISTENCY 라는 덤프가 발생할 겁니다.

이 포스트의 처음에 설명한 것처럼 Redirect 되는 구조때문에 발생하는 오류로, 원본과 타겟의 필드 구조가 달라서 생긴 오류입니다.

 

ADT 를 실행해서 Z 패키지에 Z 로 시작하는 Extend View를 하나 만듭니다.

 

image.png

 

DDL Source 는 아래와 같이 원하는 Z 필드 이름만 넣어주면 됩니다.

 

image.png

 

참 쉬죠?