Passing low values in the output file for certain columns.

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
radhika7983
Participant
Posts: 16
Joined: Wed Apr 07, 2010 10:44 pm

Passing low values in the output file for certain columns.

Post by radhika7983 »

Hi,
We are creating output files where we need to map low values for certain columns in data stage. This file dta will be seen in mainframes where we should see low values for certain columns. I assumed that low values is nothing but HEx(0) that is hex of zero. But it is not the case. Can someone suggest as what we should actually do in Data stage to pass low values?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

So... what IS the case?
-craig

"You can never have too many knives" -- Logan Nine Fingers
radhika7983
Participant
Posts: 16
Joined: Wed Apr 07, 2010 10:44 pm

Post by radhika7983 »

chulett wrote:So... what IS the case?
Hex of zero is nothing but zero. So when we see the output data in mainframes, it is seen as zero which is wrong!! Not sure what actually low values means :( . This has been raised as a defect!!
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

From what little I recall, "low values" would indeed be "hex zeroes" so you may not actually be setting this up correctly and thus ending up with a decimal zero instead. Can you explain exactly how you are doing this? Field data type, derivation, etc etc.
-craig

"You can never have too many knives" -- Logan Nine Fingers
radhika7983
Participant
Posts: 16
Joined: Wed Apr 07, 2010 10:44 pm

Post by radhika7983 »

chulett wrote:From what little I recall, "low values" would indeed be "hex zeroes" so you may not actually be setting this up correctly and thus ending up with a decimal zero instead. Can you explain exactly how you are doing this? Field data type, derivation, etc etc.
Yes, You are correct.Low values is x'0000'. We simply pass zero in the ouput column. The decimal value for hex'0000' is zero. The data type is character that is PIC X(3). I think in mainframes low value is something else..Not sure as what it is
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Again, what exactly are you doing? You "simply put zero" in what kind of output column - based on your PIC X(3) notation, are you actually putting zeroes in a Char(3) field and expecting it to work? Try making sure your APT_STRING_PADCHAR environment variable is set to "0x00" and then leave the field empty.
-craig

"You can never have too many knives" -- Logan Nine Fingers
radhika7983
Participant
Posts: 16
Joined: Wed Apr 07, 2010 10:44 pm

Post by radhika7983 »

chulett wrote:Again, what exactly are you doing? You "simply put zero" in what kind of output column - based on your PIC X(3) notation, are you actually putting zeroes in a Char(3) field and expecting it to work? Try making sure your APT_STRING_PADCHAR environment variable is set to "0x00" and then leave the field empty.
Do you mean to say by setting APT_STRING_PADCHAR environment variable is set to "0x00" and then leave the field empty will help. We are actually passing zeros for decimal and spaces for character.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Yes. That or explicitly move that hex value to the target string.
-craig

"You can never have too many knives" -- Logan Nine Fingers
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

If your system's low value is indeed 0x00 then 'Char(0):Char(0):Char(0)' should work. If that does not work, find out which COBOL you have, then read the manual and find out what their implementation of LOW-VALUE actually is.
Post Reply