Can someone please explain to me why I cannot open and fetch?
Code: Select all
WORKING-STORAGE SECTION.
01 CHOICE PIC 9 VALUE ZERO.
01 NUM pic x(4).
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE EMPLOYEE
END-EXEC.
EXEC SQL
INCLUDE DEPT
END-EXEC.
EXEC SQL
DECLARE CUR-EMP CURSOR FOR
SELECT DEPT.DEPT,
DEPT.DNAME,
DEPT.MGR,
EMPLOYEE.E_NO,
EMPLOYEE.LNAMN,
EMPLOYEE.FNAMN,
EMPLOYEE.DEPT
FROM DEPT,EMPLOYEE
WHERE DEPT.DEPT=EMPLOYEE.DEPT
END-EXEC.
**************************
PROCEDURE DIVISION.
A000-INIT.
PERFORM A100-START
PERFORM B100-PROCESS UNTIL CHOICE = 9
PERFORM C100-STOP.
.
*------------------------------------------
A100-START.
*OPEN CURSOR EMPLOYEE
EXEC SQL
OPEN CUR-EMP
END-EXEC.
PERFORM X100-CHECK-SQL.
.
*------------------------------------------
*FIRST FETCH
B100-PROCESS.
EXEC SQL
FETCH CUR-EMP INTO
:DEPT-DEPT,
:DEPT-DNAME,
:DEPT-MGR,
:EMPLOYEE-E-NO,
:EMPLOYEE-LNAME,
:EMPLOYEE-FNAME,
:EMPLOYEE-DEPT
END-EXEC
PERFORM X100-CHECK-SQL.
*-------------------------------------------------
DISPLAY 'PRESS 1, EMPLOYEE LIST'
DISPLAY 'TRYCK 9, TO STOP'
ACCEPT CHOICE
EVALUATE CHOICE
WHEN = 1 PERFORM A200-GET-INFO
WHEN = 9 PERFORM C100-STOP
* WHEN OTHER
* DISPLAY 'WRONG'
END-EVALUATE
.
***************************
A200-GET-INFO.
DISPLAY 'ENTER YOUR ID'.
DISPLAY 'PRESS A TO STOP'.
ACCEPT NUM.
*SECOND FETCH
EXEC SQL
FETCH CUR-EMP INTO
:DEPT-DEPT,
:DEPT-DNAME,
:DEPT-MGR,
:EMPLOYEE-E-NO,
:EMPLOYEE-LNAME,
:EMPLOYEE-FNAME,
:EMPLOYEE-DEPT
END-EXEC
PERFORM X100-CHECK-SQL.
DISPLAY' '
DISPLAY 'EMLPOYEE NO: 'employee-e-no
DISPLAY' LAST NAME:'employee-lname
DISPLAY' first NAMN:'employee-fname
display 'DEPARTMENT: ' dept-dept
display 'THE BOSS NAME:' dept-mgr
DISPLAY' '
.
*-------------------------------------------
X100-CHECK-SQL.
EVALUATE SQLCODE
WHEN 100 DISPLAY 'DATA FINISHED'
WHEN <0 DISPLAY 'WRONG SQLCODE =' SQLCODE
WHEN 0 DISPLAY 'OK'SQLCODE
WHEN >0 DISPLAY 'SQL WARNING' SQLCODE
END-EVALUATE.
*----------------------------------------------------
C100-STOP.
EXEC SQL
CLOSE cur-emp
END-EXEC.
PERFORM X100-CHECK-SQL.
STOP RUN.