일반

SAP 운영 클라이언트 IDoc을 테스트 시스템으로 복사하여 오류 분석 및 디버깅하는 방법

운영 시스템에서 발생한 IDoc 오류를 효율적으로 분석하고 디버깅하기 위해 해당 IDoc 데이터를 테스트 또는 개발 클라이언트로 안전하게 복사하고 처리하는 단계별 가이드입니다. WE19, CG3Y/CG3Z, WE16 등의 트랜잭션을 활용하여 IDoc 플랫 파일을 생성하고 전송하는 방법을 다룹니다.

개요

SAP 시스템 운영 중 IDoc 처리 오류가 발생했을 때, 운영 클라이언트에서 직접 디버깅하는 것은 시스템 안정성과 데이터 무결성 측면에서 위험할 수 있습니다. 따라서 오류 발생 IDoc의 정확한 원인을 분석하고 해결하기 위해, 해당 IDoc 정보를 테스트 또는 개발 클라이언트로 복사하여 동일한 조건에서 프로세싱 테스트 및 디버깅을 수행하는 것이 일반적입니다. 본 문서에서는 이러한 시나리오를 위한 IDoc 파일 추출 및 처리 절차를 단계별로 안내합니다. 이 방법은 특히 네트워크 연결이 제한적인 시스템 간에 IDoc 데이터를 수동으로 전송해야 할 때 유용합니다.

전제 조건

본 절차를 수행하기 위해서는 다음 사항들이 필요합니다.

* 권한: WE19, CG3Y, CG3Z, WE16, WE02, SE37, BD87 트랜잭션 사용 및 애플리케이션 서버 파일 경로(AL11)에 대한 읽기/쓰기 권한이 필요합니다. 특히 AL11 디렉토리 접근 권한은 S_PATH, S_DATASET 등의 권한 오브젝트와 관련이 있습니다.

* AL11 경로 지식: 파일을 저장하고 읽을 애플리케이션 서버의 유효한 디렉토리 경로(AL11에 등록된 경로)를 알고 있어야 합니다.

* IDoc 번호: 운영 클라이언트에서 분석할 대상 IDoc의 번호를 미리 확인해야 합니다 (예: WE02 트랜잭션 사용).

운영 클라이언트에서 IDoc 파일 추출 및 다운로드

1. WE19를 이용한 IDoc 파일 생성

WE19 트랜잭션은 기존 IDoc을 복사하거나 테스트 목적으로 새로운 IDoc을 생성하는 데 사용되는 유용한 도구입니다. 여기서는 기존 오류 IDoc을 플랫 파일 형태로 추출합니다.

  1. WE19 트랜잭션을 실행합니다.
  2. 초기 화면에서 "Existing IDoc" 라디오 버튼을 선택하고 "IDoc 번호" 필드에 대상 IDoc 번호를 입력합니다.
  3. 엔터를 누르면 IDoc 테스트 툴 화면이 나타납니다. 여기서 "Inbound File" 버튼을 클릭합니다. 이 기능은 IDoc의 내용을 애플리케이션 서버의 파일 시스템에 플랫 파일 형태로 저장하는 역할을 합니다.
  4. 팝업 화면에서 "File name" 필드에 IDoc 파일을 저장할 AL11의 임시 경로 및 파일 이름을 지정합니다 (예: /tmp/POIDOC_test).

* 중요: "Start inbound IDoc processing of file now" 체크박스는 반드시 해제해야 합니다. 이 체크박스를 선택하면 운영 클라이언트에서 IDoc이 즉시 재처리될 수 있으므로, 파일 추출 목적으로는 해제해야 합니다.

  1. "실행" 버튼을 클릭하여 IDoc 데이터를 지정된 경로에 파일로 저장합니다.

2. CG3Y를 이용한 파일 다운로드

이제 애플리케이션 서버에 저장된 IDoc 플랫 파일을 로컬 PC(프런트엔드)로 다운로드합니다.

  1. CG3Y 트랜잭션을 실행합니다.
  2. "Source file on application server" 필드에 이전 단계에서 WE19로 저장한 파일의 전체 경로와 이름을 입력합니다 (예: /tmp/POIDOC_test).
  3. "Target file on front end" 필드에 파일을 저장할 로컬 PC의 경로와 파일 이름을 지정합니다 (예: C:\Users\SDSA\Desktop\substanc.dat). 파일명은 .dat 확장자를 사용하는 것이 일반적입니다.
  4. "Download" 버튼을 클릭하여 파일을 로컬 PC로 다운로드합니다.

테스트 클라이언트로 IDoc 파일 업로드 및 처리

1. CG3Z를 이용한 파일 업로드

