次の例では、一般的なユーザー・イグジットの記述方法を示します。ホスト・プログラムと同様、ユーザー・イグジットにも宣言部とSQLCAがあることに注意してください。
-- subroutine MYEXIT EXEC SQL BEGIN DECLARE SECTION; field1 CHARACTER(20); field2 CHARACTER(20); value1 CHARACTER(20); value2 CHARACTER(20); result_val CHARACTER(20); EXEC SQL END DECLARE SECTION; errmsg CHARACTER(80); errlen INTEGER; EXEC SQL INCLUDE SQLCA; EXEC SQL WHENEVER SQLERROR GOTO sqlerror; -- get field values from form EXEC IAF GET :field1, :field2 INTO :value1, :value2; -- manipulate values to obtain result_val -- put result_val into form field EXEC IAF PUT result VALUES (:result_val); return(IAPSUCC); -- trigger step succeeded sqlerror: set errmsg = CONCAT('MYEXIT: ', sqlca.sqlerrm.sqlerrmc); set errlen = LENGTH(errmsg); sqliem(errmsg, errlen); -- pass error message to SQL*Forms return(IAPFAIL); -- trigger step failed
使用するホスト言語の完全な例は、各ホスト言語の補足資料を参照してください。