Consultor Eletrônico



Kbase P109692: Dataset relationship keys are switched when passing DATASET-HANDLE as INPUT-OUTPUT parameter from a
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   13/03/2006
Status: Unverified

FACT(s) (Environment):

OpenEdge 10.0x

SYMPTOM(s):

Dataset relationship keys are switched when passing dynamic ProDataset from a .NET open client to the AppServer

Passing DATASET-HANDLE as INPUT-OUTPUT parameter in a procedure

It also results in the following error in the .NET application:

'column' argument cannot be null.
Parameter name: column

Problem does not occur when passing a static DATASET as INPUT-OUTPUT to the procedure

It works fine if the fields used for the relation between the parent and the child table in the ProDataset have the same name.

CAUSE:

Bug# 20051005-026

CAUSE:

When creating a DataSetMetaData object when marshalling over DataSet to AppServer, pairslist for DataRelation is created in incorrect order.

FIX:

Upgrade to 10.0B04 or later.


If upgrading is not an option, there are 2 ways to work around this issue:

- Use a static Prodataset instead and pass DATASET as INPUT-OUTPUT parameter in the procedure.

OR

- Make sure that the fields used for the relation between the parent and the child table in the ProDataset have the same name.

For example:
DEFINE DATASET dsOrder FOR ttOrder, ttOLine
DATA-RELATION drOrderLine FOR ttOrder, ttOLine
RELATION-FIELDS (OrderNum,OrderNum) .