289.10. IDoc용 messageECDHE
289.10.1. IDoc 메시지 유형 링크 복사링크가 클립보드에 복사되었습니다!
IDoc Camel SAP 엔드포인트 중 하나를 사용하는 경우 메시지 본문의 유형은 사용 중인 특정 끝점에 따라 달라집니다.
sap-idoc-destination
끝점 또는 sap-qidoc-destination
끝점의 경우 메시지 본문은 Document
유형입니다.
org.fusesource.camel.component.sap.model.idoc.Document
org.fusesource.camel.component.sap.model.idoc.Document
sap-idoclist-destination
끝점의 경우 sap-qidoclist-destination
끝점 또는 sap-idoclist-server
끝점의 경우 메시지 본문은 DocumentList
유형입니다.
org.fusesource.camel.component.sap.model.idoc.DocumentList
org.fusesource.camel.component.sap.model.idoc.DocumentList
289.10.2. IDoc 문서 모델 링크 복사링크가 클립보드에 복사되었습니다!
Camel SAP 구성 요소의 경우 IDoc 문서는 기본 SAP IDoc API에 대한 래퍼 API를 제공하는EMF(Eclipse Modelling Framework)를 사용하여 모델링됩니다. 이 모델의 가장 중요한 유형은 다음과 같습니다.
org.fusesource.camel.component.sap.model.idoc.Document org.fusesource.camel.component.sap.model.idoc.Segment
org.fusesource.camel.component.sap.model.idoc.Document
org.fusesource.camel.component.sap.model.idoc.Segment
Document
유형은 IDoc 문서 인스턴스를 나타냅니다. 문서
인터페이스는 다음 방법을 노출합니다.
Document
인터페이스에서 노출하는 방법은 다음과 같습니다.
- 제어 레코드에 액세스하는 방법
- 대부분의 방법은 IDoc 제어 레코드의 필드 값에 액세스하거나 수정하는 방법입니다. 이러한 메서드는 AttributeName , AttributeName 형식이며 여기서 AttributeName 은 필드 값의 이름입니다( 표 289.2. “IDoc 문서 속성”참조).
- 문서 콘텐츠에 액세스하는 방법
getRootECDHE
메서드를 사용하면 문서 내용(IDoc 데이터 레코드)에 액세스할 수 있으며 콘텐츠를 ECDHE 오브젝트로
반환합니다. 각 ECDHE 오브젝트는 임의의 수의 하위 세그먼트를 포함할 수 있으며 세그먼트는 임의의 수준에 중첩될 수 있습니다.참고세그먼트 계층 구조의 정확한 레이아웃은 문서의 특정 IDoc 유형으로 정의됩니다. 세그먼트 계층을 생성 (또는 읽기)할 때 IDoc 유형에서 정의한 대로 정확한 구조를 따라야 합니다.
ECDHE 유형은 IDoc 문서의 데이터 레코드에 액세스하는 데 사용되며, 여기서 세그먼트는 문서의 IDoc 유형에 정의된 구조에 따라 다릅니다. 개요에서는 ECDHE
인터페이스
는 다음 방법을 노출합니다.
getgradleren(String segmentType)
방법은 새로운 (nested) 자식을 세그먼트에 추가하는 데 특히 유용합니다. 다음과 같이 정의되는 유형인 ECDHEList
의 오브젝트를 반환합니다.
따라서 E1SECDHE_CRE
유형의 데이터 레코드를 만들려면 다음과 같은 Java 코드를 사용할 수 있습니다.
Segment rootSegment = document.getRootSegment(); Segment E1SCU_CRE_Segment = rootSegment.getChildren("E1SCU_CRE").add();
Segment rootSegment = document.getRootSegment();
Segment E1SCU_CRE_Segment = rootSegment.getChildren("E1SCU_CRE").add();
289.10.4. 문서 인스턴스 생성 예 링크 복사링크가 클립보드에 복사되었습니다!
예를 들어 예 289.1. “Java에서 IDoc 문서 생성” 은 Java의 IDoc 모델 API를 사용하여 IDoc 유형인 IDoc 문서를 생성하는 방법을 보여줍니다.
예 289.1. Java에서 IDoc 문서 생성
289.10.5. 문서 속성 링크 복사링크가 클립보드에 복사되었습니다!
표 289.2. “IDoc 문서 속성” Document
개체에 설정할 수 있는 컨트롤 레코드 특성을 표시합니다.
속성 | 길이 | SAP Field | 설명 |
---|---|---|---|
| 70 |
| EDI 아카이브 키 |
| 3 |
| 클라이언트 |
| 8 |
| IDoc 작성 날짜 |
| 6 |
| Time IDoc 생성 |
| 1 |
| direction |
| 14 |
| 메시지 참조 |
| 14 |
| 메시지 그룹에 대한 참조 |
| 6 |
| EDI 메시지 유형 |
| 1 |
| EDI 표준 |
| 6 |
| EDI 표준 버전 |
| 14 |
| 상호 교환 파일 참조 |
| 8 |
| IDoc 유형 |
| 16 |
| IDoc 번호 |
| 4 |
| SAP 릴리스 of IDoc |
| 30 |
| 기본 IDoc 유형의 이름 |
| 30 |
| 확장 유형의 이름 |
| 3 |
| 논리 메시지 코드 |
| 3 |
| 논리 메시지 함수 |
| 30 |
| 논리 메시지 유형 |
| 1 |
| 출력 모드 |
| 10 |
| 수신자 주소(SADR) |
| 70 |
| 수신자의 논리 주소 |
| 2 |
| 수신자의 파트너 기능 |
| 10 |
| 수신자의 파트너 번호 |
| 2 |
| 수신자의 파트너 유형 |
| 10 |
| 수신자 포트(SAP 시스템, EDI 하위 시스템) |
|
| 보낸 사람 주소 (SADR) | |
| 70 |
| 발신자의 논리 주소 |
| 2 |
| 발신자의 파트너 기능 |
| 10 |
| 발신자의 파트너 번호 |
| 2 |
| 발신자의 파트너 유형 |
| 10 |
| 보낸 사람 포트 (SAP 시스템, EDI 하위 시스템) |
| 20 |
| EDI/ALE: Serialization 필드 |
| 2 |
| IDoc 상태 |
| 1 |
| 테스트 플래그 |
289.10.6. Java에서 문서 속성 설정 링크 복사링크가 클립보드에 복사되었습니다!
Java에서 제어 레코드 속성을 설정할 때 ( 표 289.2. “IDoc 문서 속성”에서) JavaBean 속성에 대한 일반적인 규칙을 따릅니다. 즉, 속성 값을 가져오고 설정하기 위해 getName
및 setName
메서드를 통해 name
속성에 액세스할 수 있습니다. 예를 들어 iDocType
,iDocTypeExtension
, messageType
속성은 Document
객체에서 다음과 같이 설정할 수 있습니다.
// Java document.setIDocType("FLCUSTOMER_CREATEFROMDATA01"); document.setIDocTypeExtension(""); document.setMessageType("FLCUSTOMER_CREATEFROMDATA");
// Java
document.setIDocType("FLCUSTOMER_CREATEFROMDATA01");
document.setIDocTypeExtension("");
document.setMessageType("FLCUSTOMER_CREATEFROMDATA");
289.10.7. XML에서 문서 특성 설정 링크 복사링크가 클립보드에 복사되었습니다!
XML에서 컨트롤 레코드 속성을 설정할 때 idoc:Document
요소에서 특성을 설정해야 합니다. 예를 들어 iDocType
,iDocTypeExtension
및 messageType
속성은 다음과 같이 설정할 수 있습니다.