Kbase P91543: Error 11883 when using wrong buffer sources in ProDataSet Data-Sources
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  25/08/2009 |
|
Status: Verified
SYMPTOM(s):
Getting error 11883 when filling a ProDataSet
Unable to auto-generate a FILL query predicate for <buffer> if field <fieldname> in <buffer> is not mapped. (11883)
ProDataSet is generated with dynamic objects.
In order to generate queries for FILL, the relation field pairs must be given, and in turn, one of these fields must map to some field in a data-source.
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.x
CAUSE:
Wrong buffer sources for DataSet DATA-SOURCEs.
FIX:
In the following sample, developed against the sports2000 database, the DATA-SOURCE objects are attached wrong buffers.
The comments indicate how it should be done.
DEFINE VARIABLE hDset AS HANDLE NO-UNDO.
DEFINE VARIABLE hRel AS HANDLE NO-UNDO.
DEFINE VARIABLE httOrd AS HANDLE NO-UNDO.
DEFINE VARIABLE httOrdBuf AS HANDLE NO-UNDO.
DEFINE VARIABLE httOrdline AS HANDLE NO-UNDO.
DEFINE VARIABLE httOrdlineBuf AS HANDLE NO-UNDO.
DEFINE VARIABLE hDataSourceOrder AS HANDLE NO-UNDO.
DEFINE VARIABLE hDataSourceOrderLine AS HANDLE NO-UNDO.
CREATE TEMP-TABLE httOrd.
httOrd:CREATE-LIKE("Order").
httOrd:TEMP-TABLE-PREPARE("ttOrder").
httOrdBuf = httOrd:DEFAULT-BUFFER-HANDLE.
CREATE TEMP-TABLE httOrdline.
httOrdline:CREATE-LIKE("OrderLine").
httOrdline:TEMP-TABLE-PREPARE("ttOrderLine").
httOrdlineBuf = httOrdline:DEFAULT-BUFFER-HANDLE.
CREATE DATA-SOURCE hDataSourceOrder.
/* wrong data source buffer */
hDataSourceOrder:ADD-SOURCE-BUFFER(httOrdBuf,"Ordernum").
/* the right data source is Order table ... */
hDataSourceOrder:ADD-SOURCE-BUFFER(BUFFER Order:HANDLE,"Ordernum").
CREATE DATA-SOURCE hDataSourceOrderLine.
/* wrong data source buffer */
hDataSourceOrderLine:ADD-SOURCE-BUFFER(httOrdlineBuf,"Ordernum").
/* the right data source is OrderLine table ... */
hDataSourceOrderLine:ADD-SOURCE-BUFFER(BUFFER OrderLine:HANDLE,"Ordernum").
CREATE DATASET hDSet.
hDset:SET-BUFFERS(httOrdBuf, httOrdlineBuf).
httOrdBuf:ATTACH-DATA-SOURCE(hDataSourceOrder).
httOrdlineBuf:ATTACH-DATA-SOURCE(hDataSourceOrderLine).
hDSet:ADD-RELATION(httOrdBuf,httOrdlineBuf,"Ordernum,Ordernum").