DSSETJOBSTATUS and Dynamic Array

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
SettValleyConsulting
Premium Member
Premium Member
Posts: 72
Joined: Thu Sep 04, 2003 5:01 am
Location: UK & Europe

DSSETJOBSTATUS and Dynamic Array

Post by SettValleyConsulting »

I want to pass a small series of values from one job to the next and I thought that a solution would be to build a dynamic array by concatenating the values delimited by @FM, and pass it to DSSETJOBSTATUS to be picked up and passed to the next job.

This works well except for one thing, the Director displays the second value in the array on the Job log like this:

(33) <- TestJob: Job under control finished.

where 33 is the second element in the array.

Although this is an informational message, the Job Status is 'finished with warnings' which makes the calling sequence abort (which is the behaviour we want).

So, how do I get a dynamic array into DSSETUSERSTATUS without generating a log warning. ??? :?:
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Hello SVC,

I would first try to use @IM instead of the field mark; that gets changed to a <cr> type display when you look at the logs and can really mess up the internal positional account within the DS engine. If changing to @IM doesn't work we can look into it in further detail.

-Arnd.
SettValleyConsulting
Premium Member
Premium Member
Posts: 72
Joined: Thu Sep 04, 2003 5:01 am
Location: UK & Europe

Post by SettValleyConsulting »

Thanks for the fast response:

OK I substituted @IM and the warnings went away.

However only the first element of the array - before the first @IM - was returned

I ideally want to return an array that I can then reference using the <> notation eg

result1 = dynarray<1>
result2 = dynarray<2>

etc ...

I could of course return a string delimited by some other character, (eg '|') and then load the array using FIELD or something, but I prefer elegant solutions and dynamic arrays ought to work.

What is @IM by the way, cannot find it in my documentation ....
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

SVC,

the @IM is an Item Mark and isn't used all that much; although I think it is the separator used when multiple keys go to a hash file. You could also use the @TM (Text Mark, another rather archaic mark).

The syntax for retrieving the values would be FIELD(MyString,@IM,{number}) instead of the MyString<{number}> used in dynamic field arrays.

Try using the FIELD function, it might just be that you aren't displaying the full value.
Post Reply