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

Reply via email to