cat > script.ff <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
	program def2
	integer error,comp
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION ;
        character *25 name,date *20,amount *8
EXEC SQL END DECLARE SECTION ;
EXEC SQL INIT;
EXEC SQL DATABASE IS "DATABASE";
EXEC SQL DECLARE c CURSOR FOR SELECT FROM loans FOR DEFERRED OF name;
EXEC SQL OPEN c;
	if(SQLRET.NE.0) then
	error=1
	goto 10
	endif
	print *,'open c for deferred ok'
50	continue 
	EXEC SQL FETCH c name,date,amount INTO :name,:date,:amount;
	if(SQLRET.EQ.0) then
	write (*,101) name,date,amount
 101    format (' ', A25, A20, A8)
	if(comp('Kilroy',name,6).EQ.0) then
EXEC SQL UPDATE loans SET name="DATAWARE" WHERE CURRENT OF c;
	print *,'update ok'
	endif
	if(comp('Peterson',name,8).EQ.0) then
EXEC SQL DELETE FROM loans WHERE CURRENT OF c;
	print *,'delete ok'
	endif
	goto 60
	endif
	if(SQLRET.EQ.100) goto 60
	if(SQLRET.EQ.1) then
	print *,' lock busy'
	goto 60
	endif
	error=2
	goto 10
60	if(SQLRET.EQ.0) goto 50
EXEC SQL CLOSE c;
EXEC SQL OPEN c;
	if(SQLRET.NE.0) then
	error=3
	goto 10
	endif
150	continue 
	EXEC SQL FETCH c name,date,amount INTO :name,:date,:amount;
	if(SQLRET.EQ.0) then
	write (*,101) name,date,amount
	goto 160
	endif
	if(SQLRET.EQ.100) goto 160
	if(SQLRET.EQ.1) then
	print *,' lock busy'
	goto 160
	endif
	error=4
	goto 10
160	if(SQLRET.EQ.0) goto 150
	EXEC SQL CLOSE c;
EXEC SQL EXIT ;
	stop
10	print *,'error number ',error
	print *,'SQLRET number ',SQLRET
EXEC SQL EXIT ;
	stop
	end

	integer function comp(st1,st2,length)
	character*(*) st1,st2
	integer length
	comp=0
	do 20 i=1,length
		if(st1(i:i).NE.st2(i:i)) comp=comp+1
20	continue
	return
	end
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script.ff
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
open c for deferred ok
Mosca                    2 February  1981    $150.00 
Jones                    7 February  1981    $33.95  
Kilroy                   16 February  1981   $250.00 
update ok
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  
delete ok
Wladislaw                25 June      1981   $75.00  
Jones                    12 August    1981   $300.00 
Mosca                    2 February  1981    $150.00 
Jones                    7 February  1981    $33.95  
DATAWARE                 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  
Wladislaw                25 June      1981   $75.00  
Jones                    12 August    1981   $300.00 
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
deferred mode cursor
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
