I have a sequence that calls a job. The job writes a sequential file. The output path should come from an environment variable named $SOURCE_PATH, which is currently set to the value "d:\data".
In my project, I created a parameter set named "IDS_params". In one of the params I added the $SOURCE_PATH environment variable; its value "d:\data" showed up in the Default Value field of the Parameters tab.
On the Values tab, I created three rows, with Value File Names of "dev", "prod", "test". For the value of $SOURCE_PATH I specified "$PROJDEF" for each row; from what I understand, that should pick up the current environment's value for the param set chosen at runtime, so whether I spec "dev" or "prod", $SOURCE_PATH should have the value of the current runtime environment.
I have another param named "PathCompliantTimestamp" that's the return value from a routine.
In the sequence, I create a Job stage, and give it the "IDS_params" set, with the value expression set to "dev".
Now, I go to my job, and in the Sequential File stage's Input tab, use the following for File Name:
Code: Select all
#IDS_params.$SOURCE_PATH#\insurance_#PathCompliantJobStartTimestamp#.csv
Code: Select all
SVR_ICD0006_IDS_to_SAP..SEQ_write_intermediate_file.IDENT1: |SVR_ICD0006_IDS_to_SAP..SEQ_write_intermediate_file.IDS_file_OUT: DSD.SEQOpen Unable to create file $PROJDEF\insurance_2007-07-13_18-14-22.csv|
Code: Select all
#$SOURCE_PATH#
or
Code: Select all
$SOURCE_PATH
In those cases the error says "Unable to create file $SOURCE_PATH" rather than "Unable to create file $PROJDEF", but it's basically the same problem -- no variable interpolation.
If I hard-code the path, the other param (the timestamp) is getting replaced properly, so the general param-passing setup seems OK. This works:
Code: Select all
D:\data\insurance_#PathCompliantJobStartTimestamp#.csv
Code: Select all
D:\data\insurance_2007-07-13_18-04-59.csv
Thanks!
- Val