Plan with a Cycle Throws an Error

Reported for version 10

Problem

A plan that contains a cycle seems to be valid in MDC, but, when I click on export in MDC I receive error:

com.ataccama.nme.core.NmeConfigException: /ataccama/mdc/Export.comp: Cannot start '/ataccama/mdc/Export.comp' due to severe errors:
[ERROR] Column 'id' specified by property name must exist.(Soap Call) 
[ERROR] Unknown column 'in_left.id' at 1-10 in 'in_left.id'.(Join 2) 
[ERROR] Unknown column 'id' at 1-2 in 'id'.(Join 2) 
[ERROR] Unknown column 'in_left.id' at 1-10 in 'in_left.id'.(Join) 
[ERROR] Unknown column 'id' at 1-2 in 'id'.(Join) 
[ERROR] Unknown column 'in_left.id' at 1-10 in 'in_left.id'.(Join 3) 
[ERROR] Unknown column 'id' at 1-2 in 'id'.(Join 3) 
[ERROR] Column 'id' specified by property name must exist.(GWKUNDE) 
[ERROR] Connections don't have the same format for a multiple end point 'in' connected from step 'remove not needed'. Difference summary:
end point 'in' columns not in step 'remove not needed' columns: '',
step 'remove not needed' columns not in end point 'in' columns: 'id',
columns with different types: ''.(Union Same) 
[ERROR] Column 'id' specified by property name must exist.(Excel File Writer) 

Solution

The error is displayed because DQC/MDC does not support loops. For many of DQC steps, it is hard to tell how they would behave in a loop, especially the steps that read data from a database or text files. Also, we believe that loops are hard to debug and it is very easy to make an infinite loop.

Nonetheless, in DQC version 10 we introduced a new workflow task – Iterate that can be used as a workaround when loops are necessary.