Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FUNCTION GetOptions RETURNS LONGCHAR (INPUT pcGroup AS CHARACTER, INPUT phDataset AS HANDLE):
- DEFINE VARIABLE cOptions AS LONGCHAR NO-UNDO.
- DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
- DEFINE VARIABLE hItemBuffer AS HANDLE NO-UNDO.
- DEFINE VARIABLE hOptionBuffer AS HANDLE NO-UNDO.
- hItemBuffer = phDataset:GET-BUFFER-HANDLE('eItem').
- hOptionBuffer = phDataset:GET-BUFFER-HANDLE('eItemOption').
- CREATE QUERY hQuery.
- hQuery:SET-BUFFERS(hItemBuffer, hOptionBuffer).
- hQuery:QUERY-PREPARE(' for each eItem where eItem.ItemType eq ' + QUOTER(pcGroup)
- + ', first eItemOption where eItemOption.ChildItemId eq eItem.ItemId ').
- hQuery:QUERY-OPEN().
- cOptions = ''.
- hQuery:GET-FIRST().
- DO while NOT hQuery:QUERY-OFF-END:
- cOptions = cOptions + ', ~{ '
- + '~"selected~" : ' + STRING(hOptionBuffer::StandardOption, 'true/false') + ', '
- + '~"value~" : ~"' + SanitiseString(hItemBuffer::ItemId) + '~", '
- + '~"label~" : ~"' + SanitiseString(hItemBuffer::Description) + '~"'
- + ' ~}'.
- hQuery:GET-NEXT().
- END.
- IF cOptions EQ '' THEN
- cOptions = cOptions + ' ~{ ~"selected~" : false, '
- + '~"value~" : ~"none~", '
- + '~"label~" : ~"None~" ~} '.
- cOptions = '[' + TRIM(cOptions, ',') + ' ]'.
- RETURN cOptions.
- finally:
- hQuery:QUERY-CLOSE().
- DELETE OBJECT hQuery NO-ERROR.
- END finally.
- END FUNCTION.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement