289.2.4. 리포지터리 구성
289.2.4.1. 개요 링크 복사링크가 클립보드에 복사되었습니다!
리포지토리의 구성은 SAP 구성 요소의 repositoryDataStore
속성에서 유지 관리됩니다. 이 맵의 각 항목은 고유한 리포지토리를 구성합니다. 각 항목의 키는 리포지토리의 이름이며 이 키는 이 리포지토리가 연결된 서버의 이름이기도 합니다.
각 항목의 값은 메타 데이터 리포지토리의 내용을 정의하는 리포지토리 데이터 구성 오브젝트 org.fusesource.camel.component.sap.model.rfc.RepositoryDataImpl
입니다. 리포지토리 데이터 오브젝트는 함수 템플릿 구성 오브젝트( org.fuesource.camel.component.sap.model.rfc.impl.FunctionImpl
)의 맵입니다. 이 맵의 각 항목은 함수 모듈의 인터페이스를 지정하고 각 항목의 키는 지정된 함수 모듈의 이름입니다.
289.2.4.2. 리포지터리 데이터 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 코드는 meta-data 리포지토리를 구성하는 간단한 예를 보여줍니다.
289.2.4.3. 함수 템플릿 속성 링크 복사링크가 클립보드에 복사되었습니다!
함수 모듈의 인터페이스는 데이터가 RFC 호출에서 함수 모듈로 전달되는 네 개의 매개 변수 목록으로 구성됩니다. 각 매개변수 목록은 하나 이상의 필드로 구성되며, 각 필드는 RFC 호출에서 전송되는 명명된 매개 변수입니다. 다음 매개변수 목록 및 예외 목록이 지원됩니다.
- import 매개변수 목록에 는 RFC 호출에서 function 모듈에 전송되는 매개변수 값이 포함되어 있습니다.
- export 매개변수 목록에 는 RFC 호출에서 function 모듈에서 반환하는 매개변수 값이 포함되어 있습니다.
- Change 매개변수 목록에 는 RFC 호출에서 function 모듈에 의해 반환되고 반환되는 매개변수 값이 포함되어 있습니다.
- table 매개 변수 목록에 는 RFC 호출에서 함수 모듈에서 보내고 반환하는 내부 테이블 값이 포함되어 있습니다.
- 또한 함수 모듈의 인터페이스는 RFC 호출에서 모듈을 호출할 때 발생할 수 있는 ABAP 예외의 예외 목록으로 구성됩니다.
함수 템플릿은 함수 인터페이스의 각 매개 변수 목록에 있는 매개 변수의 이름과 유형 및 함수에서 throw된 ABAP 예외를 설명합니다. 함수 템플릿 오브젝트는 다음 표에 설명된 대로 meta-data 오브젝트의 5개 속성 목록을 관리합니다.
속성 | 설명 |
|
목록 필드 meta-data 오브젝트, |
|
목록 필드 meta-data 오브젝트, |
|
목록 필드 meta-data 오브젝트, |
|
목록 필드 meta-data 오브젝트, |
|
ABAP 예외 meta-data 오브젝트, |
289.2.4.4. 함수 템플릿 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 함수 템플릿을 구성하는 방법에 대한 개요를 보여줍니다.
289.2.4.5. 필드 메타 데이터 속성 목록 링크 복사링크가 클립보드에 복사되었습니다!
list 필드 meta-data 오브젝트, org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMeataDataImpl
은 매개 변수 목록의 필드 이름 및 유형을 지정합니다. 기본 매개변수 필드(CHAR
,DATE
,BCD
,TIME
,BYTE
,NUM
,FLOAT
,
,INT
1INT2
,DECF16)
의 경우, DECF34
,STRING
,XSTRING
), 다음 표에는 목록 필드 메타 데이터 객체에 설정될 수 있는 구성 속성이 나와 있습니다.
이름 | 기본값 | 설명 |
| - | 매개변수 필드의 이름입니다. |
| - | 필드의 매개 변수 유형입니다. |
| - | 비유니코드 레이아웃의 필드 길이(바이트)입니다. 이 값은 매개변수 유형에 따라 다릅니다. 289.5절. “RFC에 대한 메시지 본문” 을 참조하십시오. |
| - | 유니코드 레이아웃의 필드 길이(바이트)입니다. 이 값은 매개변수 유형에 따라 다릅니다. 289.5절. “RFC에 대한 메시지 본문” 을 참조하십시오. |
|
| 필드 값의 10진수 수입니다. 매개변수 유형 BCD 및 FLOAT에만 필요합니다. 289.5절. “RFC에 대한 메시지 본문” 을 참조하십시오. |
|
|
|
모든 elementary 매개변수 필드에는 name
,type
,byteLength
및 unicodeByteLength
속성이 field meta-data 오브젝트에 지정되어야 합니다. 또한 BCD
,FLOAT
,DECF16
및 DECF34
필드에는 메타 데이터 오브젝트 필드에 10진수 속성을 지정해야 합니다.
TABLE
또는 STRUCTURE
유형의 복잡한 매개변수 필드의 경우 다음 표에는 목록 필드 meta-data 오브젝트에 설정할 수 있는 구성 속성이 나열되어 있습니다.
이름 | 기본값 | 설명 |
| - | 매개변수 필드의 이름입니다. |
| - | 필드의 매개 변수 유형입니다. |
| - |
구조 또는 테이블에 대한 메타 데이터입니다. 레코드 meta-data 오브젝트, |
|
|
|
모든 복잡한 매개변수 필드에는 meta-data 필드 필드에 이름
,유형
및 recordMetaData
속성을 지정해야 합니다. recordMetaData
속성의 값은 레코드 필드 org.fusesource.camel.component.sap.model.rfc.RecordMetaDataImpl
이며 중첩 된 구조 또는 테이블 행의 구조를 지정합니다.
289.2.4.6. elementary list 필드 meta-data 예제 링크 복사링크가 클립보드에 복사되었습니다!
다음 meta-data 구성은 TICKET_PRICE
라는 두 개의 10 자리 자리 표시자로 선택적 24digit packed BCD 번호 매개변수를 지정합니다.
289.2.4.7. 복잡한 list 필드 메타 데이터 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 meta-data 구성은 connectionInfo
레코드 meta-data 오브젝트에 지정된 행 구조를 사용하여 CONNINFO
라는 필수 TABLE
매개변수를 지정합니다.
<bean class="org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMetaDataImpl"> <property name="name" value="CONNINFO" /> <property name="type" value="TABLE" /> <property name="recordMetaData" ref="connectionInfo" /> </bean>
<bean class="org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMetaDataImpl">
<property name="name" value="CONNINFO" />
<property name="type" value="TABLE" />
<property name="recordMetaData" ref="connectionInfo" />
</bean>
289.2.4.8. record meta-data 속성 링크 복사링크가 클립보드에 복사되었습니다!
레코드 meta-data 오브젝트, org.fusesource.camel.component.sap.model.rfc.impl.RecordMetaDataImpl
.RecordMetaDataImpl 레코드는 중첩 STRUCTURE
또는 TABLE
매개변수 행의 이름 및 콘텐츠를 지정합니다. 레코드 meta-data 오브젝트는 레코드 필드 메타 데이터 오브젝트 목록, org.fusesource.camel.component.sap.model.rfc.impl.FieldMetaDataImpl
, 중첩 구조 또는 테이블 행에 상주하는 매개변수를 지정합니다.
다음 표에는 레코드 meta-data 오브젝트에 설정할 수 있는 구성 속성이 나열되어 있습니다.
이름 | 기본값 | 설명 |
| - | 레코드의 이름입니다. |
| - |
레코드 필드 meta-data 오브젝트, |
레코드 meta-data 오브젝트의 모든 속성이 필요합니다.
289.2.4.9. 레코드 meta-data 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 레코드 meta-data 오브젝트를 구성하는 방법을 보여줍니다.
289.2.4.10. 레코드 필드 메타 데이터 속성 링크 복사링크가 클립보드에 복사되었습니다!
레코드 필드 org.fusesource.camel.component.sap.model.rfc.FieldMetaDataImpl .FieldMetaDataImpl
은 구조를 사용하는 매개변수 필드의 이름과 유형을 지정합니다.
레코드 필드 meta-data 오브젝트는 중첩된 구조 또는 테이블 행의 개별 필드 위치 오프셋을 추가로 지정해야 하는 경우를 제외하고 매개변수 필드 meta-data 오브젝트와 유사합니다. 개별 필드의 비유니코드 및 유니코드 오프셋은 구조 또는 행에 있는 이전 필드의 비유니코드 및 유니코드 바이트 길이 합계에서 계산하고 지정해야 합니다. 중첩된 구조 및 테이블 행에서 필드 오프셋을 올바르게 지정하지 않으면 기본 JCo 및 ABAP 런타임의 매개변수 필드 스토리지가 겹치고 RFC 호출에서 값을 올바르게 전송하지 못하게 합니다.
기본 매개변수 필드(CHAR
,DATE
,BCD
,TIME
,BYTE
,NUM
,FLOAT
,
,INT
1INT2
,DECF16)
의 경우, DECF34
,STRING
,XSTRING
), 다음 표에서는 레코드 필드 메타 데이터 객체에 설정될 수 있는 구성 속성을 나열합니다.
이름 | 기본값 | 설명 |
| - | 매개변수 필드의 이름입니다. |
| - | 필드의 매개 변수 유형입니다. |
| - | 비유니코드 레이아웃의 필드 길이(바이트)입니다. 이 값은 매개변수 유형에 따라 다릅니다. 289.5절. “RFC에 대한 메시지 본문” 을 참조하십시오. |
| - | 유니코드 레이아웃의 필드 길이(바이트)입니다. 이 값은 매개변수 유형에 따라 다릅니다. 289.5절. “RFC에 대한 메시지 본문” 을 참조하십시오. |
| - | 비유니코드 레이아웃의 바이트 단위 필드 오프셋입니다. 이 오프셋은 포함 구조 내의 필드의 바이트 위치입니다. |
| - | 유니코드 레이아웃의 바이트 단위 필드 오프셋입니다. 이 오프셋은 포함 구조 내의 필드의 바이트 위치입니다. |
|
|
필드 값의 10진수 수입니다. 매개변수 유형 |
TABLE
또는 STRUCTURE
유형의 복잡한 매개변수 필드의 경우 다음 표에는 레코드 필드 meta-data 오브젝트에 설정할 수 있는 구성 속성이 나열되어 있습니다.
이름 | 기본값 | 설명 |
| - | 매개변수 필드의 이름입니다. |
| - | 필드의 매개 변수 유형입니다. |
| - | 비유니코드 레이아웃의 바이트 단위 필드 오프셋입니다. 이 오프셋은 포함 구조 내의 필드의 바이트 위치입니다. |
| - | 유니코드 레이아웃의 바이트 단위 필드 오프셋입니다. 이 오프셋은 포함 구조 내의 필드의 바이트 위치입니다. |
| - |
구조 또는 테이블에 대한 메타 데이터입니다. 레코드 meta-data 오브젝트, |
289.2.4.11. elementary record 필드 meta-data 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 메타 데이터 구성은 비유 비유 레이아웃의 경우 ARRDATE
라는 DATE
필드 매개 변수를 85바이트로 지정하고 유니코드 레이아웃의 경우 170바이트를 인클로딩 구조로 지정합니다.
289.2.4.12. 복잡한 레코드 필드 메타 데이터 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 meta-data 설정은 flightInfo
레코드 meta-data 개체에 의해 지정된 구조가 있는 FLTINFO
라는 STRUCTURE
필드 매개변수를 지정합니다. 이 매개 변수는 비유니코드 및 유니코드 레이아웃의 경우 모두 포함된 구조의 시작 부분에 있습니다.