maneesh_jain
20th May 2005, 15:21
When I ran "Create tables from Seq. dumps" (ttaad4227m000), I got a lot of error2101 and error2105. Does any one know a possible cause for these errors? I am trying to import 4c2 data into 4c4.
beginer
20th May 2005, 15:30
Hi ,
Is it "field value is out of range and does not agree with the domain definition." between 4c2 & 4c4
regards,
P-Matt
6th June 2005, 18:15
So how do you fix this error? :eek:
I continue to receive
F:/dict/ddb4c4whi4/dtccom/dtccom022 not matching with the dump
There are several tables that generate this. they do indeed have a different definition that the dump from c2 (in this case 022 in c4 has 2 additional fields).
How can I tell the load to ignore that and just load the data in the fields that are there?
Thanks!
beginer
7th June 2005, 08:54
Hi ,
In that case u need to append 2 blank fields in yr c2 dump to make it compatible with c4 dict.
regards,
P-Matt
7th June 2005, 16:45
What would be the best/fastest method of doing this? I have several tables that will not load, and a very short time frame to get this complete.
Thank you.
norwim
8th June 2005, 14:37
Hi there,
the correct method would be to use "Change package combination for company" - this session does exactly what needs to be done - bdbreconfig:
Use the old DD to write dump files and use another DD to read these files into new tables.
The fastest approach however is to do that manually with awk.
1) check which files have changed
2) write conversion 'scripts' in awk and modify the dumps this way.
You should be careful and not rely on the errors you get now when you try to import the dumps - - - if the number of fields hasn't changed, but some fileds changed position, you won't get an error but still import rubbish.
The above mentioned way assumes that you dump each table into a seperate file.
example to add 2 empty fields to a sequential dump:
awk -f awk1 ttccom022010.S > new/ttccom022010.S
---start of file awk1---
BEGIN{FS="|";OFS="|"}
{print $0 "||"}
---end of file awk1---
assumptions made:
1)you created a seq. dump with seperator "|" in company 010
2)your sequential dump only contains data lines - newer porting sets add 2 lines which hold information when and with which version the dump was created.
If this ist the case, use :
---start of file awk1---
BEGIN{FS="|";OFS="|"}
{if (NR>2) $0=$0 "||";print $0 }
---end of file awk1---
awk is available for NT too.
hth
Norbert
Han Brinkman
8th June 2005, 17:49
guess that this is too complicated for the average baan admin/user.
To do it in the baan way:
- create a new package combination derived from your c4 version.
- add a new company to this new package combination
- copy the old dict directory (c2) to this new dict directory.
- (on nt you probably have to restart shm)
- import the data
Use the change package combination session to convert the old format to the new format.
Regards,
Han
norwim
8th June 2005, 18:20
Hi Han,
agreed. *g*
But the keywords "short time frame" rang a bell .....
One might not believe how much time can be saved if you 'convert' at least the larger tables with awk.
When we moved from c2 to c4 even a long weekend (3 days because of a public holiday) would not have been sufficient due to some mandatory additional conversion runs.
With some awk scripts we needed less than 24 hours :-)
regards
Norbert
P-Matt
8th June 2005, 18:21
The c4 package is on one server c2 on another.
I have c2.
I need to get the data from my c2 to their c4.
again, it's only a few tables.
norwim
9th June 2005, 09:32
Hi there,
1) create a new package combination on c4 system
2) copy the DD ($BSE/dict/NAMEOFc2PACKAGECOMB/) from the source system to the DD of the new Package Combination on OS level (the whole subdirectory to $BSE/dict/NAMEofc4PACKAGECOMB)
3) create a company and assign it to this new PC
4) Read in the dump into this company
5) Run ttaad1101m000 ('change package combination by company') and change this company to c4 PC
or
identify the changes needed and alter the dump files.
hth
Norbert