입력시 매핑을 만드는 방법 두 개의 스키마가 있으며 출력시 하나의 스키마와 일부 조건이 매핑됩니다.Biztalk 두 스키마와 조건이있는 루프 펑 토이 드
입력은 인라인 스키마이고 인보이스 및 고객 스키마가 들어 있습니다. 둘 다 CustomerNumber와 DepartmentCode가 Invoices 스키마에만 있습니다.
[CONDITION]
MAPP 만이 DepartmentCode CUSTOMERNUMBER 모두 송장 및 고객 정보 (광고)에 동일 경우.
If Invoice.CustomerNumber == Customer.CustomerNumber then map Invoice.DepartmentCode.
나는 loop, 평등하고 값 매핑 펑 토이 드의의를 사용하려했지만 예상 결과없이, 두 번째 I는 "인라인 XSLT 호출 템플릿"을 사용하려했지만 내가 처리에 오류가있어 생각합니다.
[코드의 XSLT 펑 토이]
<xsl:template name="GetDepartmenCodeByCustomerNumber">
<xsl:param name="CustomerNumber" />
<xsl:if test="$CustomerNumber != ''">
<xsl:element name="DepartmentCode">
<xsl:value-of select="//s1:Customer[s1:CustomerNumber=$CustomerNumber]/s1:DepartmentCode/text()" />
</xsl:element>
</xsl:if>
</xsl:template>
예 :
입력
<ROOT>
<Invoices>
<Invoice>
<CustomerNumber>123</CustomerNumber>
<DepartmentCode>321</DepartmentCode>
</Invoice>
</Invoices>
<Customers>
<Customer>
<CustomerNumber>123</CustomerNumber>
</Customer>
<Customer>
<CustomerNumber>222</CustomerNumber>
</Customer>
</Customers>
</ROOT>
기대
<Document>
<CustomerNumber>123</CustomerNumber>
<DepartmentCode>321</DepartmentCode>
</Document>
예를 들어 Invoice 및 Customer 세그먼트에서 CustomerNumber와 같아야합니다.
이 펑 토이 드에 대한 매개 변수 (입력/출력)를 확인하십시오. [Concatenate] (http://imgur.com/1qVM3MD), [누적] (http://imgur.com/3NoxIAc). 이 [TLoop] (http://imgur.com/MUUQ1dP)의 경우이 매개 변수는 맞습니까? 두 번째로 나는 테이블을 만들 필요가 없다. [Greater] (http://imgur.com/ypHxweb)의 두 번째 매개 변수에 "0"을 추가해야한다고 생각합니다. 맞습니까? [TExtractor] (http://imgur.com/8LD1JXL)는 테이블 루프 func에 따라 달라지며,이 모든 유형의 경고 문제를 해결하기 위해 필요한 설정은 무엇입니까? – Nerus
TLoop에서 두 번째 매개 변수로 원하는 열의 수를 사용해야하므로 두 번째 매개 변수로 "3"을 추가하십시오. 이 작업이 완료되면 Table Looping Grid에서 열을 구성 할 수 있습니다. Greater yes에서는 비교를 위해 "0"을 추가해야합니다.TExtractors에서 열 번호를 두 번째 매개 변수로 추가해야합니다. 표에는 3 개의 열이 있으므로 가져 오는 열에 따라 "1", "2"및 "3"을 사용하십시오. –
훌륭하게 작동합니다! – Nerus