Page 1 of 1

DSCAPIOP_ replacing "$" in Teradata API and Multi-

Posted: Thu Aug 28, 2008 12:24 pm
by throbinson
These stage DLLs appear identical to me Server to EE. Server jobs work with Project Environment parameters, EE jobs fail.

Can anyone explain why EE jobs that use the Teradata API or Teradata Multi-load stages feel the need to translate Project Environment parameters? What is the technical rationale for this substitution?

I've searched on DSCAPIOP. There's a fair amount of mis-information out there but it appears this is a problem with the DB2 and Dynamic RDBMS stages too.

As an example;

$DATADIR becomes DSCAPIOP__DATADIR when the job is compiled and run;

Error log

Teradata_Multiload_0,0: Fatal Error: Fatal: Cannot create control file #DSCAPIOP__DATADIR#/thrtest.ctl: No such file or directory [dscapiop.C:1882]


osh
LMETHOD=\'Invoke MultiLoad\',
LOADTYPE=\'Upsert\',
DIRPATH=\'\#DSCAPIOP__DATADIR\#\',
OVERWRITE=\'YES\',
LARGEFILES=\'YES\',
score
LMETHOD=\\'Invoke MultiLoad\\',LOADTYPE=\\'Upsert\\', \n DIRPATH=\\'#DSCAPIOP__DATADIR#\\', \n OVERWRITE=\\'YES\

Teradata Enterprsie Stage works fine with Project Environment parameters.

Re: DSCAPIOP_ replacing "$" in Teradata API and Mu

Posted: Thu Aug 28, 2008 1:13 pm
by dsdeveloper13
When the environment variables are not impoted explicitly, such errors occur. Make sure that all the variables being used are imported into the job.

[quote="throbinson"]These stage DLLs appear identical to me Server to EE. Server jobs work with Project Environment parameters, EE jobs fail.

Can anyone explain why EE jobs that use the Teradata API or Teradata Multi-load stages feel the need to translate Project Environment parameters? What is the technical rationale for this substitution?

I've searched on DSCAPIOP. There's a fair amount of mis-information out there but it appears this is a problem with the DB2 and Dynamic RDBMS stages too.

As an example;

$DATADIR becomes DSCAPIOP__DATADIR when the job is compiled and run;

Error log

Teradata_Multiload_0,0: Fatal Error: Fatal: Cannot create control file #DSCAPIOP__DATADIR#/thrtest.ctl: No such file or directory [dscapiop.C:1882]


osh
LMETHOD=\'Invoke MultiLoad\',
LOADTYPE=\'Upsert\',
DIRPATH=\'\#DSCAPIOP__DATADIR\#\',
OVERWRITE=\'YES\',
LARGEFILES=\'YES\',
score
LMETHOD=\\'Invoke MultiLoad\\',LOADTYPE=\\'Upsert\\', \n DIRPATH=\\'#DSCAPIOP__DATADIR#\\', \n OVERWRITE=\\'YES\

Teradata Enterprsie Stage works fine with Project Environment parameters.[/quote]

Posted: Thu Aug 28, 2008 1:29 pm
by throbinson
I assume you mean importing by selecting them rather then typing them in. This is not an available option. They have to be typed. It is also not an option in the Server versions of these EE jobs. Both sets are imported the same way -- they are manually typed. Server jobs work, EE jobs fail. Perhaps the EE jobs don't recognize them as parameters? How does that figure with the substitution of the $ with DSCAPIOP__? In what stage did you experience this problem with typed Project Environment parameters versus selecting them from a list?

Posted: Thu Aug 28, 2008 1:56 pm
by toshea
I believe it's a bug in the job compiler. The environment variable job parameter should be represented in the osh as [$DSCAPIOP_PARAMNAME] instead of #DSCAPIOP_PARAMNAME#. Try getting the patch for Ecase 104775.