“记录计数”Functoid

记录计数 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 用法的地图。
记录计数 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 对重复字段元素进行计数。 该系统不限于记录。

另请参阅

如何将记录计数 Functoid 添加到地图
高级功能元件
索引 Functoid
迭代函数体
循环 Functoid