Consultor Eletrônico



Kbase P111580: CRC errors with Progress/400 DataServer after applying .df file
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/14/2007
Status: Unverified

FACT(s) (Environment):

Progress/400 DataServer

SYMPTOM(s):

CRC errors with Progress/400 DataServer after applying .df file

Applying incremental .df file that RENAMES an existing field to AS/400 DataServer, does not change the CRC for the table.

Creating a new Progress/400 DataServer from a full .df dumped from another DataServer, the CRC values for the DataServers do not match.

Running code after applying incremental .df files between Progress/400 DataServers results in error 1896 and 7968.

**CRC for <filn> does not match CRC in <procedure>. Try recompiling. (1896)

** CRC for index '<indexname>' on table '<tablename>' does not match CRC in procedure '<procedure>'. Try recompiling. (7968)

CAUSE:

The dump .df files are defined in Progress format which does not preserve AS400 information such as DDS data type, field storage length and AS400 names.
Since the CRC of the table is derived from the physical files on the AS400 (record format, key field names, types and lengths), this information is being changed by the Progress type .df file and subsequently this results in a different CRC.

FIX:

From the Progress/400 Data Dictionary choose Admin->Dump Data and Definitions->Data Definitions (.df file) and then choose to dump in AS400 format. After doing this compare this .df file with a standard Progress .df file. You will see lots more AS400 type information that relates to the physical files on the AS/400.

To upgrade Progress/400 DataServers with incremental .df files, the following procedure is an example of how this should be done:

1. Start with 2 original Progress/400 DataServers (not Progress native DB's), one to change and the other to compare in order to create the incremental .df file.
2. Make changes to one DataServer using the Progress/400 Data Dictionary.
3. Using the Progress/400 Data Dictionary create an DB2/400 incremental .df file with Admin->Dump Data and Definitions->Create DB2/400 incremental .df.
4. Load the incremental .df to the target DataServer using Data Administration->DB2/400 Utilities->Schema Migration Tools->Load DB2/400 Incremental .df
After committing this incremental and synchronizing the schema holder all 3 of the DataServers should have the same CRC value.
In addition to this, if a full .df file is dumped using AS400 format then this can be used to create a duplicate DataServer with the same CRC value as the original.