Hi, it appears that the template files provided with TPT 15.10 differ from those with TPT 15.00; i.e. $FILE_READER used to have variables like @FileReaderFileName, and now they are like @DCPFileName. I couldn't find a reference to this change in the release notes; is this just a change to the naming standards, or is there some other reason for this - should I expect these to change between releases? This would be helpful to know for testing purposes.
I would like to know this too.
The $FILE_READER.txt template file has
VARCHAR FileName = @DCPFileName,
The documentation for the DataConnector Producer says that the attribute is named FileName, and there is no mention of FileReaderFileName.
However, setting FileReaderFileName in my jobvars file works fine for the $FILE_READER for TPT 15.10, although that appears nowhere in the templates and only as an arbitrary variable name in an example in the documentation (p. 260 in the TPT User Guide).
A clue appears if you run strings on the exe, but why isn't this documented anywhere? And what is the SETIFNULL directive, that's not documented either?
C:\Program Files\Teradata\Client\15.10\bin>strings tbuildexe.exe | grep FileReaderFileName SETIFNULL DCPFileName = @FileReaderFileName ELSE @SourceFileName ELSE @FileName;\n" SETIFNULL DCPFileName = @FileReaderFileName ELSE @SourceFileName ELSE @FileName;
We are making changes to the templates to actually be more user-friendly.
We will always continue to support previous syntax, but feel the use of "DCP" instead of "FileReader" is not as obvious to the user.
You will not have to change your scripts.
We will use our SetIfNull logic in our code to handle them all.
The original "source" and "target" came about when Easy Loader was first implemented back in TPT 13.0. The use of those was to allow TPT to decide which operators to use.
We then came up with operator-specific prefixes as a means for the user to tell us which operators to use through the naming conventions of job variables.
But the original implementation of templates has both DataConnectorProducer and FileReader and we felt that would be too confusing to have both.
So, we are going to be eliminating the DataConnectorProducer and DataConnectorConsumer templates, and at the same time continue to support the "DCP" and "DCC" syntax for those scripts that used them.