I have tried to create a dataset fill example however i keep running into the same error:
When i run the code below I get the following error: ADD/SET-BUFFERS may not be used on static query qTradep.
The results i get back are in the attachments, The customer table is filled with 0(s) instead of their respective database values.
Please let me know if you need any other information.
When i run the code below I get the following error: ADD/SET-BUFFERS may not be used on static query qTradep.
The results i get back are in the attachments, The customer table is filled with 0(s) instead of their respective database values.
Please let me know if you need any other information.
Code:
USING Progress.Lang.*.
CLASS listandlabeltable:
DEFINE TEMP-TABLE ttTradep
FIELD TRADING_PARTNER_NUMBER AS INTEGER
FIELD CUSTOMER_FLAG AS LOGICAL
INDEX trading_partner_number IS UNIQUE PRIMARY Trading_partner_number.
DEFINE TEMP-TABLE ttCust
FIELD TRADING_PARTNER_NUMBER AS INTEGER
FIELD CUSTOMER_REFERENCE AS INTEGER
FIELD MAXIMUM_CREDIT_LIMIT AS INTEGER
INDEX trading_partner_number IS UNIQUE PRIMARY trading_partner_number.
/*ProDataSet definition*/
DEFINE DATASET dstest FOR ttTradep, ttcust
DATA-RELATION drTradeToCust FOR ttTradep, ttCust
RELATION-FIELDS (trading_partner_number,trading_partner_number).
/*data-source definitions*/
DEFINE QUERY qTradep FOR TRADING_PARTNER.
DEFINE DATA-SOURCE srcTradep FOR QUERY qTradep.
DEFINE DATA-SOURCE srcCust FOR CUSTOMER.
CONSTRUCTOR PUBLIC listandlabeltable ():
DO:
/*Attaching data sources*/
BUFFER ttTradep:ATTACH-DATA-SOURCE(DATA-SOURCE srcTradep:HANDLE,?,?).
BUFFER ttCust:ATTACH-DATA-SOURCE(DATA-SOURCE srcCust:HANDLE,?,?).
DEFINE VARIABLE lvc AS CHARACTER NO-UNDO.
lvc = "FOR EACH TRADING_PARTNER".
/* lvc = "FOR EACH TRADING_PARTNER WHERE TRADING_PARTNER.TRADING_PARTNER_NUMBER EQ 6417".*/
/* Top-level and child query preparation*/
QUERY qTradep:ADD-BUFFER ("customer").
QUERY qTradep:QUERY-PREPARE(lvc).
/*populate dataset*/
DATASET dstest:FILL().
FOR EACH ttTradep:
DISPLAY ttTradep.TRADING_PARTNER_NUMBER
ttTradep.CUSTOMER_FLAG WITH FRAME tttradeframe 1 COL
TITLE "Trading partners".
FOR EACH ttCust OF ttTradep:
DISPLAY ttCust.CUSTOMER_REFERENCE
ttCust.MAXIMUM_CREDIT_LIMIT WITH FRAME ttCustomerFrame 1 COL
TITLE "Customer".
END.
END.
END.
END.
END CLASS.
Attachments
Last edited: