FORM EXEC_GET_GSRS_HR2 USING DEPT TYPE C CHANGING HOUR TYPE MSEG-MENGE.
DATA: DBS TYPE DBCON-CON_NAME VALUE '++DBO++EX04'.
DATA: ERROR_TEXT(100) TYPE C.
DATA: CONN_REF TYPE REF TO CX_SY_NATIVE_SQL_ERROR.
DATA: EXEC_ERR TYPE REF TO CX_SY_NATIVE_SQL_ERROR.
TRY.
EXEC SQL.
CONNECT TO :DBS
ENDEXEC.
CATCH CX_SY_NATIVE_SQL_ERROR INTO CONN_REF.
ERROR_TEXT = CONN_REF->GET_TEXT( ).
MESSAGE ERROR_TEXT TYPE 'I'.
EXIT.
ENDTRY.
EXEC SQL.
EXECUTE PROCEDURE GET_KAOQIN ( IN :DATES, IN :DATEE, IN :DEPT, OUT :HOUR )
ENDEXEC.
EXEC SQL.
DISCONNECT :DBS
ENDEXEC.
ENDFORM. "exec_get_gsrs_hr2
SAP HELP:
Syntax
EXEC SQL.
EXECUTE PROCEDURE proc ( IN p_in1 IN p_in2 ...,
OUT p_out1 OUT p_out2 ...,
INOUT p_inout1 INOUT p_inout2 ... )
ENDEXEC.
Example
This example defines a selfunc procedure using database specific SQL-Statements (Informix). It also calls the procedure using the SAP-specific Native-SQL-Statement EXECUTE PROCEDURE in a LOOP-loop by means of a Selection Table, and deletes the the procedure using an SQL-Statement. In the case shown here, the procedure is a function whose return value output in EXECUTE PROCEDURE is copied to the host variable name.
DATA scarr_carrid TYPE scarr-carrid.
SELECT-OPTIONS s_carrid FOR scarr_carrid NO INTERVALS.
DATA s_carrid_wa LIKE LINE OF s_carrid.
DATA name TYPE c LENGTH 20.
TRY.
EXEC SQL.
CREATE FUNCTION selfunc( input CHAR(3) )
RETURNING char(20);
DEFINE output char(20);
SELECT carrname
INTO output
FROM scarr
WHERE mandt = '000' AND
carrid = input;
RETURN output;
END FUNCTION;
ENDEXEC.
LOOP AT s_carrid INTO s_carrid_wa
WHERE sign = 'I' AND ption = 'EQ'.
TRY.
EXEC SQL.
EXECUTE PROCEDURE selfunc( IN :s_carrid_wa-low,
OUT :name )
ENDEXEC.
WRITE: / s_carrid_wa-low, name.
CATCH cx_sy_native_sql_error.
MESSAGE `Error in procedure execution` TYPE 'I'.
ENDTRY.
ENDLOOP.
EXEC SQL.
DROP FUNCTION selfunc;
ENDEXEC.
CATCH cx_sy_native_sql_error.
MESSAGE `Error in procedure handling` TYPE 'I'.
ENDTRY.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10339719/viewspace-607589/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10339719/viewspace-607589/