SAP ABAP에서 IDOC 사용법 배우기: 단계별 가이드
⚡ 스마트 요약
SAP IDoc(중간 문서)는 비즈니스 정보를 주고받는 데 사용되는 표준화된 데이터 컨테이너입니다. SAP 및 비SAP ALE 및 EDI를 통한 시스템. 이 튜토리얼에서는 ALE의 정의, 구조, 유형, 테이블, 파트너 프로필, 포트 및 엔드 투 엔드 아웃바운드 및 인바운드 프로세스를 설명합니다.

IDoc이란 무엇인가요?
IDoc은 단순히 데이터 컨테이너 데이터의 구문과 의미를 이해할 수 있는 두 프로세스 간에 정보를 교환하는 데 사용됩니다.
다시 말해, IDoc은 특정 형식을 가진 데이터 파일과 같으며, 해당 데이터를 해석하는 방법을 알고 있는 두 시스템 간에 교환됩니다.
IDoc은 "를 의미합니다.중간 문서".
실행할 때 배 밖으로 ALE 또는 EDI 프로세스에서 IDoc이 생성됩니다. SAP 시스템IDoc은 데이터베이스에 저장되며, 모든 IDoc에는 고유 식별자가 있습니다. 고유 번호 고객사 내부에서.
주요 특징
- IDoc은 다음과 같습니다. 송신 및 수신 시스템에 독립적 (SAP대SAP 비-뿐만 아니라SAP).
- IDoc은 다음을 기반으로 합니다. EDI IDoc은 ANSI ASC X12 및 EDIFACT 표준을 준수합니다. 데이터 크기에 충돌이 발생할 경우, IDoc은 더 긴 데이터를 채택합니다.
- IDoc은 다음과 같습니다. 데이터 교환 방향과 무관예를 들어 구매 모듈의 ORDERS01은 입고와 출고를 모두 지원합니다.
- IDoc은 다음에서 볼 수 있습니다. 텍스트 편집기 데이터가 바이너리 형식이 아닌 문자 형식으로 저장되어 있기 때문입니다.
IDoc의 구조
IDoc 구조는 세 부분으로 구성됩니다.
- 관리 부분(관리 기록) — IDoc 유형, 메시지 유형, 현재 상태, 발신자, 수신자 및 유사한 메타데이터를 포함합니다. 이를 제어 레코드라고 합니다.
- 애플리케이션 데이터(데이터 레코드) — 비즈니스 데이터가 포함되어 있습니다. 이를 데이터 레코드 또는 세그먼트.
- 상태 정보(상태 기록) — IDoc이 거친 다양한 단계에 대한 정보를 제공합니다.
트랜잭션을 사용하여 IDoc을 볼 수 있습니다. WE02 or WE05.
위 스크린샷에서 볼 수 있듯이 IDoc 레코드는 제어, 데이터 및 상태의 세 부분으로 구성됩니다. 각 부분에 대해서는 아래에서 자세히 살펴보겠습니다.
제어 기록
- 모든 제어 기록 데이터는 여기에 저장됩니다. EDIDC 테이블입니다. 이 테이블의 키는 IDoc 번호입니다.
- 여기에는 IDoc 번호, 방향(수신/발신), 송신자, 수신자 정보, 사용 중인 채널 및 사용 중인 포트와 같은 정보가 포함됩니다.
- 방향 "1"은 나가는 방향을, "2"는 들어오는 방향을 나타냅니다.
데이터 기록
- 데이터 레코드에는 직원 정보, 주간 상세 내역, 고객 정보 등과 같은 애플리케이션 데이터가 포함되어 있습니다.
- 모든 데이터 레코드 데이터는 테이블에 저장됩니다. EDID2에서 EDID4로예산 및 에디드 구성 요소를 볼 수 있는 구조입니다.
- 여기에는 IDoc 번호, IDoc 내 세그먼트의 이름과 번호, 계층 구조 및 데이터 자체와 같은 데이터가 포함됩니다.
- 실제 페이로드는 라는 필드에 문자열로 저장됩니다. 에스데이타이는 1000자 필드입니다.
상태 기록
- 상태 기록은 각 마일스톤마다 또는 오류가 발생할 때마다 IDoc에 첨부됩니다.
- 모든 상태 기록 데이터는 여기에 저장됩니다. EDIDS 테이블.
- 상태 코드 1~42는 발송용이고, 50~75는 입고용입니다.
IDoc 유형
IDoc 유형(기본)은 교환될 비즈니스 문서의 구조와 형식을 정의합니다. IDoc은 IDoc 유형의 인스턴스입니다.변수와 변수 유형의 개념과 마찬가지로 프로그래밍 언어IDoc 유형은 트랜잭션을 사용하여 정의할 수 있습니다. WE30.
세그먼트란 무엇입니까?
세그먼트는 세그먼트의 형식과 구조를 정의합니다. 데이터 기록 IDoc에서 세그먼트는 재사용 가능한 구성 요소입니다.
각 부문별로, SAP 다음 구성 요소를 생성합니다.
- 세그먼트 유형(버전 독립적)
- 세그먼트 정의(버전에 따라 다름)
- 세그먼트 문서화
마지막 세 문자는 세그먼트의 버전을 나타냅니다. 버전이 변경됨에 따라 정의가 변경될 수 있지만 세그먼트 유형은 동일하게 유지됩니다. 거래: WE31.
확장 IDoc 유형이란 무엇입니까?
IDoc에는 두 가지 유형이 있습니다.
- Basic
- 확장
SAP 미리 정의된 다양한 기본 IDoc 유형을 제공합니다. 수정할 수 없다.제한된 기본 유형에 더 많은 데이터를 추가해야 하는 경우 확장 유형을 사용할 수 있습니다. 대부분의 경우 지원 확장 프로그램이 필요합니다.
문서
각 IDoc은 거래 내역에 철저하게 문서화되어 있습니다. WE60.
메시지 유형
메시지는 특정 유형의 문서를 나타냅니다. transmit예를 들어 주문, 주문 응답 및 송장과 같이 두 파트너 간에 주고받는 거래입니다.
하나의 IDoc 유형은 여러 메시지 유형과 연결될 수 있습니다. 반대로, 하나의 메시지 유형은 서로 다른 IDoc 유형과 연결될 수 있습니다. 트랜잭션: WE81.
IDoc 뷰
하나의 IDoc 유형은 둘 이상의 메시지 유형에 사용될 수 있으므로, 특정 메시지 유형에 필요한 필드보다 더 많은 필드가 포함된 IDoc이 생성될 수 있습니다.
IDoc 뷰는 관련 세그먼트에만 데이터가 채워지도록 하여 IDoc 생성 성능을 향상시킵니다. IDoc 뷰는 아웃바운드 처리에서만 중요합니다.
파트너 프로필
파트너란 사업을 함께 수행하고 문서를 교환하는 비즈니스 파트너를 말합니다.
IDoc을 교환하는 파트너의 파트너 프로필에서 데이터 교환에 필요한 매개변수를 관리합니다. 사용되는 트랜잭션은 다음과 같습니다. WE20.
포트
포트는 사용자와 사용자 간의 연결에 대한 기술적 특성을 정의합니다. SAP 시스템(호스트)과 데이터를 전송할 다른 시스템(서브시스템)을 지정합니다. 포트는 두 시스템 간에 데이터가 교환되는 매체를 정의합니다.
포트에는 여러 종류가 있습니다. 가장 일반적으로 사용되는 두 가지는 다음과 같습니다. TRFC 포트 ALE에서 사용됨 및 파일 포트 EDI에서 사용됩니다.
TRFC 포트의 경우, 생성한 논리적 대상의 이름을 지정해야 합니다. SM59파일 포트를 사용할 경우 IDoc 파일이 저장될 디렉터리를 지정할 수 있습니다. 그러면 다른 시스템이나 미들웨어가 해당 디렉터리에서 파일을 가져옵니다. 함수 모듈을 사용하여 IDoc 파일 이름을 생성할 수도 있습니다. 테스트"아웃바운드 파일"을 사용하여 고정 파일 이름을 지정할 수 있습니다. 탭 "아웃바운드 트리거이 위치에서 IDoc이 생성될 때 하위 시스템에서 특정 처리를 트리거하려는 경우 정보를 제공하는 데 사용할 수 있습니다. 명령 파일 이름과 실행해야 할 디렉터리를 지정하십시오.
일반 IDoc 트랜잭션 Codes
| 거래 Code | 목적 |
|---|---|
| WE02 / WE05 | IDoc을 표시하고 모니터링합니다. |
| WE30 | IDoc 유형 생성 또는 변경 |
| WE31 | 세그먼트 생성 또는 변경 |
| WE20 | 파트너 프로필 관리 |
| WE21 | 항만 유지 관리 |
| WE42 | 인바운드 프로세스 정의 Code |
| WE57 | 수신 함수 모듈을 메시지 유형에 할당합니다. |
| WE60 | IDoc 문서화 |
| WE81 / WE82 | 메시지 유형 생성 / IDoc 유형과 연결 |
| BD51 | 기능 모듈의 특성을 정의합니다. |
| SM59 | RFC 대상을 유지 관리합니다. |
IDoc 프로세스: 실제 사례
IDoc을 통해 공급업체에 구매 주문서를 보내는 예를 생각해 보세요.
- 구매 주문서(PO)가 생성될 때마다 시스템은 공급업체에게 IDoc을 전송해야 합니다.
- 구매 주문서(PO)는 IDoc 형태로 공급업체(파트너)에게 전송됩니다. 해당 파트너는 시스템에서 EDI를 사용할 수 있어야 합니다. SAP 해당 업체에 문서를 전자적으로 보낼 수 있음을 인지하고 있습니다.
- 고객이 발신 IDoc으로 보낸 구매 주문서(PO)는 공급업체에게는 수신 IDoc이 됩니다. SAP 공급업체 측 시스템에서 이를 처리하여 자사 시스템에 애플리케이션 문서(판매 주문서)를 생성할 수 있습니다.
- 견적서, 견적요청서(RFQ), 구매주문서(PO), 판매주문서(SO), 송장 및 납품서류는 IDoc을 통해 가장 일반적으로 교환되는 문서 중 일부입니다.
귀하의 외부로 데이터를 전송하는 과정 SAP 시스템이라고 합니다 아웃바운드 프로세스데이터가 귀하의 계정으로 이동하는 동안 SAP 시스템이라고 합니다 인바운드 프로세스귀사에서 이러한 프로세스를 설정하는 개발자 또는 컨설턴트라면 각 프로세스를 구성하는 단계는 아래에 자세히 설명되어 있습니다.
아웃바운드 프로세스
관련된 단계:
- 세그먼트를 생성합니다(WE31).
- IDoc 유형(WE30)을 생성합니다.
- 메시지 유형(WE81)을 생성합니다.
- 메시지 유형을 IDoc 유형(WE82)과 연결합니다.
- 포트를 생성합니다(WE21).
- 메시지 제어 방식을 사용하여 IDoc을 트리거하는 경우, IDoc을 생성하는 함수 모듈을 만들고 이를 아웃바운드 프로세스에 연결하십시오. Code.
- 그렇지 않으면 IDoc을 직접 생성하는 함수 모듈 또는 독립 실행형 프로그램을 만드십시오.
- IDoc을 교환할 파트너에 대한 발신 매개변수에 필요한 정보를 포함하는 파트너 프로필(WE20)을 생성하고 IDoc을 트리거하십시오.
인바운드 프로세스
관련된 단계:
- 기본 IDoc 유형을 생성합니다(트랜잭션 WE30).
- 메시지 유형을 생성합니다(트랜잭션 WE81).
- 메시지 유형을 기본 IDoc 유형과 연결합니다(트랜잭션 WE82).
- IDoc 처리를 위한 함수 모듈을 생성하십시오.
- 기능 모듈의 특성을 정의합니다(BD51).
- 수신 함수 모듈을 메시지 유형(WE57)에 할당합니다.
- 프로세스를 정의하세요 Code (거래 WE42).
- 파트너 프로필을 생성합니다(트랜잭션 WE20).










