55.6. RFC에 대한 메시지 body


55.6.1. 요청 및 응답 오브젝트

SAP 끝점은 SAP 요청 오브젝트가 포함된 메시지 본문이 있는 메시지를 수신할 것으로 예상하고 SAP 응답 오브젝트가 포함된 메시지 본문이 있는 메시지를 반환합니다. SAP 요청 및 응답은 사전 정의된 데이터 유형이 있는 각 필드가 있는 이름이 지정된 필드를 포함하는 고정 맵 데이터 구조입니다.

SAP 요청 및 응답에서 named 필드는 SAP 끝점에 고유하며 각 엔드포인트는 SAP 요청에 매개 변수를 정의하고 이를 수락하게 됩니다. SAP 끝점은 팩토리와 관련된 요청 및 응답 오브젝트를 생성하는 팩토리 메서드를 제공합니다.

public class SAPEndpoint ... {
    ...
    public Structure getRequest() throws Exception;

    public Structure getResponse() throws Exception;
    ...
}
Copy to Clipboard Toggle word wrap

55.6.2. 구조 오브젝트

SAP 요청 및 응답 오브젝트는 모두 Java에서 org.fusesource.camel.component.sap.model.rfc.Structure 인터페이스를 지원하는 구조 오브젝트로 표시됩니다. 이 인터페이스는 java.util.Maporg.eclipse.emf.ecore.EObject 인터페이스를 모두 확장합니다.

public interface Structure extends org.eclipse.emf.ecore.EObject,
                                        java.util.Map<String, Object> {

    <T> T get(Object key, Class<T> type);

}
Copy to Clipboard Toggle word wrap

구조 오브젝트의 필드 값은 맵 인터페이스에서 필드의 getter 메서드를 통해 액세스합니다. 또한 구조 인터페이스는 필드 값을 검색하는 형식 제한 메서드를 제공합니다.In addition, the structure interface provides a type-restricted method to retrieve field values.

structure 객체는 Eclipse Modeling Framework (EMF)를 사용하여 구성 요소 런타임에서 구현되며 해당 프레임워크의 EObject 인터페이스를 지원합니다. 구조 오브젝트의 인스턴스에는 제공하는 필드 맵의 구조와 콘텐츠를 정의하고 제한하는 연결된 메타데이터가 있습니다. 이 메타데이터는 EMF에서 제공하는 표준 방법을 사용하여 액세스 및 검사할 수 있습니다. 자세한 내용은 EMF 문서를 참조하십시오.

참고

structure 개체에 정의되지 않은 매개 변수를 가져오려고 하면 null이 반환됩니다.Attempts to get a parameter not defined on a structure object will return null. 구조에 정의되지 않은 매개 변수를 설정하려고 하면 예외가 발생하지 않고 잘못된 형식으로 매개 변수의 값을 설정하려고 시도합니다.

다음 섹션에서 설명한 것처럼 구조 오브젝트에는 복잡한 필드 유형, STRUCTURE 및 10.0.0.1 .NET의 값이 포함된 필드가 포함될 수 있습니다.

참고

이러한 유형의 인스턴스를 생성하고 구조에 추가하는 것은 필요하지 않습니다. 이러한 필드 값의 인스턴스는 인클로저 구조에서 액세스할 때 필요에 따라 생성됩니다.

55.6.3. 필드 유형

SAP 요청 또는 응답의 구조 객체 내에 있는 필드는 기본 또는 복잡한 필드일 수 있습니다. 요소 필드에는 단일 스칼라 값이 포함된 반면, 복잡한 필드는 요소 또는 복잡한 유형의 필드를 하나 이상 포함합니다.

55.6.3.1. 기본 필드 유형

요소 필드는 문자, 숫자, 16진수 또는 문자열 필드 유형일 수 있습니다. 다음 표에는 구조 오브젝트에 있을 수 있는 요소 필드 유형이 요약되어 있습니다.

Expand

필드 유형

해당 Java 유형

Byte Length

UnicodeECDHE Length

숫자 ECDHEt s

설명

GRAFKA

java.lang.String

1~65535

1~65535

-

ABAP 유형 'C': 수정된 크기의 문자 문자열

DATE

java.util.Date

8

16

-

ABAP 유형 'D': 날짜 (포멧: YYYMMDD)

BCD

java.math.BigDecimal

1~16

1~16

0~14

ABAP 유형 'P': BCD 번호. BCD 번호는 바이트당 두 자리 수를 포함합니다.

TIME

java.util.Date

6

12

-

ABAP 유형 'T': Time (format: HHMMSS)

BYTE

byte[]

1~65535

1~65535

-

ABAP 유형 'X':Fixed sized byte array

NUM

java.lang.String

1~65535

1~65535

-

ABAP Type 'N': 수정된 숫자 문자열

FLOAT

java.lang.Double

8

8

0에서 15까지

ABAP 유형 'F': 부동 소수점 번호

INT

java.lang.Integer

4

