query-prepare

Mkontwg

Member
Hi team

Can some one help me with my query-prepare statement to handle temp table.
QUERY f:QUERY-PREPARE ("for each psbrnc").

This on my ui form display all the records from the table. I need to display only record that begins with 'bp'

I did the following on my QUERY f:QUERY-PREPARE ("for each psbrnc where pb-partno eq 'bp'"). I'm getting an error, please help me with my query statement.
 
I suspect you haven't added the temp table buffer to your buffers list in the query handle. But that's just speculation unless you post code and the error message.
 
Hi

I did, this my procedure below my here was to display table record 'pb-partno' with 70 branch part no using where clause;

Code:
DEFINE TEMP-TABLE  tt NO-UNDO
FIELD sys-cono AS CHARACTER
FIELD pb-partno AS CHARACTER
FIELD pb-acost AS CHARACTER
FIELD pb-onhand AS CHARACTER.
DEFINE QUERY fv FOR psbrnc SCROLLING.
DEFINE DATA-SOURCE ld FOR QUERY fv.
DEFINE DATASET df FOR tt.

PROCEDURE getServData:
    DEFINE OUTPUT PARAMETER DATASET-HANDLE nDataSet.
   
    QUERY fv:QUERY-PREPARE ("for each psbrnc").
    BUFFER tt:FILL-MODE = "EMPTY".
    BUFFER tt:ATTACH-DATA-SOURCE (DATA-SOURCE ld:HANDLE).
    DATASET df:FILL ().
    BUFFER tt:DETACH-DATA-SOURCE ().
    nDataSet = DATASET df:HANDLE.
   
END PROCEDURE.

Error message "pb-partno must be quoted constant or an unabbreviated, unambiguous buffer/field reference for buffers known to query fv"
 
Last edited by a moderator:
Hi

I did, this my procedure below my here was to display table record 'pb-partno' with 70 branch part no using where clause;

DEFINE TEMP-TABLE tt NO-UNDO
FIELD sys-cono AS CHARACTER
FIELD pb-partno AS CHARACTER
FIELD pb-acost AS CHARACTER
FIELD pb-onhand AS CHARACTER.
DEFINE QUERY fv FOR psbrnc SCROLLING.
DEFINE DATA-SOURCE ld FOR QUERY fv.
DEFINE DATASET df FOR tt.

PROCEDURE getServData:
DEFINE OUTPUT PARAMETER DATASET-HANDLE nDataSet.

QUERY fv:QUERY-PREPARE ("for each psbrnc where pb-partno eq 'bp'").
BUFFER tt:FILL-MODE = "EMPTY".
BUFFER tt:ATTACH-DATA-SOURCE (DATA-SOURCE ld:HANDLE).
DATASET df:FILL ().
BUFFER tt:DETACH-DATA-SOURCE ().
nDataSet = DATASET df:HANDLE.

END PROCEDURE.

Error message "pb-partno must be quoted constant or an unabbreviated, unambiguous buffer/field reference for buffers known to query fv"
 
It seems to suggest that the field pb-partno does not exist for the table psbrnc.

If you prefix the table does that work?:
Code:
QUERY f:QUERY-PREPARE ("for each psbrnc where psbrnc.pb-partno eq 'bp'").
 
Back
Top