Format Delimiter ascii 168 (¿)

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
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Where do you see the data "2006-11-15 ?999 ?aaabbb", is it in view data browser or at output file. That too makes some difference.
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

DataStage has no problem using a delimiter such as ASCII 168.

From your example it isn't clear what your actual source file format is like. Does the source file have a delimiter of char(168) between the columns or a delimiter of char(191) or a mix of both?

You can be certain of what DataStage "sees" as the delimiter character if you declared your input file as having just one column and outputting the values for

Code: Select all

SEQ(In.Column[11,1] )
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

I don't know where that character is coming from. Use the same debugging method as listed earlier, just output to a temporary sequential file the result of

Code: Select all

SEQ(In.ColumnA[1,1])
to see what the ASCII value of the first character in the string is.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

If you set 191 as the delimiter then it will not be part of the data. Are you sure of your source data file format? Perhaps you could look at it with a binary editor on Windows or od on Unix.
caltog
Premium Member
Premium Member
Posts: 39
Joined: Thu May 22, 2003 7:32 am

Post by caltog »

The Fixed Columns option is unchecked.

But if I also uncheck the option Suppress row truncation warnings I am getting the error :
nls_read_delimited() - row 1, too many columns in record

Otherwise, I was just looking for a delimiter character valid on the Host (udb), on Unix and Windows.

I am slowly thinking about using the comma...
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You need to specify the correct number of delimited columns on the Columns grid. You can, indeed, specify more than exist in the record, and use the Missing Columns property to handle those situations.

What happens when you try to import the table definition from that sequential file and specify 168 as the delimiter? Does that work OK?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
caltog
Premium Member
Premium Member
Posts: 39
Joined: Thu May 22, 2003 7:32 am

Post by caltog »

Hi thanks Ray !

Part of my problem is solved.

I have specified the correct number of delimited columns on the Columns grid.
I have imported the table definition and specified 168 as the delimiter, this is also working fine.

But I still have the "?" in the beginning of each outputted field.
It's like DS understand the delimiter, as he can correctly read data, but the delimiter is also included in the output data ??
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Does this error happen in the same way when you write this job with just 2 stages, the source sequential stage and an output sequential stage using a different delimiter? Have you specified the delimeter as a text character or used the numeric 168 representation?
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Don't use ALT. Just use 168.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
caltog
Premium Member
Premium Member
Posts: 39
Joined: Thu May 22, 2003 7:32 am

Post by caltog »

Hi Ray,

I works also with only 168... but the result is always the same.

How can I reject these "?" characters ? Can I perform a test on "?" in a Transformer.

Ok at best, the character should not be written...
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Caltog, per my previous post - can you see if this is reproduceable with a job that has just your read and a write stage?

I just wrote a test job going back and forth using 168 and normal commas as separators and cannot reproduce the problem you are having.

Have you checked to make sure you are using the same character set in all your input and output files?
caltog
Premium Member
Premium Member
Posts: 39
Joined: Thu May 22, 2003 7:32 am

Post by caltog »

Thanks to eveybody for your help and assistance but I will take another delimiter as I was not able to solve this in time.

I am still curious to find a solution, later when I will have more time.

Cheers,
Tony
Post Reply