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.

TRANSF_1_1_1> DBG_21263 Invalid lookup override

If you use the Sql override in a lookup, e. g. you want to use mapping parameters, than make sure that the comparison and connected output ports are reflected in the aliases of the query. You do not need to have the complete list of output ports.


Connected lookup



Working sql override
select CODE_CODE as CODE_CODE
     , CODE_CODEART as CODE_CODEART
     , CODE_BESCHREIBUNG as CODE_BESCHREIBUNG
  from KDS_C_CODE_CODEREFERENCE
 where CODE_GUELTIGFLAG = 1
   and CODE_CODEART = '$$CODEART'
   and CODE_BESCHREIBUNG = '$$BESCHREIBUNG_ptsp'
A colleague of mine reported that he experienced in SQ sql overrides mal associated columns to ports when no aliasing of column names was used. I fortunately did not yet experience this behaviour.