CLOSE STORED-PROCEDURE statement

For a non-ABL stored procedure, indicates that the procedure has completed execution and retrieves any return status. For a send-sql-statement stored procedure, closes the SQL cursor used by the procedure.

Syntax

CLOSE STORED-PROCEDURE procedure
  [ integer-field = PROC-STATUS ]
  [ WHERE PROC-HANDLE = integer-field ]
procedure
The name of the stored procedure that you want to close or the built-in procedure name, send-sql-statement.
integer-field = PROC-STATUS
Assigns the return value from a stored procedure to the specified integer field or variable (integer-field).
WHERE PROC-HANDLE = integer-field
An integer field or variable whose value uniquely identifies the stored procedure that produces the results returned from the data source or the SQL cursor of a send-sql-statement stored procedure.

Example

The PROC-STATUS clause of the CLOSE STORED-PROCEDURE statement allows the DataServer for ORACLE to retrieve the text of an ORACLE error message that was passed to raise_application_error. Use the ERROR-STATUS:GET-MESSAGE handle to retrieve the message, as shown in the following example:

DEFINE VARIABLE st AS INTEGER NO-UNDO.
DEFINE VARIABLE h  AS INTEGER NO-UNDO.

RUN STORED-PROC p1 h = PROC-HANDLE NO-ERROR.

CLOSE STORED-PROC p1 st = PROC-STATUS WHERE PROC-HANDLE = h.
 
DISPLAY st.

IF ERROR-STATUS:ERROR THEN
  MESSAGE ERROR-STATUS:GET-MESSAGE(1) ERROR-STATUS:GET-NUMBER(1)
    VIEW-AS ALERT-BOX. 

Notes

See also

PROC-HANDLE function, PROC-STATUS function, RUN STORED-PROCEDURE statement