다운로드한 IDoc 파일을 이제 테스트 클라이언트의 애플리케이션 서버로 업로드합니다.

  1. 테스트 또는 개발 클라이언트에 접속하여 CG3Z 트랜잭션을 실행합니다.
  2. "Source file on front end" 필드에 로컬 PC에 저장된 파일의 전체 경로와 이름을 입력합니다 (예: C:\Users\SDSA\Desktop\substanc.dat).
  3. "Target file on application server" 필드에 테스트 클라이언트의 애플리케이션 서버에 파일을 저장할 AL11 경로 및 파일 이름을 지정합니다 (예: /usr/sap/trans/substanc.dat). 대상 경로에 대한 쓰기 권한이 필요합니다.
  4. "Upload" 버튼을 클릭하여 파일을 테스트 클라이언트의 애플리케이션 서버로 업로드합니다.

2. WE16을 이용한 IDoc 파일 처리

업로드된 IDoc 플랫 파일을 기반으로 테스트 클라이언트에서 인바운드 IDoc 처리를 수행합니다.

  1. WE16 트랜잭션을 실행합니다. WE16은 주로 테스트 목적으로 인바운드 IDoc 파일을 처리하는 데 사용됩니다.
  2. "파일 이름" 필드에 이전 단계에서 CG3Z로 업로드한 파일의 전체 경로와 이름을 입력합니다 (예: /usr/sap/trans/substanc.dat).
  3. "포트" 필드에 EDIUS4019를 입력합니다. 이는 예시이며, 실제 프로젝트에서는 WE21 트랜잭션에서 정의된 유효한 파일 포트를 사용해야 합니다. 파일 포트는 IDoc 데이터를 파일 형태로 주고받는 통신 채널을 정의합니다.
  4. "실행" 버튼을 클릭하여 IDoc 파일을 처리합니다.

3. WE02에서 IDoc 처리 결과 확인

IDoc이 정상적으로 생성되고 처리되었는지 확인합니다.

  1. WE02 트랜잭션을 실행합니다.
  2. WE16 처리 후 생성된 IDoc 번호를 확인하거나, 날짜 및 시간 등 검색 조건을 입력하여 새로 생성된 IDoc을 조회합니다.
  3. IDoc의 상태 코드(Status)가 성공적으로 처리되었음을 나타내는지 확인합니다 (예: 상태 53). 오류가 발생했다면 해당 상태 메시지를 통해 원인을 파악할 수 있습니다.

디버깅을 위한 추가 단계

IDoc 처리 중 오류가 발생했거나, 특정 로직을 디버깅해야 하는 경우 다음과 같은 추가 단계를 고려할 수 있습니다.

  1. WE02 또는 WE05에서 오류 IDoc을 식별하고, 제어 레코드 및 데이터 세그먼트를 확인하여 관련 정보를 파악합니다.
  2. WE20 트랜잭션에서 해당 파트너 프로파일의 인바운드 매개변수에 정의된 프로세스 코드를 확인합니다.
  3. SE37 트랜잭션에서 프로세스 코드에 연결된 함수 모듈(예: IDOC_INPUT_*)을 찾아 디버깅을 원하는 위치에 세션 브레이크포인트를 설정합니다.
  4. BD87 트랜잭션을 통해 해당 IDoc을 재처리하여 디버깅 모드로 진입합니다. 또는 WE19에서 IDoc을 선택한 후 "Inbound Function Module" 옵션과 "Call in debugging mode"를 함께 사용하여 디버깅을 시작할 수도 있습니다.

유의사항 및 추가 팁

* 권한 관리: 애플리케이션 서버의 파일 경로 (AL11)에 대한 접근 및 쓰기 권한은 SAP Basis 팀과 협의하여 적절하게 관리되어야 합니다.

* 데이터 보안: 운영 클라이언트의 민감한 데이터를 테스트 시스템으로 전송할 때는 데이터 보안 및 개인 정보 보호 정책을 준수해야 합니다.

* 포트 설정: WE16에서 사용하는 포트는 WE21에서 미리 정의된 파일 포트여야 합니다. EDIUS4019는 예시이며, 실제 환경에 맞는 포트 이름을 사용해야 합니다. 포트가 없으면 생성하거나, 기존의 유효한 파일 포트를 활용해야 합니다.

* 파일 인코딩: 파일 전송 시 인코딩 문제가 발생하지 않도록 주의합니다. 일반적으로 텍스트 모드(ASCII)로 전송하는 것이 안전합니다.

* WE16은 테스트용: WE16 트랜잭션은 주로 테스트 목적으로 사용됩니다. 실제 운영 환경에서 대량의 인바운드 IDoc 파일을 처리할 때는 다른 표준 방식(예: 자동 인바운드 처리 설정)을 고려해야 합니다.

결론

본 문서에서 설명한 절차는 운영 환경에서 발생한 IDoc 오류를 비운영 환경으로 안전하게 가져와 심층 분석 및 디버깅을 수행하는 효과적인 방법을 제공합니다. 이를 통해 문제 해결 시간을 단축하고 시스템 안정성에 기여할 수 있습니다. 각 단계별 유의사항을 준수하고 필요한 권한을 확보하여 정확하게 수행하는 것이 중요합니다.

English: Read in English