289.9. RFC를 위한 메시지ECDHE
289.9.1. 요청 및 응답 오브젝트 링크 복사링크가 클립보드에 복사되었습니다!
SAP 끝점에는 SAP 요청 오브젝트가 포함된 메시지 본문이 포함된 메시지를 수신하고 SAP 응답 오브젝트가 포함된 메시지 본문이 포함된 메시지를 반환합니다. SAP 요청 및 응답은 각 필드에 사전 정의된 데이터 유형을 갖는 이름 필드를 포함하는 고정 맵 데이터 구조입니다.
SAP 요청 및 응답의 named 필드는 SAP 엔드포인트에 고유하며 각 끝점은 SAP 요청의 매개변수와 허용 가능한 응답을 정의합니다. SAP 끝점은 여기에 고유한 요청 및 응답 개체를 만들 수 있는 팩토리 메서드를 제공합니다.
289.9.2. 구조 오브젝트 링크 복사링크가 클립보드에 복사되었습니다!
SAP 요청 및 응답 오브젝트는 모두 Java에서 org.fusesource.camel.component.sap.rfc.Structure
인터페이스를 지원하는 구조 오브젝트로 표시됩니다. 이 인터페이스는 java.util.Map
및 org.eclipse.emf.ecore.EObject
인터페이스를 모두 확장합니다.
구조 오브젝트의 필드 값은 맵 인터페이스의 필드 getter 메서드를 통해 액세스할 수 있습니다. 또한 구조 인터페이스는 필드 값을 검색하기 위한 type-restricted 메서드를 제공합니다.
구조 객체는EMF(Eclipse Modeling Framework)를 사용하여 구성 요소 런타임에서 구현되며 해당 프레임워크의 EObject
인터페이스를 지원합니다. 구조 오브젝트의 인스턴스에는 제공하는 필드 맵의 구조와 내용을 정의하고 제한하는 연결된 메타데이터가 있습니다. 이 메타데이터는 EMF에서 제공하는 표준 방법을 사용하여 액세스 및 세부 검사할 수 있습니다. 자세한 내용은 EMF 문서를 참조하십시오.
구조 개체에서 정의되지 않은 매개 변수를 가져오려고 하면 null을 반환합니다. 구조에 정의되지 않은 매개변수를 설정하려고 하면 예외가 발생하고 잘못된 유형으로 매개 변수 값을 설정하려고 합니다.
다음 섹션에서 설명한 대로 구조 개체는 복잡한 필드 유형, STRUCTURE 및ECDHE의 값을 포함하는 필드를 포함할 수 있습니다.As discussed in the following sections, structure objects can contain fields that contain values of the complex field types, STRUCTURE
and ECDHE
.
이러한 유형의 인스턴스를 생성하고 구조에 추가하는 것은 필요하지 않습니다. 이러한 필드 값의 인스턴스는 필요에 따라 enclosing 구조에서 액세스 할 때 생성됩니다.
289.9.3. 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
SAP 요청 또는 응답의 구조 개체 내에 있는 필드는 elementary 또는 complex 일 수 있습니다. elementary 필드에는 단일 스칼라 값이 포함되어 있는 반면, complex 필드는 요소 또는 복잡한 유형의 필드를 하나 이상 포함합니다.
289.9.4. elementary 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
요소 필드는 문자, 숫자, 16진수 또는 문자열 필드 유형일 수 있습니다. 다음 표에는 구조 오브젝트에 있을 수 있는 요소 필드 유형이 요약되어 있습니다.
필드 유형 | 해당 Java 유형 | Byte Length | 유니코드 바이트 길이 | 숫자: | 설명 |
|
| 1에서 65535 | 1에서 65535 | - | ABAP 유형 'C': 고정 크기 문자 문자열 |
|
| 8 | 16 | - | ABAP 유형 'D': Date (format: YYYYMMDD) |
|
| 1에서 16까지 | 1에서 16까지 | 0에서 14로 | ABAP 유형 'P': 포함된 BCD 번호입니다. BCD 번호는 바이트당 두 자리 숫자로 되어 있습니다. |
|
| 6 | 12 | - | ABAP 유형 'T': 시간 (format: HHMMSS) |
|
| 1에서 65535 | 1에서 65535 | - | ABAP 유형 'X':Fixed sized byte array |
|
| 1에서 65535 | 1에서 65535 | - | ABAP 유형 'N': 고정 크기 숫자 문자 문자열 |
|
| 8 | 8 | 0에서 15까지 | ABAP 유형 'F': 부동 소수점 수 |
|
| 4 | 4 | - | ABAP 유형 'I': 4바이트 정수 |
|
| 2 | 2 | - | ABAP 유형 'S': 2바이트 정수 |
|
| 1 | 1 | - | ABAP 유형 'B': 1바이트 정수 |
|
| 8 | 8 | 16 | ABAP 유형 'dec pieceat16': 8 -byte floating-point number |
|
| 16 | 16 | 34 | ABAP 유형 'decipat34': 16바이트의 부동 소수점 수 |
|
| 8 | 8 | - | ABAP 유형 'G': 변수 길이 문자 문자열 |
|
| 8 | 8 | - | ABAP 유형 'Y': 변수 길이 바이트 배열 |
289.9.5. 문자 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
문자 필드에는 기본 JCo 및 ABAP 런타임에서 비ECDHE 또는 유니코드 문자 인코딩을 사용할 수 있는 고정된 크기의 문자 문자열이 포함되어 있습니다. 유니코드가 아닌 문자열은 바이트당 하나의 문자를 인코딩합니다. 유니코드 문자 문자열은 UTF-16 인코딩을 사용하여 두 바이트로 인코딩됩니다. character 필드 값은 Java에서 java.lang.String
개체로 표시되고 기본 JCo 런타임은 ABAP 표현으로의 변환을 담당합니다.
문자 필드는 각 인코딩 시스템에서 필드 문자열의 길이를 결정하는 관련 바이트Length 및 unicodeByteLength
속성에서 필드 길이를 선언합니다.A character field declares its field length in its associated byteLength
and unicodeByteLength properties, which determine the length of the field's character string in each encoding system.
KNATIVE
-
character
필드는
영숫자 문자를 포함하는 텍스트 필드이며 ABAP 유형 C에 해당합니다. NUM
-
NUM
문자 필드는 숫자 문자만 포함하는 숫자 텍스트 필드이며 ABAP 유형 N에 해당합니다. DATE
-
DATE
문자 필드는YYYYMMDD
로 포맷된 년, 월 및 일 형식의 8자 날짜 필드이며 ABAP 유형 D에 해당합니다. TIME
-
TIME
문자 필드는HHMMSS
로 포맷된 시간, 분 및 초가 있는 6자 시간 필드이며 ABAP 유형 T에 해당합니다.
289.9.6. 숫자 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
숫자 필드에는 숫자가 포함됩니다. 다음과 같은 숫자 필드 유형이 지원됩니다.
INT
-
INT
숫자 필드는 기본 JCo 및 ABAP 런타임에서 4바이트 정수 값으로 저장된 정수 필드이며 ABAP 유형 I.INT
필드 값은 Java에서java.lang.Integer
오브젝트로 표시됩니다. INT2
-
INT2
숫자 필드는 기본 JCo 및 ABAP 런타임에서 2바이트 정수 값으로 저장된 정수 필드이며 ABAP 유형 S.INT2
필드 값은 Java에서java.lang.Integer
오브젝트로 표시됩니다. INT1
-
INT1
필드는 기본 JCo 및 ABAP 런타임 값에 1바이트 정수 값으로 저장된 정수 필드이며 ABAP 유형 B.INT1
필드 값은 Java에서java.lang.Integer
오브젝트로 표시됩니다. FLOAT
-
XCCDF
OAT
필드는 기본 JCo 및 ABAP 런타임에서 8바이트 이중 값으로 저장된 바이너리 부동 소수점 필드이며 ABAP 유형 F. AECDHEOAT
필드는 필드 값이 연결된 10진수 속성에 포함된 10진수 수를 선언합니다. XCCDFOAT
필드의 경우 이 10진수 속성은 1~15자리 사이의 값을 가질 수 있습니다. FlexVolumeOAT
필드 값은 Java에서java.lang.ECDHE 오브젝트로
표시됩니다. BCD
-
BCD
필드는 기본 JCo 및 ABAP 런타임에서 1~16바이트 패키징된 숫자로 저장된 바이너리 코딩된 10진수이며 ABAP 유형 P. 패키징된 숫자는 바이트당 두 개의 10진수를 저장합니다.BCD
필드는 연결된byteLength
및unicodeByteLength
속성에서 필드 길이를 선언합니다.BCD
필드의 경우 이러한 속성은 1바이트에서 16바이트 사이의 값을 가질 수 있으며 두 속성 모두 동일한 값을 갖습니다.BCD
필드는 필드 값에 연결된 10진수 속성에 포함된 10진수 수를 선언합니다.BCD
필드의 경우 이 10진수 속성은 1과 14자리 사이의 값을 가질 수 있습니다.BCD
필드 값은 Java에서java.math.BigDecimal
으로 표시됩니다. DECF16
-
DECF16
필드는 기본 JCo 및 ABAP 런타임에서 8바이트 IEEE 754 decimal64 부동 소수점 값으로 저장된 10진수 부동 소수점이며 ABAP 유형dec freeat16
에 해당합니다.DECF16
필드의 값에는 16개의 10진수가 있습니다.DECF16
필드의 값은 Java에서java.math.BigDecimal
으로 표시됩니다. DECF34
-
DECF34
필드는 기본 JCo 및 ABAP 런타임에서 16바이트 IEEE 754 decimal128 부동 소수점 값으로 저장된 10진수 부동 소수점이며 ABAP 유형dec freeat34
에 해당합니다.DECF34
필드의 값에는 34개의 10진수가 있습니다.DECF34
필드의 값은 Java에서java.math.BigDecimal
으로 표시됩니다.
289.9.7. 16진수 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
16진수 필드에는 원시 바이너리 데이터가 포함되어 있습니다. 다음과 같은 16진수 필드 유형이 지원됩니다.
BYTE
-
BYTE
필드는 기본 JCo 및 ABAP 런타임에서 바이트 배열로 저장된 고정 크기 바이트 문자열이며 ABAP 유형 X. ABYTE
필드는 연결된바이트
Length 및unicodeByteLength
속성에 해당 필드 길이를 선언합니다.BYTE
필드의 경우 이러한 속성은 1에서 65535 바이트 사이의 값을 가질 수 있으며 두 속성 모두 동일한 값을 갖습니다.BYTE
필드의 값은 Java에서byte[]
오브젝트로 표시됩니다.
289.9.8. 문자열 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
string 필드는 변수 길이 문자열 값을 참조합니다. 해당 문자열 값의 길이는 런타임까지 수정되지 않습니다. 문자열 값의 스토리지는 기본 JCo 및 ABAP 런타임에서 동적으로 생성됩니다. string 필드 자체에 대한 스토리지는 고정되어 있으며 문자열 헤더만 포함합니다.
문자열
-
STRING
필드는 문자 문자열을 참조하며 기본 JCo 및 ABAP 런타임은 8바이트 값으로 저장됩니다. ABAP 유형 G.STRING
필드의 값은 Java에서java.lang.String
오브젝트로 표시됩니다. XSTRING
-
XSTRING
필드는 바이트 문자열을 참조하며 기본 JCo 및 ABAP 런타임에 8바이트 값으로 저장됩니다. ABAP 유형 Y에 해당합니다.STRING
필드의 값은 Java에서byte[]
오브젝트로 표시됩니다.
289.9.9. 복잡한 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
복잡한 필드는 구조 또는 테이블 필드 유형일 수 있습니다. 다음 표에는 이러한 복잡한 필드 유형이 요약되어 있습니다.
필드 유형 | 해당 Java 유형 | Byte Length | 유니코드 바이트 길이 | 숫자: | 설명 |
|
| 개별 필드 바이트 길이의 합계 | 전체 개별 필드 유니코드 바이트 길이 | - | ABAP 유형 'u' & 'v': 이질적> |
|
| 행 구조의 바이트 길이 | 행 구조의 유니코드 바이트 길이 | - | ABAP 유형 'h': 테이블 |
289.9.10. 구조 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
STRUCTURE
필드에는 구조 오브젝트가 포함되어 있으며 기본 JCo 및 ABAP 런타임에 ABAP 구조 레코드로 저장됩니다. 이는 ABAP 유형 u
또는 v
에 해당합니다. STRUCTURE
필드의 값은 Java에서 interface org.fusesource.camel.component.sap.rfc.Structure
를 사용하는 구조 오브젝트로 표시됩니다.
289.9.11. 테이블 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
DestinationRule 필드에
는 테이블 오브젝트가 포함되어 있으며 기본 JCo 및 ABAP 런타임을 ABAP 내부 테이블로 저장합니다. 이는 ABAP 유형 h
에 해당합니다. 필드의 값은 org.fusesource.camel.component.model.rfc.Table
을 사용하는 테이블 오브젝트로 Java로 표시됩니다.
289.9.12. 테이블 오브젝트 링크 복사링크가 클립보드에 복사되었습니다!
테이블 개체는 동일한 구조를 가진 구조 개체의 행을 포함하는 동종 목록 데이터 구조입니다.A table object is a homogeneous list data structure containing rows of structure of structure with the same structure. 이 인터페이스는 java.util.List
및 org.eclipse.emf.ecore.EObject
인터페이스를 모두 확장합니다.
테이블 오브젝트의 행 목록은 목록 인터페이스에 정의된 표준 방법을 사용하여 액세스 및 관리됩니다. 또한 테이블 인터페이스는 행 목록에 구조 오브젝트를 생성하고 추가하기 위한 두 개의 오타리 방법을 제공합니다.
테이블 오브젝트는EMF(Eclipse Modeling Framework)를 사용하여 구성 요소 런타임에서 구현되고 해당 프레임워크의 EObject 인터페이스를 지원합니다. 테이블 오브젝트의 인스턴스에는 제공하는 행의 구조와 내용을 정의하고 제한하는 연결된 메타데이터가 있습니다. 이 메타데이터는 EMF에서 제공하는 표준 방법을 사용하여 액세스 및 세부 검사할 수 있습니다. 자세한 내용은 EMF 문서를 참조하십시오.
잘못된 형식의 행 구조 값을 추가하거나 설정하려고 하면 예외가 발생합니다.