BASIC routine is not cataloged

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
raju_chvr
Premium Member
Premium Member
Posts: 165
Joined: Sat Sep 27, 2003 9:19 am
Location: USA

BASIC routine is not cataloged

Post by raju_chvr »

ILArchives..JobControl (@FAILED2): Controller problem: BASIC routine is not cataloged: DSU.ForceFail

The above is the error DS throwing when I tried to execute a Sequencer with an routine embedded to kill the sequencer in case of any error.


Any help on this is appreciated.
mfortuna
Participant
Posts: 11
Joined: Mon Nov 03, 2003 12:38 pm
Location: Tampa, FL
Contact:

Post by mfortuna »

I think I saw this when I tried to run a Sequence job and the routine was not compiled, for example when you import the design of a set of jobs/routines.

Try compiling the routine and then running the job.
Michael Fortuna
Solutions Architect
mobile: 781.316-5718
mailto: michaelfortuna696@hotmail.com
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

The "DSU" prefix indicates that ForceFail is a user-written routine of some kind. The error "not cataloged" usually indicates that the routine has not successfully been compiled. If you imported from an export file in which the executable code had not been exported, this is an equivalent situation.

The process of compiling a server Routine also causes an entry to be placed in the "catalog" (actually the VOC file) containing the location of the executable code and, possibly, other information about its mode of execution. If compilation is unsuccessful, the cataloging step does not occur.

Another possibility is mis-spelling or mis-casing. Routine names, like most other things in DataStage (server) are case sensitive. Is the actual name of the Routine "Forcefail"?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
dickfong
Participant
Posts: 68
Joined: Tue Apr 15, 2003 9:20 am

Post by dickfong »

If ForceFail is the routine that you've developed and you want to call it in another routine or DS basic code. You should use the DEFFUN function to define it before use.

DF
rdy
Participant
Posts: 38
Joined: Wed Nov 05, 2003 2:40 pm

Further cause

Post by rdy »

I ran into this same problem, but it seemed unlikely that the routine name was misspelled because I selected it from a drop-down list in a routineActivity stage.

After reading the advice in this thread, I found that I had selected the function from the list, then went and changed the name of the function in my development :oops: ....so it didn't exist by that name anymore. I just had to change the routineActivity to point the the newly named routine.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Yep, that'll do it!
It's like continuing to write the old year in dates for a couple of days into the new year, and we all do that. :?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply