I am looking to write code that generates output based on user-define values and formatting. I am using a dynamic query with dynamic temp-tables. I will be storing format statements, fill() expressions, if..then..else, etc as it is user defined. I am having difficulty getting the code to evaluate the expression before writing the output.
In the following code, I want to export the value of "1" or "2" for field "Y" rather than exporting the if/then. Any help would be appreciated. Also attached procedure.
/* handle for dynamic temp-table */
DEF VARIABLE hTTCheck AS HANDLE NO-UNDO.
CREATE TEMP-TABLE httCheck.
httCheck:ADD-NEW-FIELD ("x", "logical").
httCheck:ADD-NEW-FIELD ("y", "character").
hTTCheck:TEMP-TABLE-PREPARE("ttCheck").
DEFINE VARIABLE hTTBuf AS HANDLE NO-UNDO.
hTTBuf = hTTCheck
EFAULT-BUFFER-HANDLE.
hTTBuf:BUFFER-CREATE().
hTTBuf:BUFFER-FIELD("x"):BUFFER-VALUE = TRUE.
hTTBuf:BUFFER-FIELD("y"):BUFFER-VALUE = "(if x = true then 1 else 2)".
hTTBuf:BUFFER-CREATE().
hTTBuf:BUFFER-FIELD("x"):BUFFER-VALUE = FALSE.
hTTBuf:BUFFER-FIELD("y"):BUFFER-VALUE = "(if x = true then 1 else 2)".
DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
CREATE QUERY hQuery.
hQuery:SET-BUFFERS(hTTBuf).
hQuery:QUERY-PREPARE("FOR EACH ttCheck").
hQuery:QUERY-OPEN().
hQuery:GET-FIRST().
REPEAT WHILE NOT hQuery:QUERY-OFF-END:
PUT UNFORMATTED httBuf:BUFFER-FIELD("x"):BUFFER-VALUE
httBuf:BUFFER-FIELD("y"):BUFFER-VALUE.
hQuery:GET-NEXT().
END.
httBuf:buffer-release().
hquery:query-close().
/* clean up objects to free resources */
delete object hquery.
delete object httCheck.
In the following code, I want to export the value of "1" or "2" for field "Y" rather than exporting the if/then. Any help would be appreciated. Also attached procedure.
/* handle for dynamic temp-table */
DEF VARIABLE hTTCheck AS HANDLE NO-UNDO.
CREATE TEMP-TABLE httCheck.
httCheck:ADD-NEW-FIELD ("x", "logical").
httCheck:ADD-NEW-FIELD ("y", "character").
hTTCheck:TEMP-TABLE-PREPARE("ttCheck").
DEFINE VARIABLE hTTBuf AS HANDLE NO-UNDO.
hTTBuf = hTTCheck

hTTBuf:BUFFER-CREATE().
hTTBuf:BUFFER-FIELD("x"):BUFFER-VALUE = TRUE.
hTTBuf:BUFFER-FIELD("y"):BUFFER-VALUE = "(if x = true then 1 else 2)".
hTTBuf:BUFFER-CREATE().
hTTBuf:BUFFER-FIELD("x"):BUFFER-VALUE = FALSE.
hTTBuf:BUFFER-FIELD("y"):BUFFER-VALUE = "(if x = true then 1 else 2)".
DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
CREATE QUERY hQuery.
hQuery:SET-BUFFERS(hTTBuf).
hQuery:QUERY-PREPARE("FOR EACH ttCheck").
hQuery:QUERY-OPEN().
hQuery:GET-FIRST().
REPEAT WHILE NOT hQuery:QUERY-OFF-END:
PUT UNFORMATTED httBuf:BUFFER-FIELD("x"):BUFFER-VALUE
httBuf:BUFFER-FIELD("y"):BUFFER-VALUE.
hQuery:GET-NEXT().
END.
httBuf:buffer-release().
hquery:query-close().
/* clean up objects to free resources */
delete object hquery.
delete object httCheck.