DSSetUserStatus, unable to use in parallel

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
suresh_dsx
Participant
Posts: 160
Joined: Tue May 02, 2006 7:49 am

DSSetUserStatus, unable to use in parallel

Post by suresh_dsx »

Hi,
I am doing the server to parallel conversion.

I created a routine in the server.
Routine name: R1
Input Argument: Arg1

$INCLUDE DSINCLUDE JOBCONTROL.H
Call DSSetUserStatus (Arg1)
Ans = Arg1


I am using this routine in the stage variable of the transformer stage


Stage variable derivation tab: R1(Link1.val).
Finally the value of the stage variable is passing in to a table with other columns.

It is working fine in the server. As I understand, DSSetUserStatus is not their in the parallel jobs.

In parallel, please let me know any DSMacro which is similar functionality.

If I use sequencer, job activity variable $UserStatus is their. How can I pass the value to the table?
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

You cannot call this from a PX transform stage, but you can create a DS/BASIC After-Job subroutine to set this value.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

From what I recall, you'd need to use it in a BASIC Transformer, with all the caveats that brings to the table. You would pass $UserStatus as a job parameter to use it 'in the table'.
-craig

"You can never have too many knives" -- Logan Nine Fingers
suresh_dsx
Participant
Posts: 160
Joined: Tue May 02, 2006 7:49 am

Post by suresh_dsx »

In the server


Oracle stage -- transformer -- transformerstage2--oracle stage
10 columns --10 columns --11columns(11th column we are doing some calculation) then passing to the next stage--11columns (11th column we are passing to the routineR1(LINK.COL). The return value storing in to the table.

In parallel,

What I understand from you.
10 columns --10 columns --11 columns --11columns(the one column is passing a parameter in the job)

When we call in the sequencer-- we need to pass the user status in the 11th column. But I need to do some calculation in the transformer which I did not mentioned in the mail sorry for that.


I want to take the input from the column and pass that one to the routine (Routine will call the DSSetuserstatus) then pass the value to next stage.

If I use the $UserStatus activity variable, It will give user status of the job. But actually I want set the value and stored in the table.
suresh_dsx
Participant
Posts: 160
Joined: Tue May 02, 2006 7:49 am

Post by suresh_dsx »

In the server


Oracle stage -- transformer -- transformerstage2--oracle stage
10 columns --10 columns --11columns(11th column we are doing some calculation) then passing to the next stage--11columns (11th column we are passing to the routineR1(LINK.COL). The return value storing in to the table.

In parallel,

What I understand from you.
10 columns --10 columns --11 columns --11columns(the one column is passing a parameter in the job)

When we call in the sequencer-- we need to pass the user status in the 11th column. But I need to do some calculation in the transformer which I did not mentioned in the mail sorry for that.


I want to take the input from the column and pass that one to the routine (Routine will call the DSSetuserstatus) then pass the value to next stage.

If I use the $UserStatus activity variable, It will give user status of the job. But actually I want set the value and stored in the table.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Why can't you use it in a parallel job? The DSSetUserStatus() function exists in the DataStage C API, therefore you can create a parallel routine and use it, in a similar way that you have to create a server routine to use it in a server job.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply