다음을 통해 공유


EDI 헤더 및 트레일러

EDI 교환의 부분은 X12 또는 EDITFACT 표준을 준수해야 하는 헤더와 트레일러에 의해 구분됩니다. 교환 컨트롤 헤더 및 트레일러는 한 번만 발생합니다. 즉, 트랜잭션 집합과 그룹이 교환 내에서 일괄 처리되면 기능 그룹 및 트랜잭션 집합 헤더 및 트레일러가 반복됩니다. 헤더와 트레일러는 각각 헤더 및 트레일러에 포함된 콘텐츠 정보가 있는 일련의 데이터 요소로 구성됩니다.

X12용 헤더 및 트레일러와 EDIFACT용 헤더 및 트레일러는 비슷합니다. 주요한 차이점은 EDIFACT의 UNA 서비스 문자열 도움말 헤더입니다. 여기에는 교환에 사용하는 구분 기호가 정의되어 있습니다. X12 인코딩에서 구분 기호는 ISA 교환 컨트롤 헤더에 정의되어 있습니다.

교환 컨트롤 및 기능 그룹 헤더와 트레일러는 봉투(Envelope) 세그먼트로 표시됩니다. BizTalk Server가 들어오는 교환을 트랜잭션 집합으로 분할하면 이러한 봉투(Envelope) 세그먼트를 컨텍스트 속성으로 저장합니다. 라우팅에 유용한 주요 봉투(Envelope) 속성은 개별 속성으로 사용할 수 있습니다. 교환이 보존되면 이 작업은 발생하지 않습니다. 이 경우 봉투(Envelope) 데이터가 메시지 자체에 속하게 됩니다.

BizTalk Server 보내는 메시지를 생성할 때 거래 업체 계약(또는 당사자가 결정되지 않은 경우 글로벌 계약)에 헤더와 트레일러를 기반으로 합니다.

헤더 및 트레일러 필드와 구분 기호 문자는 교환에서 이들을 구분하는 데 사용되며 둘 다 두 파티 간의 규약에 정의되어 있습니다. 규약에 정의한 대로 구분 기호 문자는 교환, 그룹이나 트랜잭션 집합 헤더 또는 트레일러 필드 정의에 사용하면 안 됩니다. 구분 기호 문자가 사용되면 송신 BizTalk Server의 EDI 어셈블러 또는 수신 파티의 디스어셈블러에서 교환이 처리되지 않습니다. 교환이 아웃바운드 일괄 처리인 경우 EDI 어셈블러에서 교환이 실패합니다. 어셈블러가 헤더 컨트롤(서비스) 스키마에 대해 봉투(Envelope)의 유효성을 검사하기 때문입니다. 교환이 일괄 처리되지 않으면 EDI 어셈블러가 이를 serialize하지만 수신 규약에서 디스어셈블러 처리가 실패합니다.

X12 헤더 및 트레일러

X12로 인코딩된 메시지에 대한 헤더와 트레일러는 다음과 같습니다.

ISA Interchange Control Header  
  GS Functional Group Header  
    ST Transaction Set Header  
    SE Transaction Set Trailer  
  GE Functional Group Trailer  
IEA Interchange Control Trailer  

ISA 헤더 다음에 바로 IEA 트레일러가 표시되면 교환은 빈 상태가 됩니다. 트랜잭션 집합이 존재하면 GS 헤더와 GS 트레일러가 나타나야 합니다. 그렇지 않으면 GS 헤더와 GS 트레일러가 조건부입니다.

X12로 인코딩된 메시지의 ISA 교환 컨트롤 헤더 필드는 고정 길이입니다. 일부 필드에 한해 필드의 고정 길이보다 짧은 값을 입력할 수 있습니다. 이렇게 할 경우 교환에는 후행 공백(문자열 필드의 경우) 또는 선행 0(숫자 필드의 경우)이 포함되어 각 필드가 필수 길이가 되어야 합니다. 아웃바운드 교환을 만들 때 BizTalk Server 후행 공백 또는 선행 0으로 들어가 올바른 길이의 교환 컨트롤 헤더를 만듭니다. GS 그룹 헤더 필드와 ST 트랜잭션 집합 헤더 필드는 고정 길이가 아닙니다.

X12 인코딩에서 기능 보안 헤더, 기능 보증 헤더, 기능 보안 값 세그먼트 및 기능 보안 트레일러 세그먼트는 BizTalk Server EDI 및 AS2의 scope 초과합니다. 이러한 세그먼트가 있는 교환이 수신되면 교환이 일시 중단되고 알 수 없는 세그먼트임을 나타내는 오류 로그가 생성됩니다.

ST01 필드는 트랜잭션 집합 ID 코드이며, ST02 필드는 트랜잭션 집합 컨트롤 번호입니다. ST03 필드는 스키마 버전 식별자입니다. SE01 필드는 트랜잭션 집합에 포함된 세그먼트 수를 나타내고, SE02 필드는 ST02 필드(트랜잭션 집합 컨트롤 번호)와 같습니다. 들어오는 메시지를 구문 분석할 때 BizTalk Server 트랜잭션 집합의 세그먼트 수가 SE01 필드의 값에 해당하는지 확인합니다. 나가는 메시지를 생성할 때 BizTalk Server SE01 필드를 트랜잭션 집합의 올바른 세그먼트 수로 설정합니다.

보내는 EDI 교환으로 직렬화될 XML 트랜잭션 집합에는 트랜잭션 집합 헤더와 트레일러가 있어야 합니다. 그러나 트랜잭션 집합 헤더 또는 트레일러가 없는 경우 EDI 어셈블러가 메시지를 처리합니다. X12 및 EDIFACT 스키마에서 트랜잭션 집합 헤더 및 트레일러 세그먼트는 XML 트랜잭션 집합의 선택 사항입니다. 트랜잭션에 헤더나 트레일러가 없는 경우 EDISend 또는 AS2EDISend 송신 파이프라인의 EDI 어셈블러는 트랜잭션 집합 헤더와 트레일러 값을 추가합니다. 이러한 값은 매핑 또는 계산을 기반으로 하며, EDI 어셈블러는 교환 XML(보존된 일괄 처리), 일괄 처리 트랜잭션 집합 XML, 트랜잭션 집합 XML에 대해 이 작업을 수행합니다. 자세한 내용은 X12 트랜잭션 집합 헤더 및 트레일러 세그먼트 또는 EDIFACT 트랜잭션 집합 헤더 및 트레일러 세그먼트를 참조하세요.

EDIFACT 헤더 및 트레일러

EDIFACT로 인코딩된 메시지에 대한 헤더와 트레일러는 다음과 같습니다.

UNA Service String Advice  
UNB Interchange Control Header  
  UNG Functional Group Header  
    UNH Message Header  
    UNT Message Trailer  
  UNE Functional Group Trailer  
UNZ Interchange Control Trailer  

UNA 헤더는 필요하지 않습니다. UNB 헤더가 필요합니다. UNA 헤더가 나타나면 이 헤더에는 들어오는 메시지를 처리할 때 사용할 구분 기호가 포함되어 있습니다. 그렇지 않으면 EfactDelimiters 파이프라인 속성에 대해 정의된 구분 기호가 됩니다.

UNB 헤더 다음에 바로 UNZ 트레일러가 표시되면 교환은 빈 상태가 됩니다. UNG 헤더 다음에 바로 UNE 트레일러가 표시되면 그룹은 빈 상태가 됩니다. UNG 헤더 및 UNE 트레일러 쌍은 조건부이며 메시지에 반드시 표시할 필요는 없습니다.

참고 항목

EDI 메시지 구조