연습(X12): 일괄 처리된 EDI 교환 수신
이 연습에서는 BizTalk Server 사용하여 EDI 일괄 처리를 수신하기 위한 솔루션을 만드는 일련의 단계별 프로시저를 제공합니다. 이 솔루션은 일괄 처리된 EDI 교환을 수신하는 다음 두 가지 방법을 보여 줍니다.
일괄 처리를 구성 트랜잭션 집합으로 분할
트랜잭션 집합으로 분할하지 않고 하나의 문서로 처리하여 교환 유지
이 연습에서는 일괄 처리 분할 및 유지를 구성하는 방법을 보여 줍니다.
필수 구성 요소
BizTalk Server 관리자 또는 BizTalk Server B2B 운영자 그룹의 구성원으로 로그온해야 합니다.
솔루션에서 수신된 EDI 일괄 처리를 분할하는 방법
일괄 처리된 교환을 구성 트랜잭션 집합으로 분할하도록 솔루션을 구성한 경우 솔루션에서 다음을 수행합니다.
수신 위치에서 파티로부터 여러 트랜잭션 집합이 있는 일괄 처리된 EDI 교환을 수신합니다.
참고
이 목록의 이벤트가 표시된 순서대로 발생하지 않을 수도 있습니다.
수신 파이프라인이 수신된 교환을 구성 트랜잭션 집합으로 분할하여 트랜잭션 집합을 내부 XML 형식으로 변환합니다.
수신 파이프라인이 전체 교환 및 그룹 헤더를 교환에서 분할된 각 트랜잭션 집합의 컨텍스트로 승격합니다. 또한 ISA6, GS1 및 GS2와 같은 특정 교환 및 그룹 헤더를 승격하여 이러한 필드를 라우팅에 사용할 수 있도록 합니다.
수신 파이프라인이 각 트랜잭션 집합 XML 파일을 MessageBox에 넣습니다.
참고
이 솔루션에서는 일괄 처리에 같은 메시지 유형의 여러 인스턴스가 포함되어 있습니다.
송신 포트가 해당 컨텍스트 속성에 등록하여 각 트랜잭션 집합을 선택합니다.
송신 파이프라인이 각 트랜잭션 집합을 EDI 교환으로 빌드한 다음 대상으로 교환을 보냅니다.
참고
BizTalk Server 트랜잭션 집합을 일괄 처리로 분할하는 방법에 대한 자세한 내용은 Batched EDI 교환 분할을 참조하세요.
다음 그림은 일괄 처리된 교환의 트랜잭션 집합을 분할하도록 구성된 솔루션의 아키텍처 및 메시지 흐름을 보여 줍니다.
솔루션에서 수신된 EDI 일괄 처리를 유지하는 방법
일괄 처리된 교환을 유지하도록 솔루션을 구성한 경우 솔루션에서 다음을 수행합니다.
수신 위치에서 파티로부터 여러 트랜잭션 집합이 있는 일괄 처리된 EDI 교환을 수신합니다.
수신 파이프라인이 트랜잭션 집합을 분할하지 않고 교환을 처리하여 두 트랜잭션 집합을 하나의 단위로 내부 XML 형식으로 변환합니다.
수신 파이프라인이 교환이 일괄 처리가 아닌 것처럼 동일한 속성을 승격합니다. 단, 생성한 XML에 예약된 태그가 적용됩니다. 이 태그는 <X12로 인코딩된 EDI 교환의 경우 X12InterchangeXml> 이고 <EDIFACT로 인코딩된 EDI 교환의 경우 EdifactInterchangeXml> 입니다. 또한 EDI 수신 파이프라인은 컨텍스트 속성을
ReuseEnvelope
적용하여 교환을 보존된 것으로 식별합니다.참고
EDI 송신 파이프라인은 X12InterchangeXml> 또는 <EdifactInterchangeXml> 태그를 사용하여 <메시지를 보존된 일괄 처리로 식별합니다.
ReuseEnvelope
컨텍스트 속성을 사용하면 유지되는 모든 일괄 처리된 교환을 구독하는 송신 포트를 만들 수 있습니다.수신 파이프라인이 메시지 XML 파일을 MessageBox에 넣습니다.
송신 포트가 해당 컨텍스트 속성에 등록하여 교환을 선택합니다.
송신 파이프라인이 XML 파일의 두 트랜잭션 집합을 일괄 처리된 EDI 교환으로 빌드한 다음 대상으로 교환을 보냅니다.
참고
BizTalk Server 보존된 일괄 처리를 처리하는 방법에 대한 자세한 내용은 수신된 일괄 처리 EDI 교환 유지를 참조하세요.
이 솔루션의 기능
이 연습에서는 다음 기능이 사용됩니다.
이 솔루션은 EDIFACT 인코딩이 아니라 X12 인코딩을 사용한 교환을 위해 작성되었습니다.
참고
HIPAA 및 EDIFACT 인코딩에 사용되는 구성은 X12 인코딩에 사용되는 구성과 거의 동등합니다.
기술 승인 또는 기능 승인은 원래 수신된 교환 또는 전송된 일괄 처리된 교환에 대한 응답으로 반환되지 않습니다.
참고
EDI 승인을 생성하는 방법에 대한 자세한 내용은 연습(X12): EDI 교환 수신 및 승인 다시 보내기를 참조하세요.
이 솔루션은 단방향 수신 포트와 정적 단방향 송신 포트를 사용합니다. 이러한 포트는 FILE 전송 방식으로 구성됩니다.
EDI 보고를 사용할 수 있습니다.
교환 상태 보고서에서 볼 수 있도록 트랜잭션 집합이 저장됩니다.
테스트를 위해 이 솔루션에서는 송신 포트를 사용하여 분할된 교환 또는 유지된 일괄 처리를 로컬 폴더로 보냅니다.
연습 구성 및 테스트
이 솔루션에 필요한 절차에는 다음이 포함됩니다.
BizTalk 프로젝트에 필요한 메시지 스키마를 추가한 다음 프로젝트를 빌드 및 배포하여 BizTalk Server 메시지 처리에 스키마를 사용할 수 있도록 합니다.
파티로부터 EDI X12로 인코딩된 .txt 일괄 처리된 입력 메시지를 수신하는 BizTalk Server 수신 포트를 만듭니다.
BizTalk Server 대한 송신 포트를 만들어 일괄 처리에서 받은 각 트랜잭션 집합에서 교환을 빌드하거나(일괄 처리를 분할하는 경우) 받은 일괄 처리의 트랜잭션 집합에서 단일 교환을 빌드합니다(일괄 처리를 유지하는 경우). 그러면 송신 포트가 대상 파티로 교환을 보냅니다. 이 송신 포트는 정적 단방향 송신 포트입니다.
파티 A와 파티 B 둘 다에 대해 파티(거래 업체)를 만듭니다.
두 거래 업체에 대해 각각 비즈니스 프로필을 만듭니다.
교환을 분할하거나 유지하는 방식으로 메시지를 받도록 EDI 속성을 구성하여 두 프로필 간의 규약을 만듭니다.
일괄 처리된 EDI 교환 하나를 수신 위치와 연결된 로컬 폴더에 넣습니다. 그런 다음, BizTalk Server 수신된 일괄 처리에서 별도의 교환을 삭제했는지(일괄 처리를 분할하는 경우) 또는 단일 보존 일괄 처리 교환(일괄 처리를 유지하는 경우)을 송신 포트와 연결된 폴더에 삭제했는지 확인할 수 있습니다.
참고
일괄 처리된 교환 보내기 연습의 단계를 수행한 경우 해당 솔루션의 출력을 이 솔루션의 입력으로 사용할 수 있습니다. 해당 솔루션의 출력은 850개 메시지의 두 인스턴스에 대한 일괄 처리입니다. 자세한 내용은 연습(X12): 일괄 처리된 EDI 교환 보내기를 참조하세요.
이 섹션에서는 연습을 구성하는 절차에 대해 설명합니다.
메시지 스키마를 배포하려면 다음을 수행하십시오.
Visual Studio에서 BizTalk 프로젝트를 만들거나 엽니다.
참고
이 항목에서는 EDI 스키마, 파이프라인 및 오케스트레이션이 포함된 사용자 응용 프로그램의 참조를 BizTalk EDI 응용 프로그램에 이미 추가했다고 가정합니다. 그렇지 않은 경우 BizTalk Server EDI 애플리케이션에 대한 참조 추가를 참조하세요.
프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 기존 항목을 클릭합니다. <드라이브>:\Program Files\Microsoft BizTalk Server 2009\XSD_Schema\EDI\X12\00401로 이동한 다음 테스트 메시지에 해당하는 스키마를 두 번 클릭합니다.
참고
EDI 스키마가 XSD_SchemaEDI 폴더에 압축을 풉니다. XSD_SchemaEDI 폴더에서 MicrosoftEdiXSDTemplates.exe 파일을 실행하여 스키마를 기본 폴더로 압축을 풉니다.
참고
테스트 메시지의 경우 일괄 처리된 교환 보내기 연습의 솔루션에서 생성한 일괄 처리된 교환을 사용할 수 있습니다. 해당 솔루션의 출력은 EDI Interface Developer 자습서에 사용된 850개 샘플 메시지의 두 인스턴스에 대한 일괄 처리입니다. 이 경우 \Program Files (x86)\Microsoft BizTalk Server VERSION>SDKEDI Interface Developer TutorialInbound_EDI 있는 스키마 x12_00401_850.xsd<를 사용해야 합니다.
어셈블리 키 파일을 설정한 다음 어셈블리를 빌드하고 배포합니다.
일괄 처리된 EDI 메시지를 받을 단방향 수신 포트를 만들려면
BizTalk Server 관리 콘솔에서 BizTalk 애플리케이션 1 노드 아래의 수신 포트 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 단방향 수신 포트를 클릭합니다.
수신 포트의 이름을 지정한 다음 콘솔 트리에서 수신 위치를 클릭합니다.
새로 만들기를 클릭합니다.
수신 위치의 이름을 지정하고 형식에 대해 FILE을 선택한 다음 구성을 클릭합니다.
Receive 폴더의 폴더와 파일 마스크의 마스크(예: *.txt)를 입력합니다.
확인을 클릭합니다.
수신 파이프라인에서 EdiReceive를 선택합니다.
확인을 클릭합니다.
콘솔 트리에서 수신 위치를 클릭합니다. 수신 위치 창에서 수신 위치를 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.
일괄 처리된 EDI 교환을 보낼 정적 단방향 송신 포트를 만들려면
BizTalk Server 관리 콘솔에서 BizTalk 애플리케이션 1 노드 아래의 송신 포트 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 정적 단방향 송신 포트를 클릭합니다.
송신 포트 속성 대화 상자에서 송신 포트의 이름을 지정합니다.
전송 섹션에서 형식에 대한 파일을 선택한 다음 구성을 클릭합니다.
대상 폴더의 폴더와 파일 마스크의 마스크(예: *.txt)를 입력합니다.
확인을 클릭합니다.
송신 파이프라인에서 EdiSend를 선택합니다.
콘솔 트리에서 필터를 선택합니다. 필터 페이지에서 일괄 처리의 메시지를 구독할 필터 식을 입력합니다. 예를 들어 BTS를 선택합니다. ReceivePortName for Property, ==Operator 및 Value에 대해 방금 만든 수신 포트의 이름입니다.
확인을 클릭합니다.
콘솔 트리에서 포트 보내기를 클릭합니다. 송신 포트 창에서 송신 포트를 마우스 오른쪽 단추로 클릭한 다음 시작을 클릭합니다.
파티 A에 대해 파티와 비즈니스 프로필을 만들려면
BizTalk Server 관리 콘솔에서 파티 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 파티를 클릭합니다.
이름 텍스트 상자에 파티 이름을 입력한 다음 확인을 클릭합니다.
참고
로컬 BizTalk에서 받은 메시지를 처리하거나 이 파티 검사 메시지 보내기를 지원함 상자를 선택하면 생성되는 파티가 BizTalk Server 호스팅하는 동일한 organization 대한 것이 되도록 지정할 수 있습니다. 이에 따라 규약을 만들 때 일부 속성을 사용하거나 사용하지 않도록 지정됩니다. 하지만 이 연습에서는 이 확인란을 선택한 상태로 둘 수 있습니다.
파티 이름을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 비즈니스 프로필을 클릭합니다.
프로필 속성 대화 상자의 일반 페이지에서 이름 텍스트 상자에 PartyA_Profile 입력합니다.
참고
파티를 만들면 프로필도 만들어집니다. 새 프로필을 만드는 대신 이름을 바꿔서 해당 프로필을 사용할 수 있습니다. 프로필 이름을 바꾸려면 프로필을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 일반 페이지에서 프로필의 이름을 지정합니다.
파티 B에 대해 파티와 비즈니스 프로필을 만들려면
BizTalk Server 관리 콘솔에서 파티 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 파티를 클릭합니다.
이름 텍스트 상자에 파티 이름을 입력한 다음 확인을 클릭합니다.
참고
로컬 BizTalk에서 받은 메시지를 처리하거나 이 파티 검사 메시지 보내기를 지원함 상자를 선택하면 생성되는 파티가 BizTalk Server 호스팅하는 동일한 organization 대한 것이 되도록 지정할 수 있습니다. 이에 따라 규약을 만들 때 일부 속성을 사용하거나 사용하지 않도록 지정됩니다. 하지만 이 연습에서는 이 확인란을 선택한 상태로 둘 수 있습니다.
파티 이름을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 비즈니스 프로필을 클릭합니다.
프로필 속성 대화 상자의 일반 페이지에서 이름 텍스트 상자에 PartyB_Profile 입력합니다.
참고
파티를 만들면 프로필도 만들어집니다. 새 프로필을 만드는 대신 이름을 바꿔서 해당 프로필을 사용할 수 있습니다. 프로필 이름을 바꾸려면 프로필을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 일반 페이지에서 프로필의 이름을 지정합니다.
두 비즈니스 프로필 간에 규약을 만들려면
PartyA_Profile 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 규약을 클릭합니다.
일반 속성 페이지의 이름 텍스트 상자에 규약의 이름을 입력합니다.
프로토콜 드롭다운 목록에서 X12를 선택합니다.
두 번째 파트너 섹션의 이름 드롭다운 목록에서 PartyB를 선택합니다.
두 번째 파트너 섹션의 프로필 드롭다운 목록에서 PartyB_Profile 선택합니다.
일반 탭 옆에 두 개의 새 탭이 추가됩니다. 각 탭은 단방향 규약을 구성하기 위한 것이며, 각 단방향 계약은 메시지 전송 및 승인 전송을 포함하여 하나의 완전한 메시지 트랜잭션을 나타냅니다.
일반 탭의 일반 속성 페이지의 공용 호스트 설정 섹션에서 보고 켜기를 선택한 다음, 보고를 위해 메시지 페이로드 저장을 선택합니다.
PartyA-PartyB> 탭에서 다음 작업을 수행합니다.
교환 설정 섹션 아래의 식별자 페이지에서 테스트 메시지에서 해당 헤더 필드의 값에 해당하는 한정자 및 식별자 필드(ISA5, ISA6, ISA7 및 ISA8)에 대한 값을 입력합니다.
참고
BizTalk Server 규약 확인을 수행하려면 보낸 사람 및 수신자에 대한 한정자 및 식별자 필드가 필요합니다. 교환 헤더의 ISA5, ISA6, ISA7 및 ISA8 값과 규약 속성의 값과 일치합니다. 또한 BizTalk Server 보낸 사람 한정자 및 식별자(수신자 한정자 및 식별자 없음)를 일치시켜 규약을 resolve. BizTalk Server 규약을 resolve 수 없는 경우 대체 규약 속성을 사용합니다.
참고
"EDI 인터페이스 개발자 자습서"의 SamplePO.txt 파일을 테스트 메시지로 사용하는 경우 ISA5 를 ZZ로, ISA6 을 THEM으로, ISA7 을 ZZ로, ISA8 을 US로 설정합니다.
교환 설정 섹션 아래의 유효성 검사 페이지에서 중복된 ISA13 확인 옵션이 선택 취소되어 있는지 확인합니다.
참고
중복 ISA13 확인 속성을 지우면 동일한 메시지의 여러 인스턴스를 받을 수 있습니다.
교환 설정 섹션 아래의 문자 집합 및 구분 기호 페이지에서 CR LF 옵션을 선택합니다.
교환 설정 섹션 아래의 로컬 호스트 설정 페이지의 인바운드 메시지 처리 옵션 상자에서교환을 트랜잭션 집합으로 분할 - 오류 발생 시 트랜잭션 집합 일시 중단 옵션을 선택합니다.
참고
이 솔루션에서는 먼저 이 옵션을 선택하여 교환을 분할합니다. 나중에 아래 연습 절차를 테스트하기 위해 교환을 유지하도록 솔루션을 구성합니다.
교환 설정 섹션 아래의 송신 포트 페이지에서 이전에 만든 송신 포트를 연결합니다. 송신 포트 표의 이름 열 아래에서 빈 셀을 클릭하고 드롭다운 목록에서 송신 포트를 선택합니다.
트랜잭션 집합 설정 섹션 아래의 봉투 페이지에서 표의 첫 번째 줄에 있는 모든 열에 대한 값을 입력합니다.
사용 항목 원하는 작업 기본값 기본값을 선택합니다. 참고: 이 행을 기본값으로 선택하면 트랜잭션 유형, 버전/릴리스 및 대상 네임스페이스의 값이 메시지와 일치하지 않더라도 GS1, GS2, GS3, GS7 및 GS8의 값이 사용됩니다. 트랜잭션 유형 테스트 메시지의 메시지 유형인 850 - 구매 주문을 선택합니다. 버전/릴리스 EDI 버전 00401을 입력합니다. 대상 네임스페이스 http://schemas.microsoft.com/Edi/X12>
를 선택합니다.GS1 테스트 메시지의 메시지 유형이 PO - 구매 주문(850)으로 선택되었는지 확인합니다. GS2 애플리케이션 보낸 사람 값(예: 구매)을 입력합니다. GS3 애플리케이션 수신기의 값을 입력합니다(예: OrderControl). GS4 원하는 날짜 형식을 선택합니다. 참고: 기본값을 표시하려면 필드를 클릭하는 것이 아니라 드롭다운 목록에서 값을 선택해야 합니다. 드롭다운 목록에서 값을 선택하지 않고 필드를 클릭하면 값이 실제로 선택되지 않습니다. GS5 원하는 시간 형식을 선택합니다. GS7 X - 공인 표준 위원회 X12를 선택합니다. GS8 EDI 버전이 00401로 입력되었는지 확인합니다. 참고
BizTalk Server 트랜잭션 유형, 버전/릴리스 및 대상 네임스페이스에 입력한 값을 기반으로 아웃바운드 승인의 GS01, GS02, GS03, GS04, GS05, GS07 및 GS08 값을 설정합니다. 송신 파이프라인이 트랜잭션 집합 유형, X12 버전 및 대상 네임스페이스를 메시지 헤더의 해당 값과 일치시키려고 합니다. 성공하면 트랜잭션 유형, 버전/릴리스 및 대상 네임스페이스 값과 연결된 GS 값을 사용합니다.
PartyB-PartyA> 탭에서 다음 작업을 수행합니다.
참고
이 연습에서는 규약이 만들어질 수 있도록 탭에서 필요한 값을 지정합니다. 규약을 성공적으로 만들려면 단방향 규약 탭 모두 ISA5, ISA6, ISA7 및 ISA8에 대해 정의된 값이 있어야 합니다.
교환 설정 섹션 아래의 식별자 페이지에서 테스트 메시지의 해당 헤더 필드 값에 해당하는 한정자 및 식별자 필드(ISA5, ISA6, ISA7 및 ISA8)에 대한 값을 입력합니다.
참고
"EDI 인터페이스 개발자 자습서"의 SamplePO.txt 파일을 테스트 메시지로 사용하는 경우 ISA5 를 ZZ로, ISA6 을 US로, ISA7 을 ZZ로, ISA8 을 해당 파일로 설정합니다.
적용을 클릭합니다.
확인을 클릭합니다. 새로 추가된 계약은 당사자 및 비즈니스 프로필 창의 계약 섹션에 나열됩니다. 새로 추가한 규약은 기본적으로 사용하도록 설정됩니다.
연습 테스트
이 섹션에서는 연습을 테스트하는 방법에 대해 설명합니다.
연습을 테스트하려면
Windows 탐색기에서 수신 위치와 연결된 로컬 폴더를 열고 테스트 일괄 처리된 EDI 교환을 폴더에 넣습니다.
참고
테스트 메시지의 경우 일괄 처리된 교환 보내기 연습의 솔루션에서 생성한 일괄 처리된 교환 출력을 사용할 수 있습니다. 이 샘플 메시지에는 트랜잭션 집합 두 개가 포함되어 있습니다.
위에서 만든 송신 포트와 연결된 폴더를 엽니다. 폴더에 새 파일 두 개가 들어 있고, 각 파일이 테스트 일괄 처리된 메시지에 있는 트랜잭션 집합 중 하나를 포함하는 850 교환이지 확인합니다.
BizTalk Server 관리 콘솔에서 당사자 노드를 클릭하고 이전에 만든 계약의 일부인 두 개의 비즈니스 프로필 중 일부를 클릭합니다. 계약 섹션에서 규약 을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
규약 속성 대화 상자의 교환 설정 섹션 아래의 로컬 호스트 설정 페이지의 인바운드 메시지 처리 옵션 상자에서교환 유지 - 오류 발생 시 교환 일시 중단 또는 교환 유지 - 오류 발생 시 트랜잭션 집합 일시 중단을 선택하고 확인을 클릭합니다.
플랫폼 설정 노드에서 호스트 인스턴스를 클릭하고 BizTalkServerApplication을 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 클릭합니다.
Windows 탐색기에서 수신 위치와 연결된 로컬 폴더를 열고 동일한 테스트 일괄 처리된 EDI 교환을 다시 한번 폴더에 넣습니다.
Windows 탐색기에서 위에서 만든 송신 포트와 연결된 폴더를 엽니다. 이제 폴더에 새 파일이 하나만 들어 있고, 이 파일이 테스트 일괄 처리된 메시지에 있던 850 트랜잭션 집합 두 개를 포함하는 교환인지 확인합니다.
참고 항목
BizTalk Server EDI 솔루션 개발 및 구성
일괄 처리된 EDI 교환 분할
HIPAA 하위 문서 분할
받은 일괄 처리 EDI 교환 유지
연습(X12): 일괄 처리된 EDI 교환 보내기
연습(X12): EDI 교환 받기 및 승인 응답 보내기
연습(X12): EDI 교환 보내기