Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: SQL Loader Help in 8.1.6
Is
your mainframe using EBCDIC? If so there is a translation table that
explains what the "}" translates into. The sign of the field is trailing
(E.I.. at the end of the field for non-Cobolers)
<SPAN
class=800445621-23032001>
These
indicate that the sign of the number is negative.
<SPAN
class=800445621-23032001>}=0
<SPAN
class=800445621-23032001>R=9
<SPAN
class=800445621-23032001>Q=8
<SPAN
class=800445621-23032001>P=7
<SPAN
class=800445621-23032001>O=6
<SPAN
class=800445621-23032001>N=5
<SPAN
class=800445621-23032001>M=4
<SPAN
class=800445621-23032001>L=-
<SPAN
class=800445621-23032001>K=-
<SPAN
class=800445621-23032001>J=1
These
are for positive numbers:
<SPAN
class=800445621-23032001>{=0
<SPAN
class=800445621-23032001>A=1
<SPAN
class=800445621-23032001>B=2
<SPAN
class=800445621-23032001>C=3
<SPAN
class=800445621-23032001>D=4
<SPAN
class=800445621-23032001>E=5
<SPAN
class=800445621-23032001>F=6
<SPAN
class=800445621-23032001>G=7
<SPAN
class=800445621-23032001>H=8
<SPAN
class=800445621-23032001>I=9
<SPAN
class=800445621-23032001>
The
example you mentioned (000000}) is really all zeroes. A value of 1023A
really equals 10231. An example of a negative number would be 112233R
which equals -1122339. The Utilities manual might have a sample of how to
convert external numbers with trailing signs. You could also code a
function to do translation and return the resulting number. Then you can
use it in the SqlLdr control file.
<SPAN
class=800445621-23032001>
Tony
Aponte
<FONT
size=2><FONT color=#0000ff
face=Arial>
<SPAN
class=800445621-23032001> -----Original Message-----From:
Wendy Y [mailto:lannyue_at_yahoo.com]Sent: Friday, March 23, 2001 2:47
PMTo: Multiple recipients of list ORACLE-LSubject: SQL
Loader Help in 8.1.6
Dear Experts:
This does not make any sense to me, can you help me out?
I have a control file to interpret the mainframe data and then write to my
table in Oracle Database.
The mainframe data looks like "000000000}", The table is designed as
Number(10,2), The control file use zoned(10,2).
All these combination will work fine on Oracle 7.3/8.0.5, but will fail on
8.1.6. (the message said: rejected on XXX field)
If I modify table as Varchar2(10), it will work, but the data format is not
the way I want. the format should be "0.00" when it's 0, instead of "00000".
Also "+" or "-" should be able to display. How can I make this work in
8.1.6?
Here are part of the control file:
LOAD DATAREPLACEINTO TABLE
C_FINANCIAL
(CONSOLI_ID
POSITION(001:003) CHAR, ....
TAX_CREDIT_AMT
POSITION(177:186) zoned(10,
2),
QTY_ORIGINAL
POSITION(187:196) zoned(10),... )
Thanks
Wendy
Do You Yahoo!?<A
href="http://personal.mail.yahoo.com/?.refer=mailiyfoot">Yahoo! Mail Personal
Address - Get email at your own domain with Yahoo!
Mail.
Received on Fri Mar 23 2001 - 18:52:03 CST
![]() |
![]() |