0% found this document useful (0 votes)
4 views3 pages

COBOL Employee Cursor Program

The document outlines a COBOL program named EMPCURS that interacts with a database to retrieve and display employee details. It includes sections for initialization, fetching data via a cursor, and displaying the results along with a footer showing the employee count. The program handles SQL execution and error checking throughout its operations.

Uploaded by

aravind2003mg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

COBOL Employee Cursor Program

The document outlines a COBOL program named EMPCURS that interacts with a database to retrieve and display employee details. It includes sections for initialization, fetching data via a cursor, and displaying the results along with a footer showing the employee count. The program handles SQL execution and error checking throughout its operations.

Uploaded by

aravind2003mg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

IDENTIFICATION DIVISION.

00010000
PROGRAM-ID. EMPCURS. 00020000
ENVIRONMENT DIVISION. 00030000
DATA DIVISION. 00040000
WORKING-STORAGE SECTION. 00050000
EXEC SQL 00060000
INCLUDE SQLCA 00070000
END-EXEC. 00080000
EXEC SQL 00081001
INCLUDE EMPDCL 00082001
END-EXEC. 00083001
EXEC SQL 00081001
DECLARE EMPCUR CURSOR
FOR SELECT EID, ENAME
FROM EMP
END-EXEC.
77 WS-DATE PIC X(19) VALUE SPACES. 00090000
77 WS-LINE PIC X(35) VALUE SPACES. 00090000
77 WS-SQLCODE PIC +9(03) VALUE SPACES. 00090000
77 WS-EMP-COUNT PIC 9(03) VALUE ZEROS. 00090000
77 WS-EMP-COUNT-EDIT PIC Z(03). 00090000
77 WS-ENAME-IND PIC S9(04) COMP. 00100000
77 WS-EOC PIC X(01) VALUE 'N'.
PROCEDURE DIVISION. 00110000
0000-MAIN-PARA. 00120000
PERFORM 1000-INIT-PARA
THRU 1000-INIT-EXIT.
PERFORM 2000-SYSDATE-PARA 00120101
THRU 2000-SYSDATE-EXIT.
PERFORM 3000-OPEN-EMPCUR 00120202
THRU 3000-OPEN-EXIT.
PERFORM 0020-HEADER-PARA 00120301
THRU 0020-HEADER-EXIT.
PERFORM 4000-FETCH-EMPCUR 00120301
THRU 4000-FETCH-EXIT
UNTIL WS-EOC = 'Y'.
PERFORM 0030-FOOTER-PARA
THRU 0030-FOOTER-EXIT.
PERFORM 5000-CLOSE-EMPCUR 00120403
THRU 5000-CLOSE-EXIT.
PERFORM 9000-END-PARA 00120503
THRU 9000-END-EXIT.
1000-INIT-PARA. 00121001
MOVE LOW-VALUES TO DCLEMP.
MOVE LOW-VALUES TO WS-DATE WS-LINE.
MOVE ZERO TO WS-EMP-COUNT.
1000-INIT-EXIT.
EXIT.
2000-SYSDATE-PARA. 00121001
EXEC SQL 00130000
SELECT SYSDATE
INTO :WS-DATE
FROM SYSIBM.SYSDUMMY1
END-EXEC. 00150000
IF SQLCODE = 0 00160000
DISPLAY " TODAY IS " WS-DATE 00170000
ELSE 00180000
MOVE SQLCODE TO WS-SQLCODE 00190000
DISPLAY ' SYSDATE SQL FAILED : ' WS-SQLCODE 00200000
PERFORM 9000-END-PARA
THRU 9000-END-EXIT
END-IF. 00210000
2000-SYSDATE-EXIT.
EXIT.
3000-OPEN-EMPCUR. 00211002
EXEC SQL 00211104
OPEN EMPCUR
END-EXEC. 00211204
IF SQLCODE = 0 00160000
DISPLAY " EMPCUR OPEN SUCCESSFUL!" 00170000
ELSE 00180000
MOVE SQLCODE TO WS-SQLCODE 00190000
DISPLAY ' EMPCUR OPEN ERROR : ' WS-SQLCODE 00200000
PERFORM 9000-END-PARA
THRU 9000-END-EXIT
END-IF. 00210000
3000-OPEN-EXIT.
EXIT.
4000-FETCH-EMPCUR. 00211302
EXEC SQL 00212001
FETCH EMPCUR
INTO :HV-EID,:HV-ENAME:WS-ENAME-IND 002
END-EXEC. 00214001
IF SQLCODE = 0 THEN 00215001
IF WS-ENAME-IND = -1 THEN
MOVE SPACES TO HV-ENAME
END-IF
ADD 1 TO WS-EMP-COUNT
DISPLAY WS-EMP-COUNT SPACE HV-EID SPACE HV-ENAME
ELSE IF SQLCODE = 100 THEN 00217001
MOVE 'Y' TO WS-EOC
ELSE
MOVE SQLCODE TO WS-SQLCODE 00218001
DISPLAY ' EMPCUR FETCH ERROR: ' WS-SQLCODE 00219002
PERFORM 9000-END-PARA
THRU 9000-END-EXIT
END-IF. 00219101
4000-FETCH-EXIT.
EXIT.
5000-CLOSE-EMPCUR. 00211002
EXEC SQL 00211104
CLOSE EMPCUR
END-EXEC. 00211204
IF SQLCODE = 0 00160000
DISPLAY " EMPCUR CLOSED SUCCESSFUL!" 00170000
ELSE 00180000
MOVE SQLCODE TO WS-SQLCODE 00190000
DISPLAY ' EMPCUR CLOSE ERROR : ' WS-SQLCODE 00200000
PERFORM 9000-END-PARA
THRU 9000-END-EXIT
END-IF. 00210000
5000-CLOSE-EXIT.
EXIT.
0010-LINE-PARA. 00222002
MOVE ALL "*" TO WS-LINE.
DISPLAY WS-LINE.
0010-LINE-EXIT.
EXIT.
0020-HEADER-PARA. 00222002
PERFORM 0010-LINE-PARA
THRU 0010-LINE-EXIT.
DISPLAY " EMPLOYEE DETAILS". 00216002
DISPLAY " ~~~~~~~~~~~~~~~~". 00216002
DISPLAY " S# EMPID NAME ". 00216002
DISPLAY "-----------------". 00216002
0020-HEADER-EXIT. 00222002
EXIT.
0030-FOOTER-PARA. 00222002
PERFORM 0010-LINE-PARA
THRU 0010-LINE-EXIT.
MOVE WS-EMP-COUNT TO WS-EMP-COUNT-EDIT
DISPLAY " EMPLOYEE COUNT : " WS-EMP-COUNT-EDIT.
0030-FOOTER-EXIT. 00222002
EXIT.
9000-END-PARA.
STOP RUN. 00230000
9000-END-EXIT.
EXIT.

You might also like