The DataServer retrieves the result rows and places them in a buffer. Specify the Oracle cursor where you want to fetch and process result rows by using the CURSOR option, as the following syntax and code example show:
Syntax
FOR EACH buffer-name WHERE PROC-HANDLE = variable AND CURSOR = [[db-name.]procedure-name.]parameter-name :
DISPLAY buffer-name.
END.
RUN STORED-PROC open_cust h1 = PROC-HANDLE (CUST_CURS = ?, WITCH_V1).
FOR EACH proc-text-buffer WHERE PROC-HANDLE = h1
AND CURSOR = open_cust.CUST_CURS:
DISPLAY proc-text-buffer.
END.
CLOSE STORED-PROC open_cust.
The previous example code runs the stored procedure, open_cust, and displays the results fetched from the CUST_CURS cursor.
Note: If multiple cursors are associated with a stored procedure, you must specify a cursor by name when fetching results, otherwise the DataServer returns a run-time error. Always specifying PROC-HANDLE and cursor parameters ensures that your code continues to run if another cursor parameter is added to a stored procedure.