Mittwoch, 28. September 2016

Automagic Port Insertion into Expression (if I only knew earlier)

I just discovered that PowerCenter inserts a missing port into an expression by itself.


I had this expression where I had to calculate a big number of out ports. So I drag-and-dropped (dnded ;-) ) them to the expression and made them out ports only. After that I dnded the source ports to the expression but I did not get them all as it turned out.



After that I copied the calculations from my specification document into the expression field of the out port.



And the missing port was there as in port only.



It's magic, it's cool, I'm excited. I will see if I can remember and make use of this features.

Montag, 26. September 2016

ORA-01007 in PowerCenter though not in TOAD or the like

I recently got ORA-01007 after adding and forwarding ports of sources. I took the offending SQL from the session log and ran it in TOAD where it returned without errors.


Cause: I missed that the source qualifier used SQL override, so I did not adapt it.


Solution: I added the new ports to the attribute list of the SQL override and the error was gone.


N.b.: http://datawarehouse.ittoolbox.com/groups/technical-functional/informatica-l/ora01007-variable-not-in-select-list-1451528 says even that this error occurs when you do not strictly follow the order of the ports in the SQL override attribute list.

Mittwoch, 21. September 2016

Worklet task instance [XYZ]: Could not acquire the execute lock for Worklet [xyz] [].

I just got this error. The Workflow Monitor showed the worklet in question as being succeeded.

Solution

Stop the worklet explicitly by the use of the context menu.
 It does not seem to be necessary to remove the lock in the Administration Console as suggested by https://kb.informatica.com/solution/5/Pages/18244.aspx

Mittwoch, 31. August 2016

Run-time validation error: Joiner Transformation has an invalid join condition: not all of the ports could be found.

Symptom

The session fails in its initialisation. You have a very short log and somewhere therein is an entry saying:
TM_6279 The session instance [xyz] encountered the following run-time validation error: [Joiner Transformation  has an invalid join condition: not all of the ports could be found.
Joiner Transformation  has an invalid join condition: not all of the ports could be found.

(Possible) Cause

I was changing the name of the ports to the joiner being used in the join condition by the propagation feature.


The port name changed. The name of the port used in the join condition changed. The mapping was valid. Everything looked fine - in the mapping. However, this change was not propagated to the session.


Solution

It seems one cannot solve this issue on session level. I tried to refresh the mapping, exported and imported the enclosing worklet to NO avail.
All I had to do, was to change the name of the affected port in into something else confirm the change (I closed the joiner dialog, maybe pressing apply also works, I did not try) and change it back to the desired name.

I am not sure whether I did a mapping refresh on session level, however it might be worth just for good measure.