记录计数 functoid 对输入实例消息中的记录进行计数。
记录计数功能节点拥有一个输入和一个输出。 输入是源架构中循环记录的链接。 记录计数 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 属性设置为无限。 这表示 Item 记录循环,BizTalk 映射器将此记录编译为循环。
假设你想要在采购订单输入实例消息中找到 Item 元素的总数,并将结果放置在输出实例消息的字段中。
下图展示了一个项计数功能块,它用于计算传入采购订单中的项数,并将该值放置在ItemCount字段中,并输出到SummedPO实例消息。
记录计数 Functoid 映射
请注意,项记录的 Max Occurs 属性将是不受限。 这表示 Item 记录循环,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>
注释
还可以使用 Record Count functoid 对重复字段元素进行计数。 该系统不限于记录。