构建选项卡 (DataStage

使用这些部分来定义阶段将执行的实际操作。

接口

使用 "接口" 部分可指定有关阶段的输入和输出的详细信息,以及有关将记录从输入自动传输到输出的详细信息。 您可以指定端口详细信息,该端口是链路连接到阶段的端口。 对于到阶段的每个可能的输入链接,都需要一个端口,而对于来自阶段的每个可能的输出链接,都需要一个端口。

输入

  • 端口名。 端口的可选名称。 端口的缺省名称为 in0, in1和 in2 ...。 您可以使用缺省名称或指定的名称在代码中引用这些名称。
  • 别名。 如果端口名包含非 ascii 字符,那么可以在此列中为其提供别名 (仅在启用 NLS 的情况下才可用)。
  • AutoRead. 这缺省为 True ,这意味着阶段将自动从端口读取记录。 否则,将显式控制代码中的读操作。
  • 表名称。 在 IBM® DataStage® 存储库中指定用于描述端口的元数据的表定义。 您可以通过从单击 "浏览" 按钮时显示的菜单中选择 "选择表" 来浏览表定义。 您还可以通过从同一菜单中选择 "查看模式" 来查看与此表定义对应的模式。 您不必提供表名。 如果表定义中的任何列具有包含非 ascii 字符的名称,那么应从菜单中选择 "列别名"。 此时将显示 "构建列别名" 对话框。 这将列出需要别名的列,并允许您指定一个别名。
  • RCP。 如果此端口的输入允许运行时列传播,请选择 True。 缺省值为 False。 如果您正在使用自动传输设施,那么不需要设置此值。

输出

  • 端口名。 端口的可选名称。 链接的缺省名称为 out0, out1和 out2 ...。 您可以使用缺省名称或指定的名称在代码中引用这些名称。
  • 别名。 如果端口名包含非 ascii 字符,那么可以在此列中为其指定别名。
  • AutoWrite. 缺省值为 True ,这意味着阶段将自动将记录写入端口。 否则,将显式控制代码中的写操作。 一旦写入记录,代码就无法再访问这些记录。
  • 表名称。 在 IBM DataStage 存储库中指定用于描述端口的元数据的表定义。 您可以浏览以查找表定义。 您不必提供表名。 从 "浏览" 按钮访问的快捷菜单提供了 "清除表名" , "选择表" , "创建表" , "视图模式" 和 "列别名" 选项。 这些内容的使用如 "输入" 子选项卡中所述。
  • RCP。 如果此端口的输出允许运行时列传播,请选择 True。 缺省值为 False。 如果您正在使用自动传输设施,那么不需要设置此值。

传送

"传输" 部分允许您将输入缓冲区连接到输出缓冲区,以便记录将自动从输入传输到输出。 您还可以禁用自动传输,在这种情况下,您必须在代码中显式传输数据。 传输的数据位于输出缓冲区中,并且仍可由代码访问和更改,直到实际将其写入端口为止。

  • 输入。 从下拉列表中选择要连接到缓冲区的输入端口。 如果指定了别名,那么将在此处显示此别名。 必须指定输入端口。
  • 输出。 从下拉列表中选择要将输入记录从输出缓冲区传输到的输出端口。 如果指定了别名,那么将在此处显示此别名。 输出端口是可选的。
  • 自动传输。 这缺省为 False ,这意味着您必须包含用于管理传输的代码。 设置为 True 以自动执行传输。
  • 分开。 缺省情况下为 False ,这意味着此传输将与到同一端口的其他传输组合在一起。 设置为 True 以指定传输应与其他传输分开。

逻辑

指定阶段执行的实际代码。

定义

指定变量,包含头文件,否则在处理任何记录之前初始化阶段。

预循环

指定在处理任何记录之前,在阶段开始时执行的代码。

每个记录

指定针对每个处理的记录执行一次的代码。

后循环

指定在处理完所有记录之后执行的代码。

您可以直接输入到这些部分中,也可以从另一个编辑器中进行剪切和粘贴。 "Pre-Loop" , "Per-Record" 和 "Post-Loop" 部分中的快捷菜单允许访问可在代码中使用的宏。