안녕하세요.
공사중 입니다.
SAP 에서 CBO 프로세스를 개발 하려할때, 변경 History 를 구현해야하는 일이 종종 있습니다.
보통 Time Stamp 를 Key Field 로 추가해서 신규 테이블을 만들어 변경시마다 삽입 처리하거나 하는데요.
필요없이 저장되는 필드들도 많고, 따로 레포트도 만들어줘야하는 번거로움도 있습니다.
SAP 표준에서 변경 로그로 잘알려진 CDHDR / CDPOS 테이블에 변경로그를 저장하는 방법에 대해 공유드립니다.
(1) 변경 로그를 남길 대상 필드의 Data Element 에 Change Document 체크박스에 체크표시.
- 모든 필드의 변경사항을 다 남길 필요가 없기 때문에, 변경대상의 Field에 지정된 Data Element 에만 설정하면 됩니다.
(2) 변경문서 오브젝트 ( T-Code : SCDO ) 만들기.
- 초기화면에서 Object ID 입력후 생성 버튼을 눌러서 생성작업을 시작 합니다.
- 변경 로그를 저장할 테이블을 입력후 생성 버튼을 눌러서 관련된 객체들에 대한 생성을 진행합니다.
- 관련 펑션이 추가될 Funcgion Group 을 만들고, Popup 창에 입력하고 생성버튼으로 진행합니다.
- 갱신 프로그램의 작성 결과를 확인하고, 반드시 활성화 버튼을 눌러서 활성화 해야합니다.
내역중에 갱신 기능 모듈 "YTESTCMD_WRITE_DOCUMENT" 가 만들어진 것을 확인할 수 있습니다.
( 네이밍룰이 "변경문서오브젝트ID"+"_WRITE_DOCUMENT" 인것을 알수 있습니다. )
만들어진 Function Module 을 호출해서 변경 로그를 저장하시면 됩니다.
- ICDTXT_~ 의 파라메터에는 빈값을 전달하셔도 됩니다.
- Function Module 에서 입력한 이전데이터와 이후데이터를 비교해서, 변경된 필드만 로그에 저장합니다.
변경로그 조회는 T-code : FMCA_TRM_CD ( Program : RSSCD100 ) 으로 가능합니다.
실제로 만들어서 사용해보니, 적은 공수로 완성도도 높은 프로세스를 만들어 제공할 수 있었습니다.
현재는 변경로그가 필요한 경우에 무조건 쓰게 되더라구요~~^^;;
끝...
'ABAP' 카테고리의 다른 글
SAP CDS View 에 대한 초보적인 실수 (1) - Key Field Setting (1) | 2021.04.22 |
---|---|
SAP HANA 에서는 Select (*) 를 써도 됩니다.!! (0) | 2021.04.21 |
SAP SMARTFORMS 에서 Legacy Editor 사용하기. (6) | 2021.04.14 |
SAP 운영 서버 에서 IMG 수정할 수 있도록 하는 방법 (0) | 2021.04.14 |
SAP ADT ( ABAP Development tools ) 설치 방법 및 고려할 점. (0) | 2021.04.14 |