Informatica 查找:尝试查找仅输出端口的输入值

Informatica lookup: Trying to find input value of output-only port

在 Informatica (9.1.0) 映射中,查找转换 LKP_TARGET 派生自目标 table,TARGET。

查找的条件是:

CUST_ID = in_CUST_ID

LKP_TARGET 有一个端口 NewLookupRow 不是查找的一部分(不是从目标 table 派生的),没有关联的表达式,是仅输出的,并且查找中没有其他端口具有引用它的关联表达式。然而,此端口的输出值处于 Router Transformation 的 Groups 条件。

我无法找到这个端口是如何获得它输出的值的。不胜感激。

NewLookupRow 端口会在您配置动态查找时自动添加。以下是 Informatica 手册的相关摘录。

NewLookupRows

When you configure a Lookup transformation to use a dynamic cache, the Designer adds the NewLookupRow port to the transformation. The Integration Service assigns a value to the port, depending on the action it performs to the lookup cache.

The following table lists the possible NewLookupRow values:

NewLookupRow Value |  Description
------------------------------------------------------------------------
0                  |  Integration Service does not update
                   |  or insert the row in the cache.   
1                  |  Integration Service inserts the row into the cache.   
2                  |  Integration Service updates the row in the cache.  

When the Integration Service reads a row, it changes the lookup cache depending on the results of the lookup query and the Lookup transformation properties you define. It assigns the value 0, 1, or 2 to the NewLookupRow port to indicate if it inserts or updates the row in the cache, or makes no change.

The NewLookupRow value indicates how the Integration Service changes the lookup cache. It does not change the row type. Therefore, use a Filter or Router transformation and an Update Strategy transformation to keep the target table and lookup cache synchronized.

Configure the Filter transformation to pass new and updated rows to the Update Strategy transformation before passing them to the cached target. Use the Update Strategy transformation to change the row type of each row to insert or update, depending on the NewLookupRow value.

You can drop the rows that do not change the cache, or you can pass them to another target.

Define the filter condition in the Filter transformation based on the value of NewLookupRow. For example, use the following condition to pass both inserted and updated rows to the cached target:

NewLookupRow != 0