Consultor Eletrônico



Kbase P114028: Dataset Import fails to update dataset if the record already exists in target repository
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/9/2006
Status: Unverified

FACT(s) (Environment):

Dynamics

SYMPTOM(s):

Overwrite Existing Data toggle fails in Dataset Import if dataset already exists

Loading an ADO for example GSCOT.ADO or GSMSE.ADO, does not update the dataset if the object already exists.

The update is ignored.

Dynamics dataset import does not work if the object is already in the target repository.

CAUSE:


This behavior is by design. In the past customers complained that session information was lost when running the DCU. The result of this was that Development added an additional field to the dataset definition tables that allowed specific fields to be excluded from the table being updated. For example in the GSMSE dataset (in Deployment Dataset Control) the GSMSY entity has the field "property_value" excluded in its Exclude Field List. This prevents the value of the field being overwritten if the record already exists in the target repository.

The same is also true for the GSCOT dataset, but in this case the excluded field is custom_object_type_obj. This is why any Customizing Class that is added to and existing object class, is lost when the GSCOT.ADO dataset is applied to a target repository, and the dataset record already exists in that repository.

FIX:


To work around this problem, create a duplicate copy of the dataset in question. For example the GSCOT dataset, but leave the Exclude Field List blank. e.g.

1. Use Deployment Dataset Control to create an EXACT copy of GSCOT (e.g. GSCOB) without an exclude field list.
2. Created a GSCDD.ADO file with Dataset Export.
3. Created a GSCOB.ADO file with Dataset Export.
4. Loaded the GSCDD.ADO into the target repository with Dataset Import.
5. Loaded the GSCOB.ADO into the target repository with Dataset Import.

Loading the GSCOB.ADO dataset will update the record even if the record already exists.