so, people ask me why I don't like datasets .. well .. could someone explain this:
given this class:
using Progress.Lang.*.
class datasetA:
def protected temp-table ActvtyData no-undo
namespace-uri "ActivityData"
field schemaVersion as decimal
xml-node-type "ATTRIBUTE" .
def protected temp-table MsgHdr no-undo
namespace-uri ""
field MsgTp as character
field FlNm as character
field ActvtyData_id as recid
xml-node-type "HIDDEN" .
define protected dataset ActvtyDataDset namespace-uri "ActivityData"
xml-node-type "HIDDEN"
for ActvtyData, MsgHdr
parent-id-relation relation1 for ActvtyData, MsgHdr
parent-id-field ActvtyData_id.
end class.
and this class:
using Progress.Lang.*.
class datasetB inherits datasetA:
end class.
A) classA compiles with no problem
B) classB fails to compile with the error RELATION-FIELDS phrase is required for DATA-RELATION definition (12386)
what exactly am I missing ?
progress version is 11.3.1
You are missing the DATA-RELATION. ;-)
PARENT-ID-RELATION was only introduced in 11.0 and seems to have missed the correct PROTECTED treatment.
If the dataset isn't inherited correctly, that seems like a bug to me. Please log a support case so we can make sure this gets logged correctly.
case 00260025
looks like this is a known bug.
This is definitely a bug. But it's not a dataset bug ... more likely a compiler bug. Just wanted to make sure you sent your, um, love to the right place :D
To be complete, this issue is also documented in the KB article 000040542, Compile errors in child class when inheriting PROTECTED ProDataSet that uses the PARENT-ID-RELATION attribute