4

-

ABAP 유형 'I: 4바이트 정수

INT2

java.lang.Integer

2

2

-

ABAP 유형 'S: 2바이트 정수

INT1

java.lang.Integer

1

1

-

ABAP 유형 'B': 1바이트 정수

DECF16

java.match.BigDecimal

8

8

16

ABAP 유형 'decanchorat16': 8 -byte 부동 소수점 수

DECF34

java.math.BigDecimal

16

16

34

ABAP 유형 'decECDHEat34': 16바이트 부동 소수점 수

문자열

java.lang.String

8

8

-

ABAP 유형 'G': 변수 길이 문자열

XSTRING

byte[]

8

8

-

ABAP 유형 'Y': 변수 길이 바이트 배열

55.6.3.2. 문자 필드 유형

문자 필드에는 기본 JCo 및 ABAP 런타임에서 비-ECDHE 또는 유니코드 문자 인코딩을 사용할 수 있는 고정된 크기의 문자 문자열이 포함되어 있습니다. 문자가 아닌 문자열은 바이트당 하나의 문자를 인코딩합니다. 유니코드 문자열은 UTF-16 인코딩을 사용하여 두 바이트로 인코딩됩니다. 문자 필드 값은 Java에서 java.lang.String 오브젝트로 표시되며 기본 JCo 런타임은 ABAP 표현으로의 변환을 담당합니다.

문자 필드는 각 인코딩 시스템에서 필드의 문자 문자열 길이를 결정하는 연결된 byteLengthunicodeByteLength 속성에서 해당 필드 길이를 선언합니다.A character field declares its field length in its field length in its associated byteLength and unicodeByteLength properties, which determine the length of the field's character string in each encoding system.

GRAFKA
문자 필드는 영숫자를 포함하는 텍스트 필드이며 ABAP 유형 C에 해당합니다.
NUM
NUM 문자 필드는 숫자 문자만 포함하는 숫자 텍스트 필드이며 ABAP 유형 N에 해당합니다.
DATE
문자 필드는 연도, 월 및 일 형식이 YYYYMMDD 인 8자 날짜 필드이며 ABAP 유형 D에 해당합니다.
TIME
TIME 문자 필드는 시간, 분 및 초가 HHMMSS 로 포맷되고 ABAP 유형 T에 해당합니다.

55.6.3.3. 숫자 필드 유형

숫자 필드에는 숫자가 포함됩니다. 다음과 같은 숫자 필드 유형이 지원됩니다.

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
FLOAT 필드는 기본 JCo 및 ABAP 런타임에 8바이트의 이중 값으로 저장된 바이너리 부동 소수점 수 필드이며 ABAP 유형 F. A FLOAT 필드는 필드의 값이 관련 10진수 속성에 포함된 10진수 수를 선언합니다. FLOAT 필드의 경우이 10진수 속성은 1에서 15 자리 사이의 값을 가질 수 있습니다. FLOAT 필드 값은 Java에서 java.lang. 10.0.0.1 오브젝트로 표시됩니다.
BCD
BCD 필드는 기본 JCo 및 ABAP 런타임에 1~16바이트 패키지 번호로 저장된 바이너리 코딩된 10진수 필드이며 ABAP 유형 P. 패키징된 숫자는 바이트당 두 개의 10진수를 저장합니다. BCD 필드는 연결된 byteLengthunicodeByteLength 속성으로 해당 필드 길이를 선언합니다. BCD 필드의 경우 이러한 속성은 1에서 16바이트 사이의 값을 가질 수 있으며 두 속성 모두 동일한 값을 갖습니다. BCD 필드는 필드의 값이 연결된 10진수 속성에 포함된 10진수 수를 선언합니다. BCD 필드의 경우 이 decimal 속성은 1에서 14 자리 사이의 값을 가질 수 있습니다. BCD 필드 값은 Java에서 java.math.BigDecimal 로 표시됩니다.
DECF16
DECF16 필드는 기본 JCo 및 ABAP 런타임에 8바이트 IEEE 754 decimal64 부동 소수점 값으로 저장된 10진수 부동 소수점이며 ABAP 유형 decknativeat 16 에 해당합니다. DECF16 필드의 값은 16진수 숫자를 갖습니다. DECF16 필드의 값은 Java에서 java.math.BigDecimal 로 표시됩니다.
DECF34
DECF34 필드는 기본 JCo 및 ABAP 런타임에 16바이트 IEEE 754 decimal128 부동 소수점 값으로 저장된 10진수 부동 소수점이며 ABAP 유형 decECDHEat34 에 해당합니다. DECF34 필드의 값은 34진수입니다. DECF34 필드의 값은 Java에서 java.math.BigDecimal 로 표시됩니다.

55.6.3.4. 16진수 필드 유형

16진수 필드에는 원시 바이너리 데이터가 포함되어 있습니다. 다음과 같은 16진수 필드 유형이 지원됩니다.

