Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该如何通过Odi12c映射将数据发送到java方法_Java_Oracle_Oracle12c_Oracle Data Integrator - Fatal编程技术网

我应该如何通过Odi12c映射将数据发送到java方法

我应该如何通过Odi12c映射将数据发送到java方法,java,oracle,oracle12c,oracle-data-integrator,Java,Oracle,Oracle12c,Oracle Data Integrator,最近,我开始使用Odi12c过程,直到现在,我只使用映射。现在,我有一个不同表和联接的映射,我需要按列进行计算。为此,我必须使用java方法,因此我有如下内容: public void static List<Map<String, String>> seg( List<Map<String, String>> comp) { for (Map<String, String> map : comp) { if

最近,我开始使用Odi12c过程,直到现在,我只使用映射。现在,我有一个不同表和联接的映射,我需要按列进行计算。为此,我必须使用java方法,因此我有如下内容:

 public void static List<Map<String, String>> seg( List<Map<String, String>> comp) {
    for (Map<String, String> map : comp) {
        if (total > 0 && min1 != min1_fin) {
            rest = total - min1;
            total-=min1;
            map.replace("min1_fin",rest);
            map.replace("total",total);
        } else {a= true}
        if (a) { //(operation for next column)  
            if (total > 0 && min2 != min2_fin) {
               rest = total - min2; 
        .
        ..
        ...
    }
    return comp;
 }
我曾考虑过将所有内容都放在一个包中,将代码直接放在一个过程中或放在一个jar中并调用它(我仍然不知道如何)


但有可能做到这一点吗?如何将数据以这种方式发送到java方法,并在返回时读取数据?

如果结果需要存储在数据库中,则使用java进行转换不是最佳模式。在SQL中这样做会更有效率

无论如何,如果您真的想使用Java,您可以通过绑定将数据从源命令传递到任何过程步骤或KM步骤的目标命令。这是关于它的文件:
确保在产品定义中选中“多连接”复选框。数据将通过执行代理。

是否可以直接在SQL中执行?从架构的角度来看,这会简单得多。而且更易于维护。你能举一个源数据和预期结果的例子吗?我也认为用SQL做任何事情都要容易得多,但我不能,我必须用Java,因为我必须学会用Odi12c实现它(除了过程)。。。所以我就想这样做。我的数据就像我发布的示例一样,我有几个键,我使用它们进行每列减法(Total-min1),如果Total甚至大于零,我将在下一行减法相同的字段(min1)
 KEY    TOTAL     MIN1     MIN2   MIN1_FIN   MIN2_FIN
 ------ -------- -------- ------- --------- ----------
 1      35,14   61,85     91,85     0          0
 1      35,14   8,09      58,32     0          0
 2      85,67   6         6         0          0
 2      85,67   67,6      71,47     0          0