“记录计数”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 用法的地图。
“记录计数”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