Error when checking composite operator: Subprocess command

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
snt_ds
Premium Member
Premium Member
Posts: 280
Joined: Wed Oct 18, 2006 11:53 am
Location: Pune, India

Error when checking composite operator: Subprocess command

Post by snt_ds »

I am getting the following error. I dont think there are any errors as this job was running fine few days back. I am getting the following error.
Error when checking composite operator: Subprocess command failed with exit status 256.

Code: Select all

It runs 1 process on 1 node.
##I TFOP 000094 16:01:23(000) <APT_LicenseCountOp in APT_LicenseOperator,0> Output 0 produced 1 records.
##I TLIC 000163 16:01:23(001) <APT_LicenseCheckOp in APT_LicenseOperator,0> Input 0 consumed 1 records.
##W TCOS 000049 16:01:23(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TBLD 000000 16:01:38(000) <main_program> Error when checking composite operator: Subprocess command failed with exit status 256.
##E TFSR 000019 16:01:38(001) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 16:01:38(002) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W TFCP 000025 16:01:38(003) <transform> Error when checking composite operator: Possible range limitation.
##W TFCP 000000 16:01:38(004) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "Decimal".
##W TBLD 000000 16:01:38(005) <main_program> Error when checking composite operator: Output from subprocess: "/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1375: Error: A declaration was expected instead of "if".
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1375: Error: ")" expected instead of "!=".
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Det
##W TBLD 000000 16:01:38(006) <main_program> Error when checking composite operator: Output from subprocess: ail_Tfm.C", line 1378: Error: An array must have at least one element.
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1378: Error: "{" expected instead of "1".
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1379: Error: A declaration was expected instead of "if".
"/ibm/etl/ascential/Ascential/DataStage/Projects/CTI_
##W TBLD 000000 16:01:38(007) <main_program> Error when checking composite operator: Output from subprocess: Boston/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1379: Error: An array must have at least one element.
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1380: Error: "," expected instead of "{".
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1382: Error: A declaration was expected ins
##W TBLD 000000 16:01:38(008) <main_program> Error when checking composite operator: Output from subprocess: tead of "}".
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1383: Error: A declaration was expected instead of "else".
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1385: Error: An array must have at least one element.
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job
##I TFCP 000000 16:01:38(009) <transform> Error when checking composite operator: /auto/opt/Studio8/SUNWspro/bin/CC -KPIC -O   -I/ibm/etl/ascential/Ascential/DataStage/PXEngine/include -dalign -O -PIC -library=iostream -c /ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C -o /ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.tmp.o.
##W TBLD 000000 16:01:38(010) <main_program> Error when checking composite operator: Output from subprocess: Test_Job_Detail_Tfm.C", line 1385: Error: "{" expected instead of "stage0InterVar0_12".
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1386: Error: A declaration was expected instead of "}".
"/ibm/etl/ascential/Ascential/DataStage/Projects/Test/RT_BP2575.O/V10S2_Test_Job_Detail_Tfm.C", line 1387: Error: A declaration was expected instead of "if".
"/ibm/et
Compilation aborted, too many Error messages.
..


Please suggest if you know the answer
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

Look into this message

Code: Select all

##W TFCP 000025 16:01:38(003) <transform> Error when checking composite operator: Possible range limitation. 
##W TFCP 000000 16:01:38(004) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "Decimal". 

Are you converting integer to decimal types? There is a overflow. Your integer size is greater than the target field.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
snt_ds
Premium Member
Premium Member
Posts: 280
Joined: Wed Oct 18, 2006 11:53 am
Location: Pune, India

No Integer to Decimal Conversion

Post by snt_ds »

Hi,
There is no Integer to Decimal conversion in the job. I am converting Decimal values to string using DecimalToString function. So i believe it should be something else in the code.
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

What is the length of source and target for that particular field?
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
snt_ds
Premium Member
Premium Member
Posts: 280
Joined: Wed Oct 18, 2006 11:53 am
Location: Pune, India

Soure and target

Post by snt_ds »

Source: Decimal(15,3)
Derivation:

Code: Select all

If IsNotNull(SUM_Daily_Read_Lnk.Cost) Then Right(Space(13) : Field(DecimalToString(SUM_Daily_Read_Lnk.Cost, 'fix_zero, suppress_zero'), '.', 1), 13) : '.' : Left(Field(DecimalToString(SUM_Daily_Read_Lnk.Cost, 'fix_zero'), '.', 2) : Str('0', 3), 3) Else Space(13)  :  '.'  : Str('0', 3)
Target: Char(17)
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

Check your source data whether your data is really coming in decimal format. Or this time you got an integer?
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Dump the score and inspect it. Identify the composite operator, and the operators it contains. This will help to narrow the focus of your diagnostic activities.

Note that a composite operator is not the same thing as a combined operator.

For example, the Lookup stage generates a composite operator; it must first load the reference data into a virtual Data Set, then perform lookups against that virtual Data Set. These are separate operations, and the first must finish before the second can start.

Operator combination is where multiple operators execute in the same process.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
snt_ds
Premium Member
Premium Member
Posts: 280
Joined: Wed Oct 18, 2006 11:53 am
Location: Pune, India

Post by snt_ds »

Ray,
thanks for the suggestion. However, I am not sure how to identify a composite operator. what is a composite operator?

I may be asking simple question but i dont know what it is? else i would i have diagnosed it.

thanks
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Set APT_SUMP_SCORE to True. In the score (an entry in the job log) composite operators are identifed as Composite Operator.
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