/* REXX */ PARSE UPPER ARG ssid zrc = DB2RXENV('ADD') IF zrc \= 0 THEN SIGNAL Done zrc = DB2RXCON('CONNECT' ssid) IF zrc \= 0 THEN SIGNAL Noconnect zrc = DB2RXISO('CS') IF zrc \= 0 THEN SIGNAL Complete zrc = DB2RXCSR('C1') /* Cursor required for parameter marker. */ IF zrc \= 0 THEN SIGNAL Complete SAY 'PREPARE...' /* Non-select with parameter marker. */ mysql= "UPDATE DSN8910.DEPT SET DEPTNAME = DEPTNAME", "WHERE DEPTNO=?" /* Parameter marker. */ ADDRESS DSNREXX "EXECSQL PREPARE S1 FROM :mysql" IF sqlcode \= 0 THEN DO SAY 'PREPARE failed.' SAY 'sqlcode='sqlcode SAY 'sqlerrmc='sqlerrmc zrc = 12 END ELSE SAY 'Ok.' DO WHILE zrc = 0 SAY 'Enter a Department Number or EXIT:' PULL deptno IF deptno = 'EXIT' THEN LEAVE IF zrc = 0 THEN DO SAY SAY 'EXECUTE...' /* Value of parameter marker. */ ADDRESS DSNREXX "EXECSQL EXECUTE S1 USING :deptno" IF sqlcode \= 0 THEN DO SAY 'EXECUTE failed.' SAY 'sqlcode='sqlcode SAY 'sqlerrmc='sqlerrmc zrc = 8 END ELSE SAY 'Ok.' END END /* WHILE */ Complete: x = DB2RXCON('DISCONNECT' ssid) Noconnect: x = DB2RXENV('DELETE') Done: EXIT zrc