解释 java informatica 中的转换

explain java transformation in informatica

大家好,我在映射中使用了 java 转换并在其中添加了代码

for(int i=0;i<3;i++)
{
     EMP_NAME1=">>"+EMP_NAME+"<<";
     EMP_ID1=EMP_ID;
}

我预计这些行应该被插入 3 次。

但是它完成了一次,字符串与>> <<连接。

谁能给我解释一下主动和被动java转换有什么区别。

无论如何我都创建了被动,这是原因吗?

提前致谢。

您需要在循环内调用 generateRow()。 Java 每次执行此函数时,转换都会发出一个新行。

Active 转换会更改通过它们的行数。相反,如果输入行数等于输出行数,则转换称为被动。你应该使用前者。

您需要使用 generateRow 函数来生成新记录。

可以在下面找到为学生及其学科分数创建新记录的示例程序。

String [] sub_list;
String sub_delimiter =”,”;
String [] subject_mark;
string mark_delimiter = “=”;
sub_list = SUBJECT_WITH_MARKS.split(sub_delimiter);
o_STUDENT_NO= STUDENT_NO;
for (int i=0; i < sub_list.length ;i++) {
subject_mark = sub_list.split(mark_delimiter );
o_SUBJECT =subject_mark[0];
o_MARK =Double.parseDouble(subject_mark[1]);
generateRow();
}

您可以查看how to use java transformation in informatica了解更多详情。