Compiling Routines

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
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

That's going to depend on exactly how you are importing/exporting. Probably not.

The message about 'references' is simply trying to tell you that the routine is used in jobs and that after you compile the routine, you *may* need to recompile the jobs that use it for them to recognize any changes made. I believe that is only true if you have built any Transforms using the Routines, but not if you are using the routines directly.

It depends on how the compiler does its thing - sometimes they are called by the jobs and so the changes are read in dynamically at runtime and at other times they are compiled into the program. I suddenly realized that all this may no longer be true for the 6.0 release (from recent posts) and I may be remembering the way it worked in the Old Days. Hopefully someone smarter than me can buzz in with a clarification. [:I]

-craig
kcbland
Participant
Posts: 5208
Joined: Wed Jan 15, 2003 8:56 am
Location: Lutz, FL
Contact:

Post by kcbland »

All it means is that the function is used in a job. You should still compile it if it needs compilation.

Ascential added this verification check, which is why when you have 500+ jobs it can take upwards of a minute to compile, as all of your job designs are searched to see if the function is used. It's been my experience that you know what you are doing, so this check is simply a waste of your time.

Routines are independent pieces of code, so their compilation is a separate issue from a job. TRANSFORMS are totally different, and changing a TRANSFORM in Manager does require a recompilation of the jobs. That's why I NEVER write them.

Kenneth Bland
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Thanks for the clarification, Kenneth. [:D] I was pretty sure about the Transform stuff, but not absolutely sure.

The delay wasn't a big deal in my old Tru64 environment, as the check happened fairly quickly. Now, on my current HP/UX dev server, it takes quite some time between pressing the Compile button and the notice "Hey, are you *sure* you really want to do this?". Annoying and there should be an option to turn that check off.

-craig
ryoung011
Participant
Posts: 10
Joined: Mon May 03, 2004 2:02 pm
Location: Atlanta, GA
Contact:

Post by ryoung011 »

Is there a way to compile all Routines in a Project?

...similar to the Multiple Job Compile, but for Routines?


TIA,

Rick
kcbland
Participant
Posts: 5208
Joined: Wed Jan 15, 2003 8:56 am
Location: Lutz, FL
Contact:

Post by kcbland »

Only thru a reverse-engineering effort, Ascential does not provide for that in any of the client applications. I do have a free utility job for doing so. You can get it from my website after applying for access to the members area. I may have posted the logic here on the forum as well, so take a quick search for it.

-Ken
Kenneth Bland

Rank: Sempai
Belt: First degree black
Fight name: Captain Hook
Signature knockout: right upper cut followed by left hook
Signature submission: Crucifix combined with leg triangle
trobinson
Participant
Posts: 208
Joined: Thu Apr 11, 2002 6:02 am
Location: Saint Louis
Contact:

Post by trobinson »

1. I'm pretty sure you can turn off the routine check in 5.2+. From Manager => Options => Usage Analysis => General => Uncheck Warn if compiling Referenced Routine will speed up the compile considerably.
2. I am also pretty sure that routines imported into a project MUST be compiled for the changes to take affect when a job runs. If the import is for the first time, the job will abort because the RT_* for the routine does not yet exist and after that the OLD compiled code may be used if all you do is import the source code. Kinda of a frustrating occurrence.
Post Reply