다음을 통해 공유


들어오는 트랜잭션 집합과 나가는 일괄 처리 간에 상관 관계 지정

BizTalk Server 사용하면 일괄 처리 오케스트레이션에 제출된 EDI 트랜잭션 집합과 나가는 일괄 처리의 상관 관계를 지정할 수 있습니다. 일괄 처리 오케스트레이션에 전송된 트랜잭션 집합에 대한 상태 보고 항목(BTSInterchangeID)과 오케스트레이션에 대한 상태 보고 항목(ActivityID) 간에 상관 관계를 지정하여 이 작업을 수행합니다. 이 상관 관계는 BusinessMessageJournal BAM 활동에 있는 항목을 사용하여 수행합니다. 이러한 항목은 일괄 처리 요소를 받을 때 일괄 처리 오케스트레이션에 의해 만들어집니다.

중요

BizTalk Server EDI 상태 보고 및 트랜잭션 집합 추적이 계약에 대해 사용하도록 설정된 경우에만 BusinessMessageJournal 활동에 항목을 만듭니다.

아래 섹션에서는 다음에 대해 설명합니다.

  • BizTalk Server 추적 데이터를 저장하는 방법

  • 사용자 지정 파이프라인 구성 요소를 만들어 상관 관계를 활성화하는 방법

  • 들어오는 트랜잭션 집합과 나가는 일괄 처리 간에 상관 관계를 지정하는 방법

  • 일괄 처리에 포함된 트랜잭션 집합의 BTSInterchangeID를 알고 있는 경우 BusinessMessageJournal 활동을 쿼리하여 일괄 처리의 BTSInterchangeID를 확인하는 방법

필수 구성 요소

BizTalk Server 관리자 또는 BizTalk Server B2B 운영자 그룹의 구성원으로 로그온해야 합니다.

활동에 대한 변경 내용

일괄 처리 오케스트레이션은 BatchingActivity, TransactionSetActivity 및 BusinessMessageJournal BAM 활동에 항목을 만듭니다. 트랜잭션 집합이 BizTalk Server 통해 이동하면 BizTalk Server 트랜잭션 집합 및 이를 포함하는 일괄 처리에 대해 이러한 작업 테이블에 다음 항목을 만듭니다.

  1. EDI 디스어셈블러가 들어오는 EDI 교환을 처리하면 InterchangeStatusActivity 및 TransactionSetActivity 테이블에 항목을 만듭니다.

  2. 일괄 처리 오케스트레이션이 인스턴스화되면 오케스트레이션에서 BatchingActivity에 항목을 만듭니다. BAM 하위 시스템은 ActivityID에 대한 값을 만듭니다.

  3. 일괄 처리 오케스트레이션에서 트랜잭션 집합을 선택한 후에는 TransactionSetActivity 테이블에 트랜잭션 집합에 대한 항목을 만듭니다.

  4. 오케스트레이션은 BusinessMessageJournal 활동에 항목을 만듭니다. 이 활동의 MessageTrackingID 필드를 오케스트레이션이 TransactionSetActivity 테이블에 만들었던 항목에 대한 ActivityID 필드 값으로 설정합니다. 또한 BTSInterchangeID 필드를 트랜잭션 집합에 대한 BTS.InterchangeID 컨텍스트 속성으로 설정하고 BTSMessageID 필드를 트랜잭션 집합에 대한 BTS.MessageID 컨텍스트 속성으로 설정합니다.

  5. 오케스트레이션은 BusinessMessageJournal 활동에 두 번째 항목을 만듭니다. MessageTrackingID 필드를 오케스트레이션이 TransactionSetActivity 테이블에 만들었던 항목에 대한 ActivityID 필드로 설정합니다. BTSInterchangeID 필드를 일괄 처리에 대한 BTS.InterchangeID 컨텍스트 속성으로 설정합니다. BTSMessageID는 설정하지 않습니다. ContainerActivityID를 BatchingActivity에서 ActivityID 값으로 설정합니다.

