SegmentHandler API - 범위 지정됨
특정 운영에 대한 IDoc 페이로드를 빌드하기 위한 체인 가능한 API를 제공하는 스크립트 포함.
이 스크립트 포함에는 (com.sn_erp_integration) 스토어 애플리케이션이 필요 ERP용 제로 카피 커넥터 하며 sn_erp_integration 네임스페이스 내에서 제공됩니다. 자세한 내용은 Zero Copy Connector for ERP 문서를 참조하십시오.
필요한 역할: sn_erp_integration.erp_user
- 루트 데이터 객체와 IDoc 세그먼트 스키마를 소유합니다.
- 최상위 세그먼트를 생성할 수 있습니다. 예를 들어
E1EDK01,E1EDP01등이 있습니다.
sn_erp_integration API - 범위, 전역 또한 참조하십시오.
SegmentHandler - SegmentHandler(문자열 operationId)
IDoc 작업에 바인딩된 새 SegmentHandler 객체를 인스턴스화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| operationId | 문자열 | 구성된 ERP 모델 운영의 sys_id입니다. 테이블: ERP 모델 운영 [sn_erp_integration_model_operation] |
다음 예제에서는 하나의 Fluent 체인에 중첩된 세그먼트가 있는 헤더와 항목을 빌드하는 방법을 보여줍니다. 구조는 구성된 스키마에 따라 달라집니다. 스키마 패턴은 배열이 중첩된 세그먼트의 배열입니다.
let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');
obj.addSegment("E1EDK01")
.addField("BELNR", "1000")
.addField("CURCY", "USD")
.endSegment()
.addSegment("E1EDP01")
.addField("MENGE", "50")
.addField("POSEX", "0010")
.addSegment("E1EDP20")
.addField("AMENG", "10")
.addField("WMENG", "5")
.addSegment("E1EDP19")
.addField("IDTNR", "MAT01")
.endSegment()
.endSegment()
.endSegment();
gs.info(JSON.stringify(obj.getData(), null, 2));
출력:
{
"data": {
"E1EDK01": [{
"BELNR": "1000",
"CURCY": "USD"
}],
"E1EDP01": [{
"MENGE": "50",
"POSEX": "0010",
"E1EDP20": [{
"AMENG": "10",
"WMENG": "5",
"E1EDP19": [{
"IDTNR": "MAT01"
}]
}]
}]
}
}
SegmentHandler - addSegment(문자열 segmentName, 객체 값)
segmentName 유형의 미리 정의된 최상위 세그먼트를 페이로드에 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 세그먼트 이름 | 문자열 | 최상위 세그먼트의 이름입니다. |
| 값 | 객체 | addField() 메서드 대신 선택적 구현입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 새 세그먼트 인스턴스에 대한 SegmentHandle입니다. |
다음 예제에서는 하나의 Fluent 체인에 중첩된 세그먼트가 있는 헤더와 항목을 빌드하는 방법을 보여줍니다. 구조는 구성된 스키마에 따라 달라집니다. 스키마 패턴은 배열이 중첩된 세그먼트의 배열입니다.
let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');
obj.addSegment("E1EDK01")
.addField("BELNR", "1000")
.addField("CURCY", "USD")
.endSegment()
.addSegment("E1EDP01")
.addField("MENGE", "50")
.addField("POSEX", "0010")
.addSegment("E1EDP20")
.addField("AMENG", "10")
.addField("WMENG", "5")
.addSegment("E1EDP19")
.addField("IDTNR", "MAT01")
.endSegment()
.endSegment()
.endSegment();
gs.info(JSON.stringify(obj.getData(), null, 2));
출력:
{
"data": {
"E1EDK01": [{
"BELNR": "1000",
"CURCY": "USD"
}],
"E1EDP01": [{
"MENGE": "50",
"POSEX": "0010",
"E1EDP20": [{
"AMENG": "10",
"WMENG": "5",
"E1EDP19": [{
"IDTNR": "MAT01"
}]
}]
}]
}
}
SegmentHandler - getData()
빌드된 세그먼트 페이로드를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 | 세그먼트 데이터를 포함하는 객체입니다. |
| 데이터 | 모든 최상위 및 중첩된 세그먼트를 포함하는 페이로드 객체의 래퍼입니다.
정확한 구조는 구성된 스키마에 따라 다르지만 패턴(중첩된 배열이 있는 세그먼트의 배열)은 동일합니다. 데이터 유형: 객체 |
다음 예제에서는 하나의 Fluent 체인에 중첩된 세그먼트가 있는 헤더와 항목을 빌드하는 방법을 보여줍니다. 구조는 구성된 스키마에 따라 달라집니다. 스키마 패턴은 배열이 중첩된 세그먼트의 배열입니다.
let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');
obj.addSegment("E1EDK01")
.addField("BELNR", "1000")
.addField("CURCY", "USD")
.endSegment()
.addSegment("E1EDP01")
.addField("MENGE", "50")
.addField("POSEX", "0010")
.addSegment("E1EDP20")
.addField("AMENG", "10")
.addField("WMENG", "5")
.addSegment("E1EDP19")
.addField("IDTNR", "MAT01")
.endSegment()
.endSegment()
.endSegment();
gs.info(JSON.stringify(obj.getData(), null, 2));
출력:
{
"data": {
"E1EDK01": [{
"BELNR": "1000",
"CURCY": "USD"
}],
"E1EDP01": [{
"MENGE": "50",
"POSEX": "0010",
"E1EDP20": [{
"AMENG": "10",
"WMENG": "5",
"E1EDP19": [{
"IDTNR": "MAT01"
}]
}]
}]
}
}