覆盖主要内容

Java Script 代码

组件介绍

JavaScript代码组件中可以执行 java script 代码,恰当的使用可以极大丰富 UDI 的使用场景。在脚本区域中键入的代码在步骤中的每一行执行一次。此步骤还允许您在单个步骤中创建多个脚本。


  • 输入:数据流
  • 输出:经处理的数据流

页面介绍

运行“JavaScript代码”组件得到下图所示的界面:

参数选项

JavaScript代码”组件页面包含如下选项:

选项说明样例值
Transform Scripts在此步骤中创建的脚本CSV文件输入
Transform Constants预定义静态常量,用于控制数据行发生的情况。使用时必须为变量指定一个常量trans_Status值。若要使用这些常量,必须首先在脚本trans_Status将 trans_Status 变量设置为CONTINUE_TRANSFORMATION,以便将变量赋值设置为正在处理的第一行。否则,将忽略对trans_Status的任何后续赋值。双击常量以将其添加到 Java 脚本窗格
Transform Functions可以在脚本中使用的字符串,数字,日期,逻辑,特殊和文件函数。这些包含的函数用Java实现,并且比JavaScript函数执行得更快。每个函数都有一个示例脚本演示其用法。双击该函数以将其添加到Java脚本窗格。右键单击并选择示例,将示例添加到Java脚本窗格
输入字段输入步骤的字段
输出字段为步骤输出字段
Script here填写待运行的 java script 脚本
兼容模式选择兼容模式选项以使用2.5JavaScript引擎的版本。如果未选择此选项(默认),则该步骤使用JavaScript引擎的版本3
优化级别选择 JavaScript 优化级别。这些值是: 1:JavaScript 以解释模式运行。 0:不执行优化。 1-9:执行所有优化。 9 执行最多的优化,脚本执行速度更快,但编译速度较慢。默认值为 99

字段表

组件底部表格为字段表,右击选择“获取变量(&G)”,组件可根据当前指定设置从源文件获取相应内容填充字段表。该表包含以下列:

列名说明样例值
字段名称指定传入字段的名称
重命名为传入字段指定一个新名称
类型指定输出字段的数据类型
长度指定输出字段的长度
精确指定输出字段的精度值
替换值 FiedName 或 Rename指定是将选定字段的值替换为另一个值还是重命名字段。值为Y和N

使用案例

使用“JavaScript代码”组件添加 proc_code 字段,首先使用“CSV文件输入”组件提取数据如下图所示:

使用“JavaScript代码”组件添加proc_code字段并运行成功结果如下图所示:

使用案例二

在这个步骤里可以写JavaScript,可以通过JavaScript读取文件、连接到数据库、输出信息到弹出窗口,等等。你会发现它能提供比你想要的更多的功能。 (1)、新建转换,首先需要一些输入数据,将“表输入”拖至画布,并rental表数据。 sql附件为:rental.sql 

截图如下:

(2)、将“字段选择”拖至画布,选择如图所示的四个字段。

(3)、将“JavaScript”拖至画布,添加筛选代码。

//Script here

var status = "OK";
var age = dateDiff(rental_date,return_date,"w");
if (age >= 1) status = "LATE";

(4)、将Switch/Case拖至画布,设置判断条件,并且值为OK发送给OK步骤,值为LATE发送给“中止”步骤

(5)、完整转换如下图所示:

(6)、运行转换,结果如下图所示:

(7)、点开OK及中止,查看输出结果。