CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1581)

Saif Siddiqui

New Member
Hi,
Below error I am facing while I try to LOAD the Definition (.df) into Progress 10.1C Database.
Error:
CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1581):(

Please suggest.

Thanks for your help.

Regards,
Saif Siddiqui
 

Stefan

Well-Known Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

Which code-pages are you using for:

1. df file
2. cpstream
3. cpinternal
4. database
 

RealHeavyDude

Well-Known Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

Obviously you are trying to convert code pages which do not use the same character set. That means that not each character from the source code page is present in the target code page or vice versa. That is not supported regardless whether in reality you only use characters in your string which are present in both code pages or not.

Out-of-the-box Progress supports only conversion between code pages which share the character set but on different positions. One such example would be the conversion from ibm850 to iso8859-1. But you can't convert from iso8859-1 to 1250 ( Polish/Czech code page ) out-of-the-box. For that you need to design your own conversion rules and add the conversion table manually to the convmap.cp file.

You need to make sure that you use the same -cpstream setting for the dump & load sessions. The .df should not contain any "funky" characters but how is the load process to know upfront ...

Heavy Regards, RealHeavyDude.
 

Saif Siddiqui

New Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

When I create a new database it gets created with codepage iso8859-1 but my source DB dump is having codepage 1250, That is why I am facing this problem during definition load.
How can I create the DB in codepage 1250?

Regards,
Saif Siddiqui
 

RealHeavyDude

Well-Known Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

When you installed OpenEdge on your system you made several choices. One of them was the default code page along with the collation. For one these choices are reflected in the startup.pf file located in your installation directory which is used by Progress processes. Another aspect is the code page which is used for the empty databases in your installation directory. Additionally to that you should have a prolang directory beneath the installation directory which contains sub-directories for the languages you've chosen to be installed on your system. These language specific sub-directories will also contain empty databases which should have the correct code page and which you can use to copy from when creating a new database.

Nevertheless, the easiest way to change the code page of a newly created database before any table data is loaded is to use the code page convert command.

proutil <db-name> -C convchar convert 1250
Heavy Regards, RealHeavyDude.
 

Saif Siddiqui

New Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

Hello,

Thanks for your help, but the problem is not reolved. :(

1. The settings in startup.pf are:
-cpinternal 1250
-cpstream 1250
-cpcoll Hungarian
-cpcase Basic
-d mdy
-numsep 46
-numdec 44

2. I wanted to install Language as Hungarian but I was not able to find Hungarian as language in Progress setup (OpenEdge 10.1C)
Language folders under /u01/dlc/prolang are:
ame, eng, ger, fre, spa

3. I tried proutil command to change codepage, but it shows the error:
Database is encoded using iso8859-1 for character data types. (3939)
Code page conversion table for ISO8859-1 to 1250 was not found in convmap.cp. (6063)
The old database code page is iso8859-1. The requested database code page is 1250. (1630)
The conversion table for these code pages is not found in convmap.cp. (1650)

Please help to resolve.
Thanks,

Regards,
Saif Siddiqui
 

Stefan

Well-Known Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

Is there a reason you are creating your new database with ISO8859-1? Simply create it again, but now with a startup.pf containing code page 1250 and be done with it.

If there is valuable data in the database you will need to create your own convmap.cp for 8859-1 to 1250.

If your data is not that valuable you could use the trick in the Progress Knowledge Base in which you first proutil convert the codepage to unknown, and then to 1250 - note that you will probaby corrupt some data.
 

Saif Siddiqui

New Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

Can u please help the command creating DB with startp.pf because what I use is:
prostrct create <DB Name> <Structure File Name>
Its a new empty database, so not valuable.

Regards,
Saif Siddiqui
 

RealHeavyDude

Well-Known Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

prostrct create will not create an empty database, it will create a void database. That is a database which does not even have the meta schema. To populate a void database you have several options:

  1. Use procopy to copy an existing database into the void structure
  2. Use prorest to restore from a backup into the void structure
Usually, after you did the prostrct create you need to procopy an empty database into the void structure. An empty database does have the meta schema and some other location specific attributes, the code page for example. The reason why you wind up with a database with code page iso8859-1 is because this is the code page the empty database has you're copying into the void structure. Why it has iso8859-1 is subject to speculation. Mostly I believe this is because during installation you've chosen it ...

Anyway, converting from iso8859-1 to 1250 is not possible as we know. Don't know about Hungarian because I've never dealt with that. But I did have to deal with Polish and Czech in the past. Therefore I don't know whether Progress supports Hungarian as an option during the installation.

Nevertheless, what should be possible is - if the database does not have any data loaded - convert to the undefined code page and from there convert to 1250. The undefined code page is a special code page meaning there is no conversion taking place when you convert to it - which is generally not a good idea for an application. But in your scenario it should work.

I've just successfully tried it myself - starting with a iso8859-1 encoded database:

proutil <db-name> -C convchar convert undefined
proutil <db-name> -C convchar convert 1250

Heavy Regards, RealHeavyDude.
 

Saif Siddiqui

New Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

Hi,

Thanks alot RealHeavyDude and all who supported. This works as an alternative solution. :)

Regards,
Saif Siddiqui
 

tamhas

ProgressTalk.com Sponsor
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

PSC has more code pages than are in the standard distribution. My understanding is that others are available for download, but I don't know where.
 

RealHeavyDude

Well-Known Member
Re: CODEPAGE-CONVERT could not find the appropriate conversion table in convmap.cp.(1

As far as I have seen only the "mainstream" languages come with the installation media. But, during installation, when making the localization specific choices, there is something like a download menu.

Heavy Regards, RealHeavyDude.
 
Top