Guest User

Untitled

a guest
Oct 4th, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. FUNCTION GetOptions RETURNS LONGCHAR (INPUT pcGroup AS CHARACTER, INPUT phDataset AS HANDLE):
  2.     DEFINE VARIABLE cOptions AS LONGCHAR NO-UNDO.
  3.     DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
  4.     DEFINE VARIABLE hItemBuffer AS HANDLE NO-UNDO.
  5.     DEFINE VARIABLE hOptionBuffer AS HANDLE NO-UNDO.
  6.    
  7.     hItemBuffer = phDataset:GET-BUFFER-HANDLE('eItem').
  8.     hOptionBuffer = phDataset:GET-BUFFER-HANDLE('eItemOption').
  9.    
  10.     CREATE QUERY hQuery.
  11.     hQuery:SET-BUFFERS(hItemBuffer, hOptionBuffer).
  12.     hQuery:QUERY-PREPARE(' for each eItem where eItem.ItemType eq ' + QUOTER(pcGroup)
  13.                         + ', first eItemOption where eItemOption.ChildItemId eq eItem.ItemId ').
  14.     hQuery:QUERY-OPEN().
  15.    
  16.     cOptions = ''.    
  17.     hQuery:GET-FIRST().
  18.     DO while NOT hQuery:QUERY-OFF-END:
  19.             cOptions = cOptions + ', ~{ '
  20.                      + '~"selected~" : ' + STRING(hOptionBuffer::StandardOption, 'true/false') + ', '
  21.                      + '~"value~" : ~"' + SanitiseString(hItemBuffer::ItemId) + '~", '
  22.                      + '~"label~" : ~"' + SanitiseString(hItemBuffer::Description) + '~"'
  23.                      + ' ~}'.
  24.         hQuery:GET-NEXT().
  25.     END.
  26.    
  27.     IF cOptions EQ '' THEN
  28.        cOptions = cOptions + ' ~{ ~"selected~" : false, '
  29.                      + '~"value~" : ~"none~", '
  30.                      + '~"label~" : ~"None~" ~} '.
  31.    
  32.     cOptions = '[' + TRIM(cOptions, ',')  + ' ]'.
  33.     RETURN cOptions.
  34.     finally:
  35.         hQuery:QUERY-CLOSE().
  36.         DELETE OBJECT hQuery NO-ERROR.
  37.     END finally.
  38. END FUNCTION.
Advertisement
Add Comment
Please, Sign In to add comment