상관 관계 설정을 위한 사용자 지정 파이프라인 구성 요소 만들기

들어오는 트랜잭션 집합과 트랜잭션 집합이 포함된 나가는 일괄 처리 간의 상관 관계를 설정하려면 사용자 지정 파이프라인 구성 요소를 만들어야 합니다. 이 파이프라인 구성 요소는 EDI 디스어셈블러의 뒤와 EDIReceive 파이프라인의 BatchMarker 구성 요소의 앞 사이에 와야 합니다. 이 파이프라인 구성 요소는 BusinessMessageJournal 활동에 항목을 만들어야 합니다. 이 항목에서 BTSInterchangeID 필드를 BTS.InterchangeID 컨텍스트 속성으로 설정해야 하며 BTSMessageID 필드를 BTS.MessageID 컨텍스트 속성으로 설정해야 합니다.

일괄 처리에서 트랜잭션 집합에 대한 InterchangeID 조회

BatchingActivity 테이블 및 BusinessMessageJournal 활동의 항목을 사용하여 아래 설명된 대로 수신한 교환 및 해당 교환에서 가져온 트랜잭션 집합이 포함된 일괄 처리 간의 상관 관계를 지정합니다.

들어오는 트랜잭션 집합과 트랜잭션 집합이 포함된 나가는 일괄 처리 간에 상관 관계를 지정하려면

  1. BatchingActivity 테이블에서 일괄 처리에 대한 ActivityID 값을 확인합니다.

  2. BusinessMessageJournal 활동 테이블의 ContainerActivityID 필드에서 ActivityID 값을 검색합니다.

  3. ContainerActivityID로 식별되는 레코드에서 일괄 처리와 연결된 MessageTrackingID 필드의 값을 조회합니다.

  4. BusinessMessageJournal 활동 테이블의 일괄 처리와 연결된 MessageTrackingID 필드의 값을 사용하여 BusinessMessageJournal 활동 테이블에 있는 다른 레코드의 MessageTrackingID 필드에서 같은 값을 검색합니다. 발견된 모든 레코드는 일괄 처리 오케스트레이션에서 기록한 대로 일괄 처리에 있는 트랜잭션 집합과 연결됩니다.

  5. BusinessMessageJournal 활동 테이블에 있는 트랜잭션 집합과 연결된 레코드에서 BTSInterchangeID 필드의 값을 조회합니다.

  6. BTSInterchangeID 값을 사용하여 사용자 지정 파이프라인 구성 요소에서 기록한 대로 BusinessMessageJournal 활동 테이블에 만들었던 트랜잭션 집합에 대한 레코드를 조회할 수 있습니다. 또한 TransactionSetActivity 테이블에서 트랜잭션 집합에 대한 레코드를 조회할 수도 있습니다.

BusinessMessageJournal 쿼리

트랜잭션 집합 보고를 사용하고 있는 상태에서 수신한 교환의 BTSInterchangeID를 알고 있는 경우 다음 SQL 쿼리를 사용하여 일괄 처리 오케스트레이션에 전송한 트랜잭션 집합이 들어있는 일괄 처리의 BTSInterchangeID를 찾을 수 있습니다. 이 코드를 통해 일괄 처리에 있는 메시지를 볼 수 있는 사용자 지정 응용 프로그램을 만들 수 있습니다.

중요

BizTalk Server EDI 상태 보고 및 트랜잭션 집합 추적이 계약에 대해 사용하도록 설정된 경우에만 BusinessMessageJournal 활동에 항목을 만듭니다.

Select MessageTrackingID  
From BusinessMessageJournal  
Where BTSInterchangeID = <given InterchangeID of the receive interchange>  
  
Select BTSInterchangeID  
From BusinessMessageJournal  
Where MessageTrackingID = <MessageTrackingID from the previous query> and BTSInterchangeID = <given InterchangeID>  

참고 항목

EDI/AS2 메시지를 추적하기 위해 만드는 BAM 활동
EDI 및 AS2 상태 보고서 사용 설정