![]() | Programming Guide | ![]() |
Contains a return code from a stored procedure
Use
@dmengreturnto get a stored procedure's return or status code. This variable is only available if your engine supports stored procedures and their return codes and if the Panther database driver supports stored procedure return codes.Since database engines implement stored procedures differently, refer to the Database Drivers for engine-specific information and examples.
By default, Panther pauses the execution of a stored procedure if the procedure executes a
SELECTstatement and the number of rows in the select set is greater than the number of occurrences in the Panther destination variables. The application must executeCONTINUEorDBMS NEXTto resume execution. If the value of@dmengreturnis null after calling a stored procedure, the procedure might be pending. If the engine has completed the execution of the procedure,@dmretcodewill contain theDM_END_OF_PROCcode and@dmengreturnwill contain the procedure's return code.The value of this variable is cleared once another
DBMScommand is executed. If the application needs the value for a longer period of time, it should copy it to a standard Panther variable or some other static location.
# This is an example of a SYBASE stored procedure:
# create proc checkid @id int as
# if (SELECT COUNT (*) FROM titles WHERE title_id = @id) = 1
# return 1# else
# return 2DBMS RUN EXEC checkid :+title_id
if @dmengreturn == 1
call addrowelse if @dmengreturn == 2
msg emsg "Sorry, " title_id " is not a valid code."
returnproc addrow
DBMS RUN INSERT INTO tapes VALUES \
(:+title_id, :+copy_num, 'O', 0)
return
![]()
![]()
![]()
![]()