EDI 유형(데이터 요소) 유효성 검사
EDI 수신 파이프라인과 EDI 송신 파이프라인은 트랜잭션 집합 데이터 요소에 대한 EDI 유효성을 검사합니다. 이 유효성 검사는 유효성 검사 페이지의 해당 당사자의 계약 속성(X12 또는 EDIFACT 계약에 대한 트랜잭션 설정 설정 섹션 아래)을 통해 특정 당사자의 모든 메시지에 대해 구성됩니다. 유효성 검사 페이지에서 EDI 형식 유효성 검사 속성을 선택하지 않으면 이 항목에 설명된 데이터 유효성 검사가 수행되지 않습니다.
규약 속성 대화 상자에서 양방향 규약 탭의 유효성 검사 페이지에서 EDI 형식 유효성 검사 속성을 선택하여 들어오는 메시지와 나가는 메시지에 대해 EDI 형식 유효성 검사를 사용할 수 있습니다. 들어오는 메시지와 나가는 메시지에 대해 이 속성은 기본적으로 선택되므로 EDI 유효성 검사는 기본적으로 사용하도록 설정됩니다.
유효성 검사
EDI 수신 파이프라인이나 EDI 송신 파이프라인은 EDI 유효성을 검사할 때 다음 항목을 검사합니다.
스키마의 EDI 속성으로 정의된 데이터 유형
길이 제한
빈 데이터 요소 및 후행 구분 기호
참고
이 유효성 검사에서는 코드 집합(열거)이나 Min 또는 Max Occurs를 검사하지 않습니다.
문자 집합
EDI 데이터 요소 유효성 검사를 수행하려면 EDI 수신 및 송신 파이프라인에서 다음과 같이 문자 집합을 설정해야 합니다.
EDIFACT의 경우 문자 집합은 규약 속성 대화 상자의 단방향 규약 탭 또는 EDIFACT 대체 설정 대화 상자(규약이 설정되지 않은 경우)의 문자 집합 및 구분 기호 페이지의 데이터 요소 UNB1에 설정됩니다.
KEDIFACT의 경우 문자는 EDIFACT와 같이 규약 속성 대화 상자의 단방향 규약 탭에 있는 문자 집합 및 구분 기호 페이지의 데이터 요소 UNB1에 설정됩니다. UNB1.1 요소의 값은 로 설정
KECA
해야 합니다.X12의 경우 문자 집합은 파이프라인 속성에서 메시지에 대해 설정됩니다.
참고
BizTalk 런타임은 메시지의 EDI 유효성 검사를 수행할 경우 파이프라인 속성에서 선택한 X12 문자 집합을 사용합니다. 그러나 규약 속성 대화 상자의 페이지에 입력한 속성의 유효성 검사는 해당 대화 상자의 문자 집합 및 구분 기호 페이지에서 선택한 문자 집합을 사용하여 수행됩니다. 런타임 동안 파이프라인은 규약 속성 대화 상자의 X12 문자 집합 속성 Charset 및 구분 기호 페이지의 값을 무시합니다. 이러한 두 설정이 동일하지 않은 경우(즉, 규약 속성 대화 상자의 X12 문자 집합 속성이 확장 으로 설정되고 파이프라인 속성의 X12 문자 속성이 기본으로 설정된 경우) 메시지 유효성 검사 오류가 발생할 수 있습니다.
데이터 형식 유효성 검사
X12의 경우 수신 또는 송신 파이프라인의 디스어셈블러/어셈블러 구성 요소에 의해 유효성이 검사되도록 스키마에서 EDI 데이터 유형 Numeric, Decimal, Identifier, String, Date, Time, Binary 및 Composite에 주석이 추가됩니다.
EDIFACT의 경우 수신 또는 송신 파이프라인의 디스어셈블러/어셈블러 구성 요소에 의해 유효성이 검사되도록 스키마에서 EDI 데이터 유형 Alphabetic, Numeric, Identifier, String 및 Composite에 주석이 추가됩니다.
길이 제한
X12 및 EDIFACT의 경우 요소나 하위 요소의 길이(최소 및 최대) 요구 사항에 대한 유효성이 검사되어야 합니다. 길이는 사용되는 문자 위치의 수로 정의됩니다. 부호와 소수 표기법은 길이에 포함되지 않습니다.
참고
X12_AN 문자열 데이터 유형의 경우 최소 길이 요구 사항을 충족하기 위해 모든 세그먼트에서 선행 공백이 유지되고 후행 공백이 허용됩니다.
KECA의 경우 길이는 바이트 수로 해석됩니다. 예를 들어 길이가 3으로 정의되어 있으면 요소나 하위 요소에는 1바이트 문자 3개나 2바이트 문자 1개와 1바이트 문자 1개의 조합이 포함될 수 있습니다.
빈 데이터 요소 및 후행 구분 기호 유효성 검사
X12의 경우 필수로 표시된 데이터 요소는 세그먼트가 있으면 인스턴스에서 비어 있을 수 없습니다. 데이터 요소가 복합 요소이면 적어도 하나의 구성 요소 데이터 요소의 값이 지정되어야 합니다.
EDIFACT의 경우 값이 지정되지 않은 조건부 데이터 요소(및 하위 구성 요소)가 제외될 수 있지만 구분 기호는 유지됩니다.
후행 구분 기호는 X12 또는 EDIFACT에 반드시 필요하지는 않지만 권장됩니다.
EDI 유형 유효성 검사가 해제된 경우
EDI 유형 유효성 검사를 비활성화하는 경우 EDI 수신 파이프라인이나 EDI 송신 파이프라인은 메시지 처리를 일시 중단하지 않고 EDI 유형 유효성 검사에서 검사된 오류가 있는 데이터 요소를 처리합니다.
참고
EDI 구조 유효성 검사는 EDI 유형 유효성 검사가 해제된 경우에도 수행됩니다. EDI 유형 유효성 검사를 사용하지 않더라도 기본 구조 유효성 검사가 실패한 교환은 일시 중단됩니다.
메시지를 일시 중단시키지 않고 처리될 일부 오류는 다음과 같습니다.
예기치 않은/정의되지 않은 트랜잭션 집합
세그먼트/루프 및 데이터 요소 수준의 예기치 않은/정의되지 않은 데이터
세그먼트/루프 및 데이터 요소 수준의 옵션(Min 및 Max Occurs)
데이터 요소 수준의 길이(최소/최대) 위반(최대 수준을 초과하거나 최소 수준 미만인 길이의 데이터)
데이터 요소 수준의 데이터 유형 불일치(자체 컨트롤이 있는 ID 데이터 유형 제외)
데이터 요소 수준의 잘못된 열거 목록
EDI 유형 유효성 검사가 수신 측에서 해제되었지만 송신 측에서는 설정된 경우 XML 파일에 오류가 포함되어 있으면 EDI 송신 파이프라인이 수신 파이프라인에서 생성된 XML을 유효한 EDI 파일로 다시 처리할 수 없습니다. 이로 인해 송신 파이프라인에서 오류를 발생합니다.
EDI 유형 유효성 검사가 해제된 경우 EDI 수신 파이프라인 또는 송신 파이프라인은 다음과 같이 오류를 처리합니다.
예기치 않은 데이터 | 작업 |
---|---|
예기치 않은/정의되지 않은 트랜잭션 집합 | EDI 수신 또는 송신 파이프라인은 트랜잭션 집합의 스키마가 배포되지 않은 경우에도 트랜잭션 집합을 수락합니다. |
예기치 않은 세그먼트/레코드 | 수신 파이프라인은 UnexpectedSegment_%SegmentID%>라는 적절한 접두사를 <사용하여 태그를 생성합니다. 송신 파이프라인은 XML 태그 이름의 처음 1-3개 문자를 세그먼트 이름으로 사용합니다. |
예기치 않은 단순 데이터 요소 | 수신 파이프라인은 세그먼트의 데이터 요소 위치를 나타내는 접두사, 세그먼트 식별자 및 인덱스가 있는 <XML 태그를 생성합니다( UnexpectedDataElement_%FieldName%). |
예기치 않은 복합 데이터 요소 | 수신 파이프라인은 세그먼트의 데이터 요소 위치를 나타내는 접두사, 세그먼트 식별자 및 인덱스가 있는 <XML 태그를 생성합니다( UnexpectedCompositeDataElement_%FieldName%). |
누락된 필수 데이터 | 파이프라인은 해당 데이터를 선택 항목으로 처리합니다. |
데이터 요소 길이 위반 | 파이프라인은 잘못된 데이터 요소 길이를 유효한 것으로 처리합니다(min = 0 및 max = unbounded). |
인스턴스의 잘못된 열거 값(ID 데이터 유형에 적용 가능) | 파이프라인은 오류를 무시하고 처리를 계속합니다. |
인스턴스의 ‘최대’ 반복 위반 | 파이프라인은 이러한 반복 데이터를 유효한 것으로 처리합니다(Min Occurs = 0 및 Max Occurs = unbounded). |
오류 보고
EDI 형식 유효성 검사를 해제하면 BizTalk Server 이벤트 뷰어 오류를 보고하지 않지만 경고를 보고합니다. 또한 승인에서는 X12 997의 경우 AK501 및 AK901을 “E”로 설정하고 EDIFACT CONTRL의 경우 UCI.4, UCM.3 및 UCF.4를 “7”로 설정하여 소스 파티에 ‘수락’을 보고합니다. 이에 따라 이후 전송에서 수정될 기회가 없어집니다. 그러나 메시지를 받는 사람은 메시지 거부나 일시 중단보다는 수동 개입을 통해 문서를 복구할 기회를 갖게 됩니다. Edi.ErrorsInTransactionSet
또한 EDI 수신 파이프라인에서 이러한 오류가 발생하는 경우 컨텍스트 속성이 승격됩니다. 이 속성은 EDI 또는 확장 유효성 검사 오류가 발생하면 "True"로 승격됩니다. 오류가 발생하지 않으면 이 속성은 "False"로 승격됩니다.
수신 또는 송신 파이프라인은 예기치 않은 데이터를 발견할 경우 다음과 같이 상위 수준에서 오류를 보고하고 하위 수준 오류를 무시합니다.
예기치 않은 데이터 | 작업 |
---|---|
예기치 않은 트랜잭션 집합 | 승인에서 이 오류를 보고하고 세그먼트/루프 및 데이터 요소 수준에서 이후 오류를 무시합니다. |
예기치 않은 세그먼트/루프 | 승인에서 이 오류를 보고하고 데이터 요소 수준에서 오류를 무시합니다. |
예기치 않은 데이터 요소 | 승인에서 이 오류를 보고하고 ID, 길이, Min 및 Max Occurs 등의 속성과 관련된 복합 오류와 복합 데이터 요소 필드(해당하는 경우)와 관련된 오류를 무시합니다. |