Page 1 of 1

Ds Transform and Production

Posted: Fri Dec 22, 2006 3:35 am
by thurmy34
Hi,
I have a strange behavior with some of my jobs in the production environement.
They abort with

Code: Select all

Project:INFOCENTRE (t3fAC)
Job name:AlimIFCAICOM
Event #:11
Timestamp:20/12/2006 23:02:38
Event type:Warning
User:BDPME\USRTTT
Message:
DataStage Job 1 Phantom 3548
Program "JOB.1118171632.DT.1414830161.TRANS1": Line 152, Unable to open the operating system file "RT_BP1.O/DSU.DataTypePicS9".
[ENOENT] No such file or directory
Program "JOB.1118171632.DT.1414830161.TRANS1": Line 152, Unable to load file "DSU.DataTypePicS9".
Program "JOB.1118171632.DT.1414830161.TRANS1": Line 152, Unable to load subroutine.
Attempting to Cleanup after ABORT raised in stage AlimIFCAICOM..T010_ALIM_AICOM
DataStage Phantom Aborting with @ABORT.CODE = 3
Like you see i using the sdk/DataTypePicS9 transform and i and understand that the job can find it.
Before import a dsx in production we test the jobs in a pre-prod server and they don't abort.
After a simple compilation it's okay.
Can you tell me what is wrong?

Thank you.

Posted: Fri Dec 22, 2006 7:00 am
by DSguru2B
Do an exact search on 'Unable to open the operating system file'. One thing is strange, the routine 'DataTypePicS9' is a datastage routine. It should be catalogued by DSX prefix rather than DSU.
thurmy34 wrote: Program "JOB.1118171632.DT.1414830161.TRANS1": Line 152, Unable to load file "DSU.DataTypePicS9".

Posted: Fri Dec 22, 2006 7:12 am
by thurmy34
Hi
I'm not the routine DataTypePicS9 but the transform DataTypePicS9.
In fact i don't know because the both exist.

In my transformer i call the ds transform.

The production service don't want to compile the job.

Posted: Fri Dec 22, 2006 7:19 am
by DSguru2B
Has this job been running in the past. A quick read of the query results indicates that such problems arise if something goes wrong with the executables, which can be fixed after a re-compile. The production support is right, they will not compile it, you need to recompile the job and export it again.

Posted: Fri Dec 22, 2006 7:27 am
by thurmy34
How can i validate my compile if the import works on the pre-prod server and not on the production one ?

Maybe something is wrong on the production server ?
I forgot to mention that the project is protected.

Posted: Fri Dec 22, 2006 7:31 am
by DSguru2B
I think we need more expert advice. Lets wait for the true Gurus to give us their expert advice.
If nothing else works, make a copy of the sdk routine, name it myDataTypePicS9(). This way you will be able to compile it and run it. Make sure it works in the test box. Export the new job and your user defined routine myDataTypePicS9(). Keep this as a second option/work around.

Posted: Fri Dec 22, 2006 8:50 am
by chulett
You need to double-check that you actually have the sdk routines in this 'production' environment. The transform you used is just a gateway to the routine itself and it will happily compile without the routine there, but will blow at runtime.

I'm not sure why in the heck you wouldn't have them all as they install automatically with the product, but not knowing anything about how this environment was setup that's the first question that needs to be asked.

Posted: Fri Dec 22, 2006 3:43 pm
by ray.wurlod
That message says that DataTypePicS9 is being sought as a user-written routine, with a DSU prefix. But SDK routines are not cataloged with a DSU prefix. Thus, if you want to invoke the SDK routine your routine will require an appropriate DEFFUN declaration.

Note also that Transforms can not be invoked from routines.