Execution error - creation of extra file... please help

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
durgaps
Participant
Posts: 74
Joined: Sat Jul 08, 2006 4:09 am
Location: Melbourne, Australia
Contact:

Execution error - creation of extra file... please help

Post by durgaps »

I have a FILTER stage which has 2 output links,LINK1 & LINK2. Depending on the FILTER predicate either LINK1 or LINK2 is chosen. I am facing 2 problems/issues out here.

1. Even if one LINK is chosen after the FILTER stage the job is creating 2 output files one for each link. The first file created is correct and has required data. The second file created(which is not required as it is on LINK2) contains 0 records.

Can we stop the creation of the second file containing 0 records?

2. In the next RUN when I choose the LINK2 to run thru the FILTER stage the exact problem as mentioned in point 1 is happening again(i.e. creation of 2nd file). Here there is one more problem. :-(
On LINK1 there is an ODBC stage which does a SELECT qry. Even though I select LINK2 to run apart from processing the LINK2 operations, the ODBC stage on LINK1 gets processed and that continues and produces a sequential file which contains the QRY-ied data which is not required.

Objective: Either LINK1 should run or LINK2 should run.

I am sure it has got nothing to do with the FILTER stage as I replaced the FILTER stage with a TRANSFORMER stage and the same story is repeating. It has got to do more with how DataStage processes the stages(i.e. the sequence of executions) ...

Can somebody help me on this? Thanks in advance. :-)
Durga Prasad
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

you cannot stop datastge from creating a 0Kb file if it is given as in output link.
But you can delete the created 0kb (only if 0kb) from after job subroutine. It has been discussed. You can perform a search on it.
Or filter it in a higher level, i.e., from Jobsequence with the help of parameter/JobStatus, chose the job to execute based on the result.
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
Post Reply