If the number's an integer, how about using 

        HEX.STRING = DTX(var)

to get a hexadecimal equivalent of the number in question.  Fill on the left
with zeros to 16 characters (8 bytes worth).  Then, pick off hex characters,
2 at a time (1 byte), then do:

        INFORMIX.CHAR = CHAR(XTD(this.byte))

and concatenate them together into an 8-character (byte) string.

One gotcha I can think of is if any of the bytes end up as a system
delimiter that would cause problems in the middle of a flat file.  WRITESEQ
to a type-19 file or path may overcome some of those difficulties.

--Ron P.

-----Original Message-----
From: Fawaz Ashraff [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 04, 2004 1:43 PM
To: U2 Users Discussion List
Subject: RE: [UD] 8 Bite Integers


Hi David,

Thanks for the info. May be I didn't explain my
problem correctly. I have a Unidata numeric field
(Amount- 100.00 or -100.00) and I need to convert it
to a 8 Bite integer so that Informix will recognise
it.

Cheers

Fawaz
--- "Logan, David (SST - Adelaide)" <> wrote:
> Hi Fawaz,
> 
> Is this what you are looking for?
> 
> SEQ function
> 
> Syntax
> SEQ (expression)
> 
> Description
> 
> Use the SEQ function to convert an ASCII character
> to its numeric string
> equivalent. Expression evaluates to the ASCII
> character to be converted.
> If expression
> evaluates to the null value, null is returned.
> 
> The SEQ function is the inverse of the CHAR
> function.
> 
> In NLS mode, use the UNISEQ function to return
> Unicode values in the
> range
> x0080 through x00F8.
> 
> Using the SEQ function to convert a character
> outside its range results
> in a
> run-time message, and the return of an empty string.
> 
> For more information about these ranges, see the
> UniVerse NLS Guide.
> PICK, IN2, and REALITY Flavors
> 
> In PICK, IN2, and REALITY flavors SEQ(" ") is 255
> instead of 0. In IDEAL
> and
> INFORMATION flavor accounts, use the SEQ.255 option
> of the $OPTIONS
> statement to cause SEQ(" ") to be interpreted as
> 255.
> 
> Example
> G="T"
> A=SEQ(G)
> PRINT A, A+1
> PRINT SEQ("G")
> 11-632 UniVerse BASIC
> /productinfo/alldoc/UNIVERSE10/basic/Ch11
> 1/9/02
> 
> This is the program output:
> 84 85
> 71
> 
> Regards
> 
> David Logan
> Database Administrator
> HP Managed Services
> 139 Frome Street,
> Adelaide 5000
> Australia
> 
> +61 8 8408 4273
> +61 417 268 665
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]
> On Behalf Of Fawaz Ashraff
> Sent: Friday, 5 March 2004 5:34 AM
> To: U2 Users Discussion List
> Subject: [UD] 8 Bite Integers
> 
> 
> Good Afternoon.
> 
> We are moving part of our application to
> Informix(From
> Unidata). I need to convert some of the data Fields
> to
> 8 bite Integers through a UniBasic program and write
> it to a flat file. Having problem converting data to
> 8
> Bite Integers. Any suggestions would be highly
> appreciated.
> 
> Cheers
> 
> Fawaz
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Search - Find what you're looking for faster
> http://search.yahoo.com
> -- 
> u2-users mailing list
> [EMAIL PROTECTED]
> http://www.oliver.com/mailman/listinfo/u2-users
> --
> u2-users mailing list
> [EMAIL PROTECTED]
> http://www.oliver.com/mailman/listinfo/u2-users


__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you're looking for faster
http://search.yahoo.com
-- 
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users
-- 
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users

Reply via email to