nested convert function.

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
swathi Singamareddygari
Participant
Posts: 48
Joined: Fri Feb 29, 2008 1:09 am
Location: Bangalore

nested convert function.

Post by swathi Singamareddygari »

Hi all,

I have to convert char(0) to char(31) to a single space in a particular coulmn.

But for using nested convert function like
convert(char(0),' ', (convert(char(1),' ', DSLink3.name))) there is a limit to use functions.we can use up to 7 nested funtions.

I tried using stage variable also like in 0ne stgvariable i used 7 and in second stage avriable i used 7 like that.
But its not working.

can any one please help me out.

Regards
S.Swathi
Thanks&Regards
S.Swathi
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Please advise where this limit is documented.

The solution is to build a string (initialize a stage variable) containing all 31 characters and convert that to "".

The example below abbreviates the stage variable initialization expression.

Code: Select all

svStripChars <== Char(1):Char(2):...:Char(31)

Convert(svStripChars, "", InLink.TheColumn)
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
swathi Singamareddygari
Participant
Posts: 48
Joined: Fri Feb 29, 2008 1:09 am
Location: Bangalore

Post by swathi Singamareddygari »

Hi ray,

Thanks for ur reponse,its working for us.I didnt find any document for limit of using nested convert function,i came to know the limit by modifying the usage of number of nested functions.

If i use more than 7 nested functions its giving compilation errors like

{

##E TBLD 000000 12:39:54(000) <main_program> Error when checking composite operator: Subprocess command failed with exit status 256.
##E TFSR 000019 12:39:54(001) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 12:39:54(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 12:39:54(003) <transform> Error when checking composite operator: Converting number to string.
##W TFCP 000000 12:39:54(004) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "String".
##W TBLD 000000 12:39:54(005) <main_program> Error when checking composite operator: Output from subprocess: "/home/dsadm/Ascential/DataStage/Projects/DEVTEST/RT_BP6076.O/V0S2_convert_test_Transformer_2.C", line

}

can u please tell me what this error exactly means

Regards

Swathi S
Thanks&Regards
S.Swathi
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Which of the errors? Most have been discussed before - search for them individually. Particularly the number of datasets one.
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