cat > script.ff <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
	program ctrl2
EXEC SQL INCLUDE SQLCA;
EXEC SQL WHENEVER SQLERROR GOTO 60;
EXEC SQL BEGIN DECLARE SECTION;
	character *25 name, date *20, amount *9
	integer*2  i,j,k,l
EXEC SQL END DECLARE SECTION;
EXEC SQL INIT;
EXEC SQL DATABASE IS "DATABASE";

EXEC SQL DECLARE c CURSOR FOR SELECT FROM loans FOR UPDATE;
EXEC SQL OPEN c;
EXEC SQL WHENEVER NOT FOUND GOTO 20;
10	continue 
EXEC SQL FETCH c name, date, amount INTO :name, :date, :amount;
	write (*,101) name,date,amount
 101    format (' ', A25, A20, A8)
	goto 10
 20	continue
	i = -1
C	
C	insert nulls
C
EXEC SQL INSERT INTO loans SET name, date, amount values "DATAWARE",
		:date:i, :amount:i;
EXEC SQL CLOSE c;
EXEC SQL DECLARE d CURSOR FOR SELECT name, date, amount FROM loans 
		where name="DATAWARE" FOR UPDATE;
EXEC SQL OPEN d;
EXEC SQL WHENEVER NOT FOUND GOTO 30;
EXEC SQL FETCH d name, date, amount INTO :name:j, :date:k, :amount:l;
	write (*,101) name,date,amount
	print *, " "
	if (j .EQ. 0) then
		print *, "name is not null"
	endif
	if (k .LT. 0) then
		print *, "date is null"
	endif
	if (l .LT. 0) then
		print *, "amount is null"
	endif
	print *, " "
EXEC SQL UPDATE loans SET name VALUES :name:i WHERE CURRENT OF d;
 30	continue
EXEC SQL CLOSE d;
EXEC SQL DECLARE e CURSOR FOR SELECT FROM loans;
EXEC SQL OPEN e;
EXEC SQL WHENEVER NOT FOUND GOTO 50;
 40	continue
EXEC SQL FETCH e name, date, amount INTO :name, :date, :amount;
	write (*,101) name,date,amount
	goto 40
 50	continue 
EXEC SQL EXIT;
	STOP
 60	continue
	write (*,1001) SQLRET, sqltxt
 1001	format (' ', "SQLRET number ", I6, "Message is ", A70)
EXEC SQL EXIT;
	STOP
	END
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script.ff
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Mosca                    2 February  1981    $150.00 
Jones                    7 February  1981    $33.95  
Kilroy                   16 February  1981   $250.00 
Wladislaw                27 February  1981   $55.00  
Jones                    3 April     1981    $25.00  
Mosca                    4 May       1981    $200.00 
Wladislaw                12 May       1981   $25.00  
Peterson                 6 June      1981    $50.00  
Wladislaw                25 June      1981   $75.00  
Jones                    12 August    1981   $300.00 
DATAWARE                                             

name is not null
date is null
amount is null

Mosca                    2 February  1981    $150.00 
Jones                    7 February  1981    $33.95  
Kilroy                   16 February  1981   $250.00 
Wladislaw                27 February  1981   $55.00  
Jones                    3 April     1981    $25.00  
Mosca                    4 May       1981    $200.00 
Wladislaw                12 May       1981   $25.00  
Peterson                 6 June      1981    $50.00  
Wladislaw                25 June      1981   $75.00  
Jones                    12 August    1981   $300.00 
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Test of control variables in insert and update statement
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
