Hi Steffen,
what I am trying is the mirgration from Adabas D 11 to Sapdb.
I exported the data in Adabas using the commands
xload -u user,pwd -d DB1 -n server -b extract.sql usertab
content of extract.sql
<------------------------------------------------------------------------------------------->
DATAEXTRACT FOR DATALOAD TABLE &1 OUTFILE &1.dat
<------------------------------------------------------------------------------------------->
content of the result file
<-------------------------------------------------------snip------------------------------------>
SQLMODE ADABAS
/ *
CREATE TABLE USERDATA (
"FIELD1 " INTEGER ,
"FIELD2 " VARCHAR (50) ASCII ,
"FIELD3 " VARCHAR (50) ASCII NOT NULL,
"FIELD4 " VARCHAR (50) ASCII ,
"FIELD5 " VARCHAR (10) ASCII ,
"FIELD6 " VARCHAR (20) ASCII ,
"FIELD7 " VARCHAR (20) ASCII ,
"FIELD8 " DATE ,
"FIELD9 " DATE ,
"FIELD10 " BOOLEAN ,
"FIELD11 " VARCHAR (20) ASCII
DEFAULT 'XXX',
"FIELD12 " VARCHAR (254) ASCII
, PRIMARY KEY ("FIELD1"
))
/ *
DATALOAD TABLE USERDATA
"FIELD1" 1-14 CHAR
"FIELD2" 18-67 CHAR DEFAULT NULL
"FIELD3" 71-120 CHAR
"FIELD4" 124-173 CHAR DEFAULT NULL
"FIELD5" 177-186 CHAR DEFAULT NULL
"FIELD6" 190-209 CHAR DEFAULT NULL
"FIELD7" 213-232 CHAR DEFAULT NULL
"FIELD8" 236-243 CHAR DEFAULT NULL
"FIELD9" 247-254 CHAR DEFAULT NULL
"FIELD10" 258-267 CHAR DEFAULT NULL
"FIELD11" 271-290 CHAR DEFAULT NULL
"FIELD12" 294-547 CHAR DEFAULT NULL
INFILE *
DEC '/ /./'
DATE 'INTERNAL'
TIME 'INTERNAL'
TIMESTAMP 'INTERNAL'
NULL '? '
BOOLEAN 'TRUE /FALSE '
/ *
1 | A |
A |
1 | 111 |
111 | 111 | ? | ? |
FALSE | XXX | ?
2 | AAAAA |
A |
9 | 999 |
999 | 999 | ? | ? |
FALSE | XXX | ?
<-------------------------------------------------------snip------------------------------------>
First I cut the adabas stuff at the beginning of the result file
Command for the import in Sapdb:
sapdb@server:~> repmcli -u user,pwd -d DB1 -b import.sql -p1 userdata
content of import.sql
<------------------------------------------------------------------------------------------->
SET DECIMAL '/ /./'
SET DATE INTERNAL
SET TIME INTERNAL
SET TIMESTAMP INTERNAL
SET NULL '? '
SET BOOLEAN 'TRUE /FALSE '
DATALOAD TABLE &1
"FIELD1" 1-14
"FIELD2" 18-67
"FIELD3" 71-120
"FIELD4" 124-173
"FIELD5" 177-186
"FIELD6" 190-209
"FIELD7" 213-232
"FIELD8" 236-243
"FIELD9" 247-254
"FIELD10" 258-267
"FIELD11" 271-290
"FIELD12" 294-547
INFILE 'userdata.dat'
<------------------------------------------------------------------------------------------->
After execution I got the error as described in the last mail. Then I
just changed
the boolean definition to "SET BOOLEAN 'TRUE/FALSE'" and got the
following entries in
the log-file
<------------------------------------------------------------------------------------------->
/ M ReplMan 7.3.1 Build 001-000-000-000
/ *
/ M Starting protocol at 2002050300111814
/ *
/ *
/ *
/ M START 20020503 00111814
/ *
set logowner sapdb
/ *
/ M START 20020503 00111814
/ *
set
/ *
/ M START 20020503 00111814
/ *
USE USER user * SERVERDB DB1
/ *
/ M USER: 'USER' on DB: 'DB1'
/ *
/ M START 20020503 00111814
/ *
User user connected to database DB1 on local host.
SET DATE INTERNAL
/ *
/ M START 20020503 00111814
/ *
SET TIME INTERNAL
/ *
/ M START 20020503 00111814
/ *
SET TIMESTAMP INTERNAL
/ *
/ M START 20020503 00111814
/ *
SET NULL '? '
/ *
/ M START 20020503 00111814
/ *
SET BOOLEAN 'TRUE/FALSE'
/ *
/ M START 20020503 00111814
/ *
DATALOAD TABLE userdata
"FIELD1" 1-14
"FIELD2" 18-67
"FIELD3" 71-120
"FIELD4" 124-173
"FIELD5" 177-186
"FIELD6" 190-209
"FIELD7" 213-232
"FIELD8" 236-243
"FIELD9" 247-254
"FIELD10" 258-267
"FIELD11" 271-290
"FIELD12" 294-547
/ *
/ E -25281: Syntax error at position 378 (Unexpected integer value: ).
/ M Releasing user connection (USER: 'USER').
/ *
<------------------------------------------------------------------------------------------->
Next I will try to get a little bit more into the deepness of the xload
- program of Adabas and try another format for execution.
My first trys with the input file were like this
1|A|A|1|111|111|111|||FALSE|XXX|
-> Missing data for specified column FIELD2.
or
1|'A'|'A'|'1'|'111'|'111'|'111'|||'FALSE'|'XXX'|
-> Missing data for specified column FIELD2.
or
1|"A"|"A"|"1"|"111"|"111"|"111"|||"FALSE"|"XXX"|
-> Missing data for specified column FIELD8.
or
1|"A"|"A"|"1"|"111"|"111"|"111"|""|""|"FALSE"|"XXX"|""
-> Missing data for specified column FIELD12.
or
1|"A"|"A"|"1"|"111"|"111"|"111"|""|""|FALSE|"XXX"|""
-> Missing data for specified column FIELD10.
or
|1|"A"|"A"|"1"|"111"|"111"|"111"|"20020205"|"20020203"|"FALSE"|"XXX"|""|
-> Missing data for specified column FIELD12.
or
|1|"A"|"A"|"1"|"111"|"111"|"111"|""|""|"FALSE"|"XXX"|""|
-> Missing data for specified column FIELD12.
All those tests were made with this script
SET DECIMAL '//./'
SET DATE INTERNAL
SET TIME INTERNAL
SET TIMESTAMP INTERNAL
SET NULL ''
SET BOOLEAN 'TRUE/FALSE'
DATALOAD TABLE &1
INFILE 'test.data' ASCII SEPARATOR '|'
It would be very fine if you can help.
Thank you very much in advance
Greetings
Georg
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general