gpt4 book ai didi

用于在 Informatica PowerCenter 映射中写入缺失值的 Java 代码

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:59 25 4
gpt4 key购买 nike

我有一项任务要查看数据库 (SAP iDoc),该数据库中包含按段派生的特定值。我必须在映射末尾导出一个 xml,该映射有一个可以包含多行的子组件。我的问题是我们有一个组件,它有两个由限定符分隔的值。

每笔交易看起来都是这样的:

+----------+-----------+--------+
| QUALF_1 | BETRG_dc | DOCNUM |
+----------+-----------+--------+
| 001 | 20 | xxxxxx |
| 001 | 22 | xxxxxx |
+----------+-----------+--------+

+---------+-----------+-----------+
| QUALF_2 | BETRG_pr | DOCNUM |
+---------+-----------+-----------+
| 013 | 30 | xxxxxx |
| 013 | 40 | xxxxxx |
+---------+-----------+-----------+

我的问题是,当与内置转换结合时,我们会得到像这样的几何级数

+---------+-----------+-----------+
| DOCNUM | BETRG_dc | BETRG_pr |
+---------+-----------+-----------+
| xxxxxx | 20 | 30 |
| xxxxxx | 20 | 40 |
| xxxxxx | 22 | 30 |
| xxxxxx | 22 | 40 |
+---------+-----------+-----------+

正如您所看到的,只有第一行和最后一行是正确的。

问题来自这样一个事实:如果 BETRG_dc 为 0,则整个段不会被发送,因此过滤器转换失败。

我发现 QUALF_1 和 QUALF_2 的段号是连续的。例如,QUALF_1 是 48,QUALF_2 是 49。

您能否帮助我创建一个 JAVA 转换,为缺失的 QUALF_1 添加一行。

这是一个要求表:

+-------+-------+---------------+
| QUALF | BETRG | SegmentNumber |
+-------+-------+---------------+
| 013 | 20 | 48 |
| 001 | 150 | 49 |
| 013 | 15 | 57 |
| 001 | 600 | 58 |
+-------+-------+---------------+

我想要看一下转换,如果我们有这样的来源:

+-------+-------+---------------+
| QUALF | BETRG | SegmentNumber |
+-------+-------+---------------+
| 001 | 150 | 49 |
| 013 | 15 | 57 |
| 001 | 600 | 58 |
+-------+-------+---------------+

继续插入段 ID 为 48 且 BETRG 值为“0”的行。

我已经尝试了所有能做的转变。

预期的输出应该是这样的:

+-------+-------+---------------+
| QUALF | BETRG | SegmentNumber |
+-------+-------+---------------+
| 013 | 0 | 48 |
| 001 | 150 | 49 |
| 013 | 15 | 57 |
| 001 | 600 | 58 |
+-------+-------+---------------+

最佳答案

您应该在连接器转换中连接两个表。使用 Left(master) 外连接,然后将其带入目标。然后将右表中的 BETRG 列映射到目标,并将左表中的其余列映射到目标。发生的情况是,当没有匹配时 BETRG 将为空。将其放入表达式中,查看该值是否为 null 或为空,然后将其更改为 0 或您想要的值。

关于用于在 Informatica PowerCenter 映射中写入缺失值的 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56738504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com