BYTE
BYTE 필드는 기본 JCo 및 ABAP 런타임에 바이트 배열로 저장된 고정된 바이트 문자열이며 ABAP 유형 X에 해당합니다. BYTE 필드는 관련 byteLengthunicodeByteLength 속성에서 해당 필드 길이를 선언합니다. BYTE 필드의 경우 이러한 속성은 1에서 65535 바이트 사이의 값을 가질 수 있으며 두 속성 모두 동일한 값을 갖습니다. BYTE 필드의 값은 Java에서 byte[] 오브젝트로 표시됩니다.

55.6.3.5. 문자열 필드 유형

문자열 필드는 변수 길이 문자열 값을 참조합니다. 해당 문자열 값의 길이는 런타임까지 고정되어 있지 않습니다. 문자열 값에 대한 스토리지는 기본 JCo 및 ABAP 런타임에서 동적으로 생성됩니다. 문자열 필드 자체에 대한 스토리지는 고정되어 있으며 문자열 헤더만 포함합니다.

문자열
STRING 필드는 기본 JCo 및 ABAP 런타임에 8바이트 값으로 저장된 문자 문자열을 나타냅니다. 이는 ABAP 유형 G. STRING 필드의 값이 Java로 java.lang.String 오브젝트로 표시됩니다.
XSTRING
XSTRING 필드는 기본 JCo 및 ABAP 런타임에 8바이트 값으로 저장된 바이트 문자열을 나타냅니다. 이는 ABAP 유형 Y에 해당합니다. STRING 필드의 값은 Java에서 byte[] 오브젝트로 표시됩니다.

55.6.3.6. 복잡한 필드 유형

복잡한 필드는 구조 또는 테이블 필드 유형일 수 있습니다. 다음 표에는 이러한 복잡한 필드 유형이 요약되어 있습니다.

Expand

필드 유형

해당 Java 유형

Byte Length

UnicodeECDHE Length

숫자 ECDHEt s

설명

구조

org.fusesource.camel.component.sap.model.rfc.Structure

개별 필드 바이트 길이의 합계

개별 필드 유니코드 바이트 길이의 합계

-

ABAP 유형 'u' & 'v': 이종적 structure

TABLE

org.fusesource.camel.component.sap.model.rfc.Table

행 구조의 바이트 길이

행 구조의 유니코드 바이트 길이

-

ABAP 유형 'h': 테이블

55.6.3.7. 구조 필드 유형

STRUCTURE 필드에는 구조 오브젝트가 포함되며 기본 JCo 및 ABAP 런타임에 ABAP 구조 레코드로 저장됩니다. 이는 ABAP 유형 u 또는 v 에 해당합니다. STRUCTURE 필드의 값은 Java에서 org.fusesource.camel.component.sap.model.rfc.Structure 와 함께 구조 오브젝트로 표시됩니다.

55.6.3.8. 테이블 필드 유형

CloudEvent 필드에 는 테이블 오브젝트가 포함되어 있으며 기본 JCo 및 ABAP 런타임에 ABAP 내부 테이블로 저장됩니다. 이는 ABAP 유형 h 에 해당합니다. 필드 값은 org.fusesource.camel.component.sap.model.rfc.Table 이 있는 테이블 오브젝트로 Java로 표시됩니다.

55.6.3.9. 테이블 오브젝트

테이블 개체는 동일한 구조를 가진 구조 개체의 행을 포함하는 동종 목록 데이터 구조입니다.A table object is a homogeneous list data structure containing rows of structure objects with the same structure. 이 인터페이스는 java.util.Listorg.eclipse.emf.ecore.EObject 인터페이스를 모두 확장합니다.

public interface Table<S extends Structure>
    extends org.eclipse.emf.ecore.EObject,
    java.util.List<S> {

    /**
     * Creates and adds a table row at the end of the row list
     */
    S add();

    /**
     * Creates and adds a table row at the index in the row list
     */
    S add(int index);

}
Copy to Clipboard Toggle word wrap

테이블 개체의 행 목록은 목록 인터페이스에 정의된 표준 방법을 사용하여 액세스하고 관리됩니다. 또한 테이블 인터페이스는 생성 하 고 행 목록에 구조 개체를 추가 하는 두 개의 팩터리 메서드를 제공 합니다.In addition, the table interface provides two factory methods for creating and adding structure objects to the row list.

표 객체는 Eclipse Modeling Framework (EMF)를 사용하여 구성 요소 런타임에서 구현되며 해당 프레임워크의 EObject 인터페이스를 지원합니다. 테이블 개체의 인스턴스에는 제공되는 행의 구조와 내용을 정의하고 제한하는 연결된 메타데이터가 있습니다. 이 메타데이터는 EMF에서 제공하는 표준 방법을 사용하여 액세스 및 검사할 수 있습니다. 자세한 내용은 EMF 문서를 참조하십시오.

참고

잘못된 형식의 행 구조 값을 추가하거나 설정하려고 하면 예외가 발생합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat