Page 1 of 1

Data flow cycle detected among operators in step

Posted: Mon Dec 08, 2008 3:04 am
by srinagesh
Hi !

I was trying to do some fancy stuff in response to a query posted on this forum.

The issue was to split a string

Code: Select all

Id, String
1, "a,b,c,d,e,f"
as

Code: Select all

Id Value
1 a
1 b
1 c
1 d
1 e
1 f
without really knowing the maximum number of "values" in the "String"

I tried to design a Job

Code: Select all



srcFile ----->  Full Outer Join ----> Transformer -----> Output
                           ^                         |
                           |                          |
                           |                          v
                           ------------------ Filter

Basically, reading from the file once, passing it onto Transformer, where the "String" is split and the value before the first delimeter (in this case comma) is extracted and written to the output.
The rest of the "string" is passed thru a filter (to see if it is empty) and joined with the source.

Theoritically & Programatically this type of looping should work fine, but for some reason Datastage does not seem to like this.

When I run the job, I get the error..

Code: Select all

main_program: Data flow cycle detected among operators in step
I wanted to know if this is the normal behaviour of Datastage, or am I missing something, like setting up some environment variable.

Regards

Re: Data flow cycle detected among operators in step

Posted: Mon Dec 08, 2008 7:36 am
by chulett
srinagesh wrote:Theoritically & Programatically this type of looping should work fine, but for some reason Datastage does not seem to like this.
No, it doesn't. You cannot build any kind of a "looping" structure in your jobs, Parallel or Server. Knock off the fancy stuff. :wink:

Posted: Mon Dec 08, 2008 7:57 am
by srinagesh
:shock: Just when I thought Datastage was perfect :twisted:

Thanks for the clarification Craig.

Posted: Mon Dec 08, 2008 4:06 pm
by ray.wurlod
:arrow:
Looping in the Transformer stage is in the roadmap for DataStage. This means "beyond version 8.1" with no particular promise on when it will be available.

Posted: Mon Dec 08, 2008 4:07 pm
by ray.wurlod
This particular problem is very easily solved with a server job!