“记录计数”Functoid
记录计数 functoid 对输入实例消息中的记录进行计数。
记录计数 functoid 有一个输入和一个输出。 输入是源自源架构中某个循环记录的链接。 Record Count functoid 的输出是实际输入实例消息中循环记录的计数。
循环记录与输入实例消息中重复任意次数的元素相对应。 例如,在采购订单中, Item 元素可能会多次出现。 而且, Item 元素可能包括产品、说明、价格和数量。 下面的代码显示了此类采购订单的一个简单示例:
<ns0:PurchaseOrder xmlns:ns0="http://RecordFunctoid.PurchaseOrder">
<From>Kevin F. Browne</From>
<To>Northwind Traders</To>
<LineItems>
<Item>
<Product>Laptop Computer</Product>
<Description>Thin profile laptop</Description>
<Price>1999.95</Price>
<Quantity>1</Quantity>
</Item>
<Item>
<Product>Monitor Swipes</Product>
<Description>Disposable monitor swipes</Description>
<Price>3.95</Price>
<Quantity>10</Quantity>
</Item>
</LineItems>
</ns0:PurchaseOrder>
项记录的 Max Occurs 属性设置为未绑定。 这表示 项 记录循环,BizTalk 映射器将此记录编译为循环。
假设你想要在采购订单输入实例消息中找到 Item 元素的总数,并将结果放在输出实例消息的字段中。
下图显示了一个 Record Count functoid,用于对传入采购订单中的项数进行计数,并将该值放入 SummedPO 输出实例消息的 ItemCount 字段中。
“记录计数”Functoid 映射
请注意,项记录的 Max Occurs 属性将不受限制。 这表示 项 记录循环,BizTalk 映射器将此记录编译为循环。
对于包含两个 Item 元素的上述示例采购订单实例消息, ItemCount 字段的值将设置为 2。
<ns0:SummedPO xmlns:ns0="http://RecordCountFunctoid.SummedPO">
<From>Kevin F. Browne</From>
<To>Northwind Traders</To>
<POTotal>2039.45</POTotal>
<ItemCount>2</ItemCount>
</ns0:SummedPO>
注意
还可以使用“记录计数”functoid 对重复字段元素进行计数。 不仅仅限于记录。
另请参阅
如何将“记录计数”Functoid 添加到映射
高级 Functoid
“索引”Functoid
“迭代”Functoid
“循环”Functoid