연습(X12): 일괄 처리된 EDI 교환 송신
이 연습에서는 BizTalk Server 사용하여 한 당사자에서 다른 당사자로 일괄 처리된 EDI 교환을 보내는 솔루션을 만드는 단계별 절차 집합을 제공합니다.
필수 구성 요소
BizTalk Server 관리자 또는 BizTalk Server B2B 운영자 그룹의 구성원으로 로그온해야 합니다.
솔루션에서 일괄 처리된 EDI 교환을 보내는 방식
이 솔루션은 다음을 수행합니다.
수신 위치는 파티 A에서 EDI 교환을 받습니다.
참고
이 목록의 이벤트가 표시된 순서대로 발생하지 않을 수도 있습니다.
수신 파이프라인이 교환의 EDI 형식을 내부 XML 형식으로 변환합니다. 수신 파이프라인에서 교환이 일괄 처리되도록 결정하기 때문에 결과적으로 BatchMarkerReceivePipeline 구성 요소는 및
EDI.BatchId
속성을 승격합니다EDI.ToBeBatched==True
. 그런 다음 교환을 MessageBox에 넣습니다.일괄 처리 오케스트레이션이
EDI.ToBeBatched==True
및EDI.BatchId==%BatchID%
에 따라 메시지에 등록하기 때문에 MessageBox에서 수신된 교환을 검색합니다.수신 위치가 첫 번째 교환을 보낸 파티와 동일한 파티로부터 두 번째 EDI 교환을 받습니다.
수신 위치가 2단계와 동일한 방식으로 교환을 처리한 다음 MessageBox에 넣습니다.
일괄 처리 오케스트레이션이 3단계와 동일한 방식으로 교환을 검색합니다.
릴리스 조건이 충족되면(릴리스 조건은 교환의 일치 방법을 정의함) 일괄 처리 오케스트레이션이 모든 교환을 포함하는 교환을 어셈블한 다음
EDI.ToBeBatched==False
,EDI.BatchName
및EDI.DestinationPartyName
컨텍스트 속성을 승격합니다. 그런 다음 일괄 처리된 교환을 MessageBox에 넣습니다.송신 포트는 컨텍스트 속성
EDI.ToBeBatched
==False 및EDI.BatchName
EDI.DestinationPartyName
를 구독하여 일괄 처리된 교환을 선택합니다.송신 파이프라인은 일괄 처리된 교환의 봉투에 추가 속성을 적용한 다음 대상 파티인 Party B에 교환을 보냅니다.
참고
자세한 내용은 Batched EDI 교환 어셈블을 참조하세요.
다음 그림은 이 솔루션의 아키텍처를 보여 줍니다.
이 솔루션의 기능
이 연습에서는 다음 기능이 사용됩니다.
이 솔루션은 EDIFACT 인코딩이 아니라 X12 인코딩을 사용한 교환을 위해 작성되었습니다.
참고
HIPAA 및 EDIFACT 인코딩에 사용되는 구성은 X12 인코딩에 사용되는 구성과 거의 동등합니다.
기술 승인 또는 기능 승인은 원래 수신된 교환 또는 전송된 일괄 처리된 교환에 대한 응답으로 반환되지 않습니다.
참고
EDI 승인을 생성하는 방법에 대한 자세한 내용은 연습(X12): EDI 교환 수신 및 승인 다시 보내기를 참조하세요.
이 솔루션은 단방향 수신 포트와 정적 단방향 송신 포트를 사용합니다. 이러한 포트는 FILE 전송 방식으로 구성됩니다.
EDI 보고를 사용할 수 있습니다.
교환 상태 보고서에서 볼 수 있도록 트랜잭션 집합이 저장됩니다.
연습 구성 및 테스트
이 솔루션에 필요한 절차에는 다음이 포함됩니다.
필요한 메시지 스키마를 BizTalk 프로젝트에 추가한 다음 프로젝트를 빌드하고 배포하여 BizTalk Server 메시지 처리에서 스키마를 사용할 수 있도록 합니다.
BatchControlMessageReccvLoc 수신 위치의 SQL 어댑터에 대한 폴링 간격을 업데이트하여 시작 단추를 클릭하여 일괄 처리 오케스트레이션 instance 활성화할 제어 메시지를 보낼 때 일괄 처리 오케스트레이션이 즉시 활성화되도록 합니다.
BizTalk Server 대한 수신 포트를 만들어 파티에서 EDI X12로 인코딩된 .txt 입력 메시지를 받습니다.
파티 A와 파티 B 둘 다에 대해 파티(거래 업체)를 만듭니다.
두 거래 업체에 대해 각각 비즈니스 프로필을 만듭니다.
수신할 메시지의 EDI 속성을 구성하여 두 프로필 간에 규약을 만듭니다. 전송할 일괄 처리된 메시지의 EDI 속성을 구성합니다. 이 솔루션에서는 850 교환 두 개가 수신될 때마다 BizTalk Server가 파티 B에 일괄 처리를 보내도록 규약을 구성합니다.
BizTalk Server 대한 송신 포트를 만들어 일괄 처리된 EDI 교환을 거래 업체에 보냅니다. 이 송신 포트는 정적 단방향 송신 포트입니다.
교환을 처리하고 일괄 처리할 규약과 송신 포트를 연결합니다.
두 개의 테스트 EDI 교환을 수신 위치와 연결된 로컬 폴더에 넣고 BizTalk Server가 송신 포트와 연결된 폴더에 일괄 처리된 교환을 넣었는지 확인합니다.
연습 구성
이 섹션에서는 연습을 구성하는 절차에 대해 설명합니다.
메시지 스키마를 배포하려면 다음을 수행하십시오.
Visual Studio에서 BizTalk 프로젝트를 만들거나 엽니다.
참고
이 항목에서는 EDI 스키마, 파이프라인 및 오케스트레이션이 포함된 사용자 응용 프로그램의 참조를 BizTalk EDI 응용 프로그램에 이미 추가했다고 가정합니다. 그렇지 않은 경우 BizTalk Server EDI 애플리케이션에 대한 참조 추가를 참조하세요.
프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 기존 항목을 클릭합니다. \Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDI\X12\00401로 이동한 다음 테스트 메시지에 해당하는 스키마를 두 번 클릭합니다.
참고
EDI 스키마가 \XSD_Schema\EDI 폴더에 압축을 풀지 않은 경우 \XSD_Schema\EDI 폴더에서 MicrosoftEdiXSDTemplates.exe파일을 실행 하여 스키마의 압축을 기본 폴더로 압축 해제합니다.
참고
테스트 메시지의 경우 EDI Interface Developer 자습서에 사용되는 850 샘플 메시지를 사용할 수 있습니다. 이 파일은 \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\에서 SamplePO.txt. 이렇게 하는 경우 \Program Files (x86)\Microsoft BizTalk Server VERSION>SDK\EDI Interface Developer Tutorial\Inbound_EDI 있는 스키마 x12_00401_850.xsd<를 사용해야 합니다.
어셈블리 키 파일을 설정한 다음 어셈블리를 빌드하고 배포합니다.
폴링 간격을 업데이트하려면 다음을 수행하십시오.
BizTalk Server 관리 콘솔에서 BizTalk 그룹, 애플리케이션, BizTalk EDI 애플리케이션 노드 및 수신 위치 노드를 엽니다. 수신 위치 노드에서 BatchControlMessageRecvLoc를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
SQL 전송 유형에 대해 구성을 클릭합니다.
SQL 전송 속성 대화 상자에서 폴링 간격을 더 작은 값으로 설정합니다. 예를 들어 폴링 단위를분 대신 초로 변경하여 폴링 간격을 5초로 변경할 수 있습니다.
참고
폴링 간격을 변경하면 일괄 처리 오케스트레이션이 즉시 활성화됩니다.
확인을 클릭한 다음 확인을 다시 클릭합니다.
일괄 처리될 EDI 메시지를 받을 단방향 수신 포트를 만들려면 다음을 수행하십시오.
일괄 처리될 EDI 메시지를 받을 로컬 폴더를 만듭니다.
BizTalk Server 관리 콘솔에서 BizTalk 애플리케이션 1 노드 아래의 수신 포트 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 단방향 수신 포트를 클릭합니다.
수신 포트의 이름을 지정한 다음 콘솔 트리에서 수신 위치를 클릭합니다.
새로 만들기를 클릭합니다.
수신 위치의 이름을 지정하고 형식에 대해 FILE을 선택한 다음 구성을 클릭합니다.
Receive 폴더의 폴더와 파일 마스크의 마스크(예: *.txt)를 입력합니다.
확인을 클릭합니다.
수신 파이프라인에서 EdiReceive를 선택합니다.
확인을 클릭한 다음 확인을 다시 클릭합니다.
콘솔 트리에서 수신 위치를 클릭합니다. 수신 위치 창에서 수신 위치를 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.
파티 A에 대해 파티와 비즈니스 프로필을 만들려면
BizTalk Server 관리 콘솔에서 파티 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 파티를 클릭합니다.
이름 텍스트 상자에 파티 이름을 입력한 다음 확인을 클릭합니다.
참고
로컬 BizTalk에서 받은 메시지를 처리하거나 이 파티 검사 메시지 보내기를 지원함 상자를 선택하면 생성되는 파티가 BizTalk Server 호스팅하는 동일한 organization 대한 것이 되도록 지정할 수 있습니다. 이에 따라 규약을 만들 때 일부 속성을 사용하거나 사용하지 않도록 지정됩니다. 하지만 이 연습에서는 이 확인란을 선택한 상태로 둘 수 있습니다.
파티 이름을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 비즈니스 프로필을 클릭합니다.
프로필 속성 대화 상자의 일반 페이지에서 이름 텍스트 상자에 PartyA_Profile 입력합니다.
참고
파티를 만들면 프로필도 만들어집니다. 새 프로필을 만드는 대신 이름을 바꿔서 해당 프로필을 사용할 수 있습니다. 프로필 이름을 바꾸려면 프로필을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 일반 페이지에서 프로필의 이름을 지정합니다.
파티 B에 대해 파티와 비즈니스 프로필을 만들려면
BizTalk Server 관리 콘솔에서 Partys 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 파티를 클릭합니다.
이름 텍스트 상자에 파티 이름을 입력한 다음 확인을 클릭합니다.
참고
로컬 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 옵션을 선택합니다.
일괄 처리 구성 페이지의 교환 설정 섹션에서 다음을 수행합니다.
새 일괄 처리를 클릭합니다.
ID 섹션의 Batch 이름 텍스트에 를 입력합니다
Batch1
.필터 섹션 아래의 필터 단추를 클릭하고 일괄 처리 필터 대화 상자에서 다음을 수행합니다.
속성 열 아래의 빈 셀을 클릭하고 BTS를 선택합니다. ReceivePortName.
연산자 열 아래의 빈 셀을 클릭하고 를 선택합니다==.
값 열 아래의 빈 셀을 클릭하고 이전에 만든 수신 포트의 이름을 입력합니다.
확인을 클릭합니다.
릴리스 섹션에서 최대 트랜잭션 집합 수 옵션을 선택하고 드롭다운에서 교환을 선택하고 텍스트 상자에 일괄 처리할 교환 수를 입력합니다. 이 솔루션에서는 두 개의 교환을 일괄 처리하므로 텍스트 상자에 를 입력합니다
2
.활성화 섹션에서 즉시 시작을 선택합니다.
트랜잭션 집합 설정 섹션 아래의 봉투 페이지에서 표의 첫 번째 줄에 있는 모든 열에 대한 값을 입력합니다.
사용 항목 원하는 작업 기본값 기본값을 선택합니다. 참고: 이 행을 기본값으로 선택하면 트랜잭션 유형, 버전/릴리스 및 대상 네임스페이스의 값이 메시지와 일치하지 않는 경우에도 GS1, GS2, GS3, GS7 및 GS8 값이 사용됩니다. 트랜잭션 유형 테스트 메시지의 메시지 유형인 850 - 구매 주문을 선택합니다. 버전/릴리스 EDI 버전 00401을 입력합니다. 대상 네임스페이스 http://schemas.microsoft.com/BizTalk/EDI/X12/2006
를 선택합니다.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 을 해당 파일로 설정합니다.
적용을 클릭합니다.
확인을 클릭합니다. 새로 추가된 계약은 당사자 및 비즈니스 프로필 창의 계약 섹션에 나열됩니다. 새로 추가한 규약은 기본적으로 사용하도록 설정됩니다.
일괄 처리된 EDI 교환을 보낼 정적 단방향 송신 포트를 만들려면
일괄 처리된 EDI 메시지를 보낼 로컬 폴더를 만듭니다.
BizTalk Server 관리 콘솔에서 BizTalk 애플리케이션 1 노드 아래의 송신 포트 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 정적 단방향 송신 포트를 클릭합니다.
송신 포트 속성 대화 상자에서 송신 포트의 이름을 지정합니다.
전송 섹션에서 형식에 대한 파일을 선택한 다음 구성을 클릭합니다.
대상 폴더의 폴더와 파일 이름(예: %MessageID%.txt)을 입력합니다.
확인을 클릭합니다.
송신 파이프라인에서 EdiSend를 선택합니다.
콘솔 트리에서 필터를 선택합니다. 필터 페이지에서 다음을 수행합니다.
표의 첫 번째 줄에서 EDI를 선택합니다. DestinationPartyName for Property, ==Operator의 경우 일괄 처리를 값으로 보내기 위해 선택한 파티 이름 및그룹화 기준입니다.
두 번째 줄에서 EDI를 선택합니다. ToBeBatched for Property, ==operator, False for Value, And for Group by.
세 번째 줄에서 EDI를 선택합니다. 속성의 BatchName, ==연산자의 경우 및 값에 대한 일괄 처리의 이름입니다.
확인을 클릭합니다.
콘솔 트리에서 포트 보내기를 클릭합니다. 송신 포트 창에서 송신 포트를 마우스 오른쪽 단추로 클릭한 다음 시작을 클릭합니다.
일괄 처리를 위해 만든 규약과 송신 포트를 연결하려면 다음을 수행하십시오.
앞에서 만든 규약을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
규약 속성 대화 상자의 PartyA-PartyB> 탭에서 왼쪽 창에서 포트 보내기를 클릭합니다.
교환 설정 섹션 아래의 송신 포트 페이지에서 이전에 만든 송신 포트를 연결합니다. 송신 포트 표의 이름 열에서 빈 셀을 클릭하고 드롭다운 목록에서 송신 포트를 선택합니다.
확인을 클릭합니다.
연습 테스트
이 섹션에서는 연습을 테스트하는 방법에 대해 설명합니다.
연습을 테스트하려면
Windows 탐색기에서 수신 위치와 연결된 로컬 폴더를 열고 테스트 EDI 교환을 폴더에 넣습니다.
참고
테스트 메시지의 경우 EDI Interface Developer 자습서에 사용되는 850 샘플 메시지를 사용할 수 있습니다. 이 파일은 \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\에 SamplePO.txt. 이 경우 \Program Files (x86)\Microsoft BizTalk Server VERSION>SDK\EDI Interface Developer Tutorial\Inbound_EDI 있는 스키마 x12_00401_850.xsd<를 사용해야 합니다.
테스트 EDI 교환의 두 번째 복사본을 폴더에 넣습니다.
교환의 송신 포트와 연결한 폴더를 열고 일괄 처리된 교환을 엽니다. 교환에 ISA 및 GS 헤더 집합 하나와 트랜잭션 집합 두 개가 포함되어 있는지 확인합니다.
참고 항목
BizTalk Server EDI 솔루션 개발 및 구성
나가는 일괄 처리 구성
일괄 처리된 EDI 교환 어셈블
일괄 처리된 EDI 교환 어셈블
연습(X12): EDI 교환 받기 및 승인 응답 보내기
연습(X12): EDI 교환 보내기