Skip to main content

Looping functoid in BizTalk map

Using Looping functoid in BizTalk Map:
1.      Create two schema, Order schema and MasterOrderSchema with below shown structure.
2.      OrderSchema will have order from multiple companies, using “LOOPING” functoid we will map it to MasterOrdeeShema.
3.      We will create a map to achieve  this, in this map we will use Looping functoid (Advanced Functoid Grp).

Order Schema


MasterOrderSchema


Map – OrderSchemaToMasterOrderSchema.btm



Now test the map created with input instance Order.xml file

<ns0:Order xmlns:ns0="http://LoopinFunctoidSoln.OrderSchema">
  <ABCCompany>
    <ID>11</ID>
    <ItemName>ItemName_0</ItemName>
    <Qty>10</Qty>
  </ABCCompany>
  <PQRCompany>
    <ID>1</ID>
    <ItemName>ItemName_1</ItemName>
    <Qty>2</Qty>
  </PQRCompany>
  <XYZCompany>
    <ID>2</ID>
    <ItemName>ItemName_2</ItemName>
    <Qty>5</Qty>
  </XYZCompany>
</ns0:Order>

And we will get output as MasterOrder.xml file as shown below.

<ns0:MasterOrder xmlns:ns0="http://LoopinFunctoidSoln.OrderSchema">
<Company>
  <ID>11</ID>
  <ItemName>ItemName_0</ItemName>
  <Qty>10</Qty>
  </Company>
<Company>
  <ID>1</ID>
  <ItemName>ItemName_1</ItemName>
  <Qty>2</Qty>
  </Company>
 <Company>
  <ID>2</ID>
  <ItemName>ItemName_2</ItemName>
  <Qty>5</Qty>
  </Company>
  </ns0:MasterOrder>
 

Comments

Popular posts from this blog

WCF MaxReceivedMessageSize max value in .config

MaxReceivedMessageSize parameter in binding config   file:   For max file size in WCF, we need to set following parameter in binding files. <binding name="MyService"        maxReceivedMessageSize="2147483647"        maxBufferSize="2147483647" transferMode="Streamed" >        <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"      maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/> <!-- other binding info here, such as security --> </binding> Max possible size: MaxReceivedMessageSize to 2147483647 (i.e. Int32.MaxValue), which is 2GB For our case, as we are using WsHttpBinding. <wsHttpBinding>         <binding name="wsHttpBindingSettings" maxReceivedMessageSize="2147483647">      ...

Deploying Custom Pipeline Component on BizTalk Server (PROD)

Deploying Custom Pipeline Component on BizTalk Server: ·         Deploying BizTalk Custom Pipeline Component   on BizTalk Server 2006 or Older Version : To deploy the custom Pipeline component on BizTalk server 2006 or older version. We need to add the Custom Pipeline component in GAC as well as “ C:\Program Files (x86)\Microsoft BizTalk Server 2006\Pipeline Components ” folder.   At design time it will access the Pipeline component dll located in “….. Microsoft   BizTalk Server 2006\Pipeline Components ” folder and show the component in pipeline toolbox. At runtime the BizTalk will use the Custom Pipeline component from GAC. ·         Deploying BizTalk Custom Pipeline Component   on BizTalk Server 2006 R2 or New Version : To deploy the custom Pipeline component on BizTalk server 2006 R2 or later version. We need to add the Custom Pipeline component only in “C:\Pr...

biztalk schema remove ns0 prefix

We can remove ns0 prefix simply by set the schema elements property or both elements and attributes properties to be qualified. To do that follow my steps: 1-       Open your schema 2-       Right Click <Schema> and select properties 3-       Use schema property editior and Set [Element FromDefult] to Unqualified , and then set [Attribute FromDefault] to Unqualified if you are using attributes in your schema. After applying the steps above, both XML instances below will be valid: Instance 1 (with ns0) < ns0:Root xmlns:ns0 = " http://RandomBizTalkProject.Schema1 " >   < Field1 > Field1_0 </ Field1 >   < Field2 > Field2_0 </ Field2 > </ ns0:Root > Instance 2 (without ns0) < Root xmlns = " http://RandomBizTalkProject.Schema1 " >   < Field1 > Field1_0 </ Field1 >   < Field2 >...