zoukankan      html  css  js  c++  java
  • [BizTalk][Mapping]关于Table Looping Functoid的用法


     Table Looping Functoid  表循环

    先好好学习一下TableLoopingFunctoid的基本说明

    BizTalkDesign

    使用“表循环”functoid 创建输出消息结构的迭代(不同于输入消息结构,或在输入消息结构中不存在)。该 functoid 可接受多个输入参数,如链接、常数和其他 functoid,并使用这些输入参数创建“表提取程序”functoid 可从中提取数据的表。该 functoid 可以与“表提取程序”functoid 结合使用。
    该 functoid 的第一个输入参数必须是作用域链接,
    第二个输入参数表示数据网格中的列数。如果在网格中输入数据后再更改第二个参数,将会强制用户重新输入该数据。该 functoid 的输出应该连接到用于确定迭代作用域的目标架构中的至少一个记录或字段元素。


    MSDN:

    Use the Table Looping functoid (Table Looping Functoid Icon), in conjunction with one or more Table Extractor functoids, to create a repeating structure in an output instance message by using constant values, values from an instance message, and values that are output from other functoids.

    Input

    Parameter 1: A link from a repeating node in the source schema. The number of instances of this structure that occur in a particular input instance message defines the number of times that the associated table looping grid is processed.

    Parameter 2: A constant input parameter that defines the number of columns in the assocated table looping grid.

    Parameters 3 - 100: A link from a node in the source schema or from another functoid, such as a Value Extractor functoid, or a constant input parameter. The relative order of parameters 3 - 100 is unimportant.

    Output

    Output 1: A link to a repeating node in the destination schema, identifying the location of the repeating structure in output instance messages that is constructed by using values configured in the associated table looping grid.

    Outputs 2 - N: One or more links to the associated Table Extractor functoids, one per such functoid.

    Remarks

    You must use this functoid in conjunction with one or more Table Extractor functoids.

    This functoid accepts multiple inputs, such as links from the source schema, constants, and the output of other functoids. You use these inputs to configure the table looping grid from which the associated Table Extractor functoids extract the data used to build the relevant portion of the output instance message You configure the table looping grid by using the Table Looping Configuration dialog box, which you access by using the Table Looping Grid property of Table Looping functoids.

    Every cell in the table looping grid is a drop-down list that is populated by input parameters 3 through 100. How the entries in the drop-down list are represented depends on the type of the corresponding input parameter and, where applicable, on whether the Label property of the link is assigned a value. There are three possibilities:

    1. Constant input parameters are displayed as their values.
    2. Input parameters that are links from nodes in the source schema and for which no Label link property value is supplied are displayed by using the value of their Link Source functoid property.
    3. Input parameters that are links from another functoid and for which no Label link property value is supplied are displayed by using the value of their (Name) property.

    In the case of 2 and 3 above, and especially in the case of 2, where the input parameters are links from nodes in the source schema, the effort involved in providing descriptive values for the Label property of the relevant link is generally well spent when the time comes to configure the table looping grid.

    The Table Looping Configuration dialog box also has a check box with the label Gated. When you select this check box, you are specifying that the logical value of the data specified for column 1 controls whether any processing is performed for that row. In other words, as rows in the table looping grid are processed, if the value specified in column 1 evaluates to False, the associated row of the grid is skipped (meaning that the associated Table Extractor functoids are not invoked for that row).


    读读BizTalkor的Blog
    Table Looping Functoid in BizTalk (Mike Holdorf's Blog)



    然后自己写个例子,加深理解
    continuing.....


    应用场景
    1.数据分解
    <Input>
      
    <PrimaryFirstName/>
      
    <PrimaryLastName/>
      
    <SecondaryFirstName/>
      
    <SecondaryLastName/>
    </Input>

    <Output>
      
    <Name>
        
    <FirstName/>
        
    <LastName/>
      
    </Name>
      
    <Name>
        
    <FirstName/>
        
    <LastName/>
      
    </Name>
    </Output>
  • 相关阅读:
    新浪推出开放云计算平台Sina App Engine
    摄像机标定
    Qt开发环境大全
    [转]卡尔曼滤波器
    Qt Creator:跨平台 IDE
    建立交叉编译的Qt/Embeded开发环境
    Linux mmap
    QtCreator在不同平台开发的程序的运行
    粒子滤波概述
    13、几点小结,unsigned long long
  • 原文地址:https://www.cnblogs.com/xuzhong/p/390550.html
Copyright © 2011-2022 走看看