다음을 통해 공유


EDI 헤더 재정의

EDI로 인코딩된 교환을 보낼 때 메시지에 적용되는 EDI 봉투(Envelope)는 일반적으로 수신 규약의 EDI 속성이나 대체(Fallback) 규약 속성을 기반으로 합니다. 그러나 런타임에 생성된 값을 기반으로 EDI 봉투 속성을 설정하는 것이 유용한 경우도 있습니다.

BizTalk Server EdiOverride 컨텍스트 속성을 사용하여 아웃바운드 문서에서 EDI 봉투를 생성하는 데 사용되는 값을 지정할 수 있습니다.

EdiOverride 컨텍스트 속성 사용

EdiOverride 컨텍스트 속성을 사용하면 EDI 봉투를 생성하는 데 사용되는 값을 모두 또는 일부 재정의할 수 있습니다. EDI 송신 파이프라인에서는 올바른 값이 있는 EdiOverride 컨텍스트 속성을 사용하여 봉투를 생성합니다. 속성이 채워져 있지 않으면 파이프라인에서는 규약 속성에 지정된 값을 사용하거나 규약이 정의되지 않은 경우 대체 규약 속성에 지정된 값을 사용합니다. 속성에 잘못된 값이 있으면 파이프라인에서는 메시지를 일시 중단하고 유효성 검사 오류를 보고합니다.

참고

EdiOverride 컬렉션에 지정된 값은 속성이 메시지 컨텍스트에 기록되고 값이 "True"인 경우에만 EdiOverride.OverrideEdiHeader 사용됩니다.

기본값은 설정되어 있지 않습니다.

X12 봉투 값에 대한 EdiOverride 속성

다음 표에서는 EdiOverride 컨텍스트 속성과 그에 해당하는 X12 봉투 헤더를 보여 줍니다.

헤더 속성
교환 컨트롤 헤더(ISA) ISA01, ISA02, ISA03, ISA04, ISA05, ISA06, ISA07, ISA08, ISA09, ISA10, ISA11, ISA12, ISA13, ISA14, ISA15, ISA16
기능 그룹 헤더(GS) GS01, GS02, GS03, GS04, GS05, GS06, GS07, GS08
트랜잭션 집합 헤더 ST02

EDIFACT 봉투 값에 대한 EdiOverride 속성

다음 표에서는 EdiOverride 컨텍스트 속성과 그에 해당하는 EDIFACT 봉투 세그먼트를 보여 줍니다.

Segment 속성
서비스 문자열 도움말(UNA) UNA1, UNA2, UNA3, UNA4, UNA5, UNA6, UNA6Suffix
교환 컨트롤 헤더(UNB) UNB1_1, UNB1_2, UNB2_1, UNB2_2, UNB2_3, UNB3_1, UNB3_2, UNB3_3, UNB4_1, UNB4_2, UNB5, UNB6_1, UNB7, UNB8, UNB9, UNB10, UNB11
기능 그룹 헤더(UNG) UNG1, UNG2_1, UNG2_2, UNG3_1, UNG3_2, UNG4_1, UNG4_2, UNG5, UNG6, UNG7_1, UNG7_2, UNG7_3, UNG8
메시지 헤더(UNH) UNH1

UNA 및 UNG EDIFACT 세그먼트는 선택 사항이므로 GenerateUNA 및 GenerateUNG 속성을 사용하여 UNA 세그먼트 규약 적용 설정에 관계없이 이러한 헤더가 생성되는지 확인할 수 있습니다. 다음 표에서는 이러한 세그먼트가 생성되도록 하는 값을 보여 줍니다.

GenerateUNA 컨텍스트 속성 UNA 세그먼트 적용 규약 설정 엔진 동작
TRUE CHECKED UNA 생성
TRUE UNCHECKED UNA 생성
FALSE CHECKED UNA 생성 안 함
FALSE UNCHECKED UNA 생성 안 함
없음(OverrideEDIHeader가 false임) CHECKED UNA 생성
없음(OverrideEDIHeader가 false임) UNCHECKED UNA 생성 안 함
GenerateUNG 컨텍스트 속성 UNG 세그먼트 적용 규약 설정 엔진 동작
TRUE CHECKED UNG 생성
TRUE UNCHECKED UNG 생성
FALSE CHECKED UNG 생성 안 함
FALSE UNCHECKED UNG 생성 안 함
없음(OverrideEDIHeader가 false임) CHECKED UNG 생성
없음(OverrideEDIHeader가 false임) UNCHECKED UNG 생성 안 함

그룹 봉투

교환에는 둘 이상의 그룹이 있을 수 있으므로 그룹 봉투를 사용할 경우 특별한 문제가 있을 수 있습니다. 이를 해결하기 위해 EDI 송신 파이프라인에서는 교환에 포함된 모든 그룹에 봉투를 적용하거나 교환에 포함된 유일한 그룹에 봉투를 적용할 수 있습니다.

단일 트랜잭션의 경우 모든 GS 또는 UNG 필드를 재정의할 수 있으며, 일괄 처리 교환의 경우 다음 필드만 재정의할 수 있습니다.

  • GS04

  • GS05

  • UNG4_1

  • UNG4_2

일괄 처리

일괄 처리된 메시지에 대해 트랜잭션 집합 컨트롤 번호를 재정의하는 작업은 일괄 처리 오케스트레이션에 의해 처리됩니다. 일괄 처리할 메시지의 컨텍스트에 다음 속성을 기록하여 트랜잭션 집합 컨트롤 번호를 재정의할 수 있습니다.

  • ST02(X12 메시지의 경우)

  • UNH1(EDIFACT 메시지의 경우)

참고

들어오는 여러 메시지에 동일한 그룹의 동일한 컨트롤 번호가 있는 경우 중복 번호가 있는 메시지는 일시 중단됩니다.

참고

일괄 처리할 메시지의 경우 EdiOverride 컨텍스트 속성 ISA, UNA, GS 또는 UNG를 승격하지 마십시오. 이러한 속성을 재정의해야 하는 경우에는 일괄 처리 오케스트레이션의 출력 메시지를 EDI 송신 파이프라인으로 보내기 전에 출력 메시지에서 속성을 승격해야 합니다.

구분 기호 충돌

UNA 헤더와 같은 구분 기호에는 각 필드마다 고유한 값이 있어야 합니다. UNA 헤더와 같은 구분 기호 값을 재정의할 때는 각 구분 기호 값이 재정의하는 값 범위 내에서 고유할 뿐 아니라 규약 또는 대체 규약 설정에서 사용되는 구분 기호 값 간에도 고유한지 확인해야 합니다.

예를 들어 UNA1, UNA2 및 UNA4를 재정의하며 UNA3, UNA5, UNA6 및 UNA6Suffix는 규약 속성에서 가져오는 경우 각 속성에는 다른 속성과 비교할 때 고유한 값이 있어야 합니다.

참고 항목

BizTalk Server에서 EDI 메시지를 보내는 방법