0% found this document useful (0 votes)
44 views

Code For Assessment

The document contains code snippets from sample programs that demonstrate different SQL operations like insert, delete, update in a DB2 database. These include cursor operations, inserting records into tables, deleting records based on conditions and bulk loading data into VSAM files.

Uploaded by

Udaya
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Code For Assessment

The document contains code snippets from sample programs that demonstrate different SQL operations like insert, delete, update in a DB2 database. These include cursor operations, inserting records into tables, deleting records based on conditions and bulk loading data into VSAM files.

Uploaded by

Udaya
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 12

//WPR057P JOB PR20312315,SAMPLE1,CLASS=A,TIME=10,NOTIFY=&SYSUID

//STEP1 EXEC PGM=IEBGENER,TIME=(0,3)


//SYSUT1 DD *
101 RAJ 40000 MUMBAI
102 SUJI 35000 CHENNAI
103 ANIL 50000 PUNE
/*
//SYSUT2 DD DSN=WPR057.SAMPLE.EMPSRC1,
// DISP=(NEW,CATLG,CATLG),
// SPACE=(TRK,(10,10,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//STEP2 EXEC PGM=IEBGENER,TIME=(0,3)
//SYSUT1 DD *
201 RAM 55000 DELHI
202 RAHIM 30000 GURGOAN
203 KISAN 75000 GUJARAT
/*
//SYSUT2 DD DSN=WPR057.SAMPLE.EMPSRC2,
// DISP=(NEW,CATLG,CATLG),
// SPACE=(TRK,(5,10,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//STEP3 EXEC PGM=IEBGENER,TIME=(0,3)
//SYSUT1 DD DSN=WPR057.SAMPLE.EMPSRC1,DISP=(OLD,CATLG,DELETE)
//SYSUT2 DD DSN=&&TEMP,
// DISP=(NEW,PASS,DELETE),
// SPACE=(TRK,(2,5,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//STEP4 EXEC PGM=IEBGENER,TIME=(0,3)
//SYSUT1 DD DSN=WPR057.SAMPLE.EMPSRC2,DISP=(OLD,CATLG,DELETE)
//SYSUT2 DD DSN=WPR057.SAMPLE.EMPSRC1,DISP=(OLD,CATLG,DELETE)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//STEP5 EXEC PGM=IEBGENER,TIME=(0,3)
//SYSUT1 DD DSN=&&TEMP,DISP=(OLD,CATLG,DELETE)
//SYSUT2 DD DSN=WPR057.SAMPLE.EMPSRC2,DISP=(OLD,CATLG,DELETE)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//STEP6 EXEC PGM=IEBGENER,
// COND=((4,LT,STEP3),(4,LT,STEP4),(4,LT,STEP5)),TIME=(0,3)
//SYSUT1 DD *
SUCCESS
/*
//SYSUT2 DD SYSOUT=*
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//STEP7 EXEC PGM=IEBGENER,TIME=(0,3)
//SYSUT1 DD DSN=WPR057.SAMPLE.EMPSRC1,DISP=(OLD,CATLG,DELETE)
//SYSUT2 DD DSN=WPR057.SAMPLE.EMPGDG(+1),
// DISP=(NEW,CATLG,CATLG),
// SPACE=(TRK,(5,2,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//STEP8 EXEC PGM=SORT,TIME=(0,3)
//SORTIN DD DSN=WPR057.SAMPLE.EMPSRC2,DISP=(OLD,CATLG,DELETE)
//SORTOUT DD DSN=WPR057.SAMPLE.EMPGDG(+2),
// DISP=(NEW,CATLG,CATLG),
// SPACE=(TRK,(2,2,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD *
SORT FIELDS=(14,5,CH,A)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*

----------------------------GDG
BASE----------------------------------------------------------------

//WPR036A JOB WIP,WIP,CLASS=A,NOTIFY=&SYSUID


//STEP1 EXEC PGM=IDCAMS
//SYSIN DD *
DEFINE GDG(-
NAME(WPR036.WIPRO.PRODGDG1)-
LIMIT(5)-
EMPTY-
SCRATCH -
)
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
------------------------------------------------ SAMPLE
2---------------------------------------------------------------
//WPR065N JOB NA20312349,NOV24ASS,PRTY=3,TIME=(15,0),MSGCLASS=A,
// MSGLEVEL=(1,1),CLASS=A,NOTIFY=&SYSUID
//S1 EXEC PGM=IEBGENER
//SYSUT1 DD *
101 PENCIL S001 0040 0050 L001
102 PEN S002 0030 0060 L002
103 ERASER S003 0020 0040 L002
/*
//SYSUT2 DD DSN=WPR065.WIPRO.PRODQTR1,
// DISP=(NEW,CATLG,CATLG),
// SPACE=(TRK,(5,5,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//S2 EXEC PGM=IEBGENER,TIME=(0,45)
//SYSUT1 DD *
111 BOOK S004 0035 0015 L001
112 PIN S005 0025 0025 L002
113 CHART S007 0055 0034 L001
/*
//SYSUT2 DD DSN=WPR065.WIPRO.PRODQTR2,
// DISP=(NEW,CATLG,CATLG),
// SPACE=(TRK,(5,5,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//S3 EXEC PGM=SORT,TIME=(0,45)
//SORTIN1 DD DSN=WPR065.WIPRO.PRODQTR1,DISP=(OLD,CATLG,DELETE)
//SORTIN2 DD DSN=WPR065.WIPRO.PRODQTR2,DISP=(OLD,CATLG,DELETE)
//SORTOUT DD DSN=WPR065.WIPRO.FINALRES,
// DISP=(NEW,CATLG,CATLG),
// SPACE=(TRK,(10,10,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD *
MERGE FIELDS=(1,3,CH,A)
/*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//S4 EXEC PGM=SORT,COND=(8,LT,S3),TIME=(0,45)
//SORTIN DD DSN=WPR065.WIPRO.FINALRES,DISP=(OLD,CATLG,DELETE)
//SORTOUT DD DSN=WPR065.WIPRO.PRODGDG(+1),
// DISP=(NEW,CATLG,CATLG),
// SPACE=(TRK,(5,2,0)),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)
//SYSIN DD *
SORT FIELDS=(22,4,CH,A)
INCLUDE COND=(27,4,CH,EQ,C'L001')
/*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
------------------------------------------------------- VSAM ------- PRINT CH
IDS(/) -------------------------------------------------------------

//WPR036A JOB WIP,WIP,NOTIFY=&SYSUID,CLASS=A


//S1 EXEC PGM=IDCAMS
//SYSIN DD *
DEFINE CLUSTER( -
NAME(WPR036.DEC20.EMPKSDS) -
INDEXED -
KEYS(3,0) -
RECORDSIZE(80,80) -
CYL(1,1) -
)
/*
//SYSPRINT DD SYSOUT=*
----MAIN PGM---------

//WPR036A JOB WIP,WIP,NOTIFY=&SYSUID,CLASS=A


//S1 EXEC PGM=IDCAMS
//DD1 DD DSN=WPR036.DEC20.EMPSRC1,DISP=OLD
//DD2 DD DSN=WPR036.DEC20.EMPKSDS,DISP=OLD
//SYSIN DD *
REPRO INFILE(DD1) OUTFILE(DD2) REPLACE
/*
//SYSPRINT DD SYSOUT=*
------------------------------------------------------ DB2
---------------------------------------------------------------------------
DEL CUR=========================

IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE EMPTB
END-EXEC.
EXEC SQL
DECLARE CUR1 CURSOR
FOR
SELECT EMPLOYEE_NO,EMPLOYEE_NAME,SALARY
FROM EMPLOYEES_TB WHERE DEPARTMENT_ID=20
END-EXEC.
77 IND-SAL PIC S9(4) COMP.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM OPEN-PARA.
PERFORM FETCH-PARA UNTIL SQLCODE = 100.
PERFORM CLOSE-PARA.
STOP RUN.
OPEN-PARA.
EXEC SQL
OPEN CUR1
END-EXEC.
IF SQLCODE = 0
DISPLAY 'SUCCESS'
ELSE
DISPLAY 'FAILURE'
END-IF.
FETCH-PARA.
EXEC SQL
FETCH CUR1
INTO
:HV-EMPLOYEE-NO,
:HV-EMPLOYEE-NAME,
:HV-SALARY : IND-SAL
END-EXEC.
IF SQLCODE = 100
DISPLAY 'NO MORE RECORDS'
PERFORM CLOSE-PARA
STOP RUN
ELSE
DISPLAY HV-EMPLOYEE-NO , ' ' , HV-EMPLOYEE-NAME , ' ' ,
HV-SALARY
WPR048.DEC20.DB2PGM(DELCUR) - 01.01 Columns 00001 000
EXEC SQL
DELETE FROM EMPLOYEES_TB WHERE CURRENT OF CUR1
END-EXEC
IF SQLCODE = 0
DISPLAY 'DELETED DATA'
END-IF.
CLOSE-PARA.
EXEC SQL
CLOSE CUR1
END-EXEC.
========================== DEL PGM ================================================
IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
01 HV-EMP-REC.
02 HV-ENO PIC S9(3) COMP.
02 HV-ENAME PIC X(6).
02 HV-PNUMBER PIC X(10).
02 HV-AGE PIC S9(2) COMP.
02 HV-HIREDATE PIC X(10).
02 HV-JPROFILE PIC X(10).
02 HV-DEPTID PIC S9(4) COMP.
02 HV-SALARY PIC S9(5)V9(2) COMP-3.
02 HV-COMMISSION PIC S9(4) COMP.
PROCEDURE DIVISION.
EXEC SQL
DELETE FROM EMPLOYEES_TB WHERE EMPLOYEE_NO=104
END-EXEC.
IF SQLCODE = 0
DISPLAY 'DELETE SUCCESS'
ELSE
DISPLAY 'FAILURE' SQLCODE
END-IF.
STOP RUN.
========================== INS EMP=============================================
IDENTIFICATION DIVISION.
PROGRAM-ID. INSEMP.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE EMPTBLE
END-EXEC.
01 WS-EMP-REC.
02 WS-EID PIC 9(2).
02 WS-EFN PIC X(10).
02 WS-ELN PIC X(10).
02 WS-SAL PIC 9(15).
02 WS-DOJ PIC X(10).
02 WS-DEP PIC X(15).
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM ACC-PARA.
PERFORM MOVE-PARA.
PERFORM INS-PARA.
STOP RUN.
ACC-PARA.
ACCEPT WS-EMP-REC.
MOVE-PARA.
MOVE WS-EID TO HV-EMPLOYEE-ID.
MOVE LENGTH OF WS-EFN TO HV-FIRST-NAME-LEN.
MOVE WS-EFN TO HV-FIRST-NAME-TEXT.
MOVE LENGTH OF WS-ELN TO HV-LAST-NAME-LEN.
MOVE WS-ELN TO HV-LAST-NAME-TEXT.
MOVE WS-SAL TO HV-SALARY.
MOVE WS-DOJ TO HV-JOINING-DATE.
MOVE LENGTH OF WS-DEP TO HV-DEPARTMENT-LEN.
MOVE WS-DEP TO HV-DEPARTMENT-TEXT.
INS-PARA.
EXEC SQL
INSERT INTO EMPLOYEE VALUES(:HV-EMPLOYEE-ID,
:HV-FIRST-NAME,:HV-LAST-NAME,:HV-SALARY,:HV-JOINING-DATE
,:HV-DEPARTMENT)
END-EXEC.
IF SQLCODE = 0
DISPLAY 'SUCCESS'
ELSE
DISPLAY 'FAILURE' SQLCODE
END-IF.

========================= INS PGM ===========================================


IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
01 HV-EMP-REC.
02 HV-ENO PIC S9(3) COMP.
02 HV-ENAME PIC X(6).
02 HV-PNUMBER PIC X(10).
02 HV-AGE PIC S9(4) COMP.
02 HV-HIREDATE PIC X(10).
02 HV-JPROFILE PIC X(10).
02 HV-DEPTID PIC S9(4) COMP.
02 HV-SALARY PIC S9(5)V9(2) COMP-3.
02 HV-COMMISSION PIC S9(4) COMP.
01 WS-EMP-REC.
02 WS-ENO PIC X(3).
02 WS-ENAME PIC X(6).
02 WS-SALARY PIC 9(5)V9(2).
PROCEDURE DIVISION.
WPR048.DEC20.DB2PGM(INSPGM) - 01.03 Columns 00001 00072
MAIN-PARA.
PERFORM ACC-PARA.
PERFORM MOVE-PARA.
PERFORM INS-PARA.
STOP RUN.
ACC-PARA.
ACCEPT WS-EMP-REC.
MOVE-PARA.
MOVE WS-ENO TO HV-ENO.
MOVE WS-ENAME TO HV-ENAME.
MOVE WS-SALARY TO HV-SALARY.
INS-PARA.
EXEC SQL
INSERT INTO EMPLOYEES_TB(EMPLOYEE_NO,EMPLOYEE_NAME,
SALARY) VALUES(:HV-ENO,:HV-ENAME,:HV-SALARY)
END-EXEC.
IF SQLCODE = 0
DISPLAY 'SUCCESS'
DISPLAY HV-ENO , HV-ENAME , HV-SALARY
ELSE
DISPLAY 'FAILURE' SQLCODE
END-IF.
=========================== NULL INS=============================================
IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE EMPTB
END-EXEC.
01 WS-EMP-REC.
02 WS-ENO PIC X(3).
02 WS-ENAME PIC X(12).
02 WS-DNO PIC 9(4).
77 IND-DNO PIC S9(4) COMP.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM ACC-PARA.
PERFORM MOVE-PARA.
PERFORM INS-PARA.
STOP RUN.
ACC-PARA.
ACCEPT WS-EMP-REC.
MOVE-PARA.
MOVE WS-ENO TO HV-EMPLOYEE-NO
MOVE WS-ENAME TO HV-EMPLOYEE-NAME
MOVE WS-DNO TO HV-DEPARTMENT-ID
IF WS-DNO = ZEROS
MOVE -1 TO IND-DNO
ELSE
MOVE WS-DNO TO HV-DEPARTMENT-ID
END-IF.
INS-PARA.
EXEC SQL
INSERT INTO EMPLOYEES_TB(EMPLOYEE_NO,EMPLOYEE_NAME,
DEPARTMENT_ID) VALUES(:HV-EMPLOYEE-NO,:HV-EMPLOYEE-NAME,
:HV-DEPARTMENT-ID:IND-DNO)
END-EXEC.
IF SQLCODE = 0
DISPLAY 'SUCCESS'
DISPLAY HV-EMPLOYEE-NO , HV-EMPLOYEE-NAME ,
HV-DEPARTMENT-ID
ELSE
DISPLAY 'FAILURE' SQLCODE
END-IF.
========================NULL SEL===============================================
IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM2.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE EMPTB
END-EXEC.
77 IND-COMM PIC S9(2) COMP.
PROCEDURE DIVISION.
EXEC SQL
SELECT EMPLOYEE_NO,COMMISSION
INTO
:HV-EMPLOYEE-NO,
:HV-COMMISSION
FROM EMPLOYEES_TB
WHERE EMPLOYEE_NO=101
END-EXEC.
IF IND-COMM < 0
MOVE 99 TO HV-COMMISSION
DISPLAY HV-EMPLOYEE-NO,HV-COMMISSION
ELSE
DISPLAY HV-EMPLOYEE-NO,HV-COMMISSION
END-IF.
STOP RUN.
========================== SEL CUR=============================================
IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE EMPTB
END-EXEC.
EXEC SQL
DECLARE CUR1 CURSOR
FOR
SELECT DEPARTMENT_ID FROM EMPLOYEES_TB
END-EXEC.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM OPEN-PARA.
PERFORM FETCH-PARA UNTIL SQLCODE=100.
PERFORM CLOSE-PARA.
STOP RUN.
OPEN-PARA.
EXEC SQL
OPEN CUR1
END-EXEC.
IF SQLCODE=0
DISPLAY 'OPEN SUCCESS'
ELSE
DISPLAY 'FAILURE' SQLCODE
END-IF.
FETCH-PARA.
EXEC SQL
FETCH CUR1
INTO
:HV-DEPARTMENT-ID
END-EXEC.
IF SQLCODE = 100
PERFORM CLOSE-PARA
STOP RUN
ELSE
DISPLAY HV-DEPARTMENT-ID
END-IF.
CLOSE-PARA.
EXEC SQL
CLOSE CUR1
END-EXEC.
========================== SEL PGM========================
your edit profile using the command RECOVER
IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
01 HV-EMP-REC.
02 HV-ENO PIC S9(4) COMP.
02 HV-ENAME PIC X(10).
02 HV-PNUMBER PIC X(10).
02 HV-AGE PIC S9(4) COMP.
02 HV-HIREDATE PIC X(10).
02 HV-JPROFILE PIC X(10).
02 HV-DEPTID PIC S9(4) COMP.
02 HV-SALARY PIC S9(5)V9(2) COMP-3.
02 HV-COMMISSION PIC S9(4) COMP.
PROCEDURE DIVISION.
EXEC SQL
SELECT EMPLOYEE_NO,SALARY
INTO
:HV-ENO,
WPR048.DEC20.DB2PGM(SELPGM) - 01.09
:HV-SALARY
FROM EMPLOYEES_TB
WHERE EMPLOYEE_NO=103
END-EXEC.
IF SQLCODE = 0
DISPLAY 'SUCCESS'
DISPLAY HV-ENO , HV-SALARY
ELSE
DISPLAY 'FAILURE' SQLCODE
END-IF.
STOP RUN.

=================================SEL PGM2=====================================
your edit profile using the command RECOVERY O
IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM2.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE EMPTB
END-EXEC.
PROCEDURE DIVISION.
EXEC SQL
SELECT EMPLOYEE_NO,SALARY
INTO
:HV-EMPLOYEE-NO,
:HV-SALARY
FROM EMPLOYEES_TB
WHERE EMPLOYEE_NO=101
END-EXEC.
IF SQLCODE = 0
DISPLAY 'SUCCESS'
DISPLAY HV-EMPLOYEE-NO,HV-SALARY
WPR048.DEC20.DB2PGM(SELPGM2) - 01.09
ELSE
DISPLAY 'FAILURE' SQLCODE
END-IF.
STOP RUN.
================================= UPD
PGM==============================================
IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
01 HV-EMP-REC.
02 HV-ENO PIC S9(3) COMP.
02 HV-ENAME PIC X(6).
02 HV-PNUMBER PIC X(10).
02 HV-AGE PIC S9(2) COMP.
02 HV-HIREDATE PIC X(10).
02 HV-JPROFILE PIC X(10).
02 HV-DEPTID PIC S9(4) COMP.
02 HV-SALARY PIC S9(5)V9(2) COMP-3.
02 HV-COMMISSION PIC S9(4) COMP.
PROCEDURE DIVISION.
EXEC SQL
UPDATE EMPLOYEES_TB SET AGE=39,SALARY=6000055
WHERE EMPLOYEE_NO=103
END-EXEC.
IF SQLCODE = 0
DISPLAY 'UPDATE SUCCESS'
ELSE
DISPLAY 'FAILURE' SQLCODE
END-IF.
STOP RUN.
========================================= UPD
CUR========================================
your edit profile using the command RECOVERY ON.
IDENTIFICATION DIVISION.
PROGRAM-ID. SELPGM.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE EMPTB
END-EXEC.
EXEC SQL
DECLARE CUR1 CURSOR
FOR
SELECT EMPLOYEE_NO,EMPLOYEE_NAME,SALARY
FROM EMPLOYEES_TB WHERE DEPARTMENT_ID=10
FOR UPDATE OF SALARY
END-EXEC.
77 IND-SAL PIC S9(4) COMP.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM OPEN-PARA.
PERFORM FETCH-PARA UNTIL SQLCODE = 100.
PERFORM CLOSE-PARA.
STOP RUN.
OPEN-PARA.
EXEC SQL
OPEN CUR1
END-EXEC.
IF SQLCODE = 0
DISPLAY 'SUCCESS'
ELSE
DISPLAY 'FAILURE'
END-IF.
FETCH-PARA.
EXEC SQL
FETCH CUR1
INTO
:HV-EMPLOYEE-NO,
:HV-EMPLOYEE-NAME,
:HV-SALARY : IND-SAL
END-EXEC.
IF SQLCODE = 100
DISPLAY 'NO MORE RECORDS'
PERFORM CLOSE-PARA
STOP RUN
ELSE
DISPLAY HV-EMPLOYEE-NO , ' ' , HV-EMPLOYEE-NAME , ' ' ,
PERFORM CLOSE-PARA.
STOP RUN.
OPEN-PARA.
EXEC SQL
OPEN CUR1
END-EXEC.
IF SQLCODE = 0
DISPLAY 'SUCCESS'
ELSE
DISPLAY 'FAILURE'
END-IF.
FETCH-PARA.
EXEC SQL
FETCH CUR1
INTO
:HV-EMPLOYEE-NO,
:HV-EMPLOYEE-NAME,
:HV-SALARY : IND-SAL
END-EXEC.
IF SQLCODE = 100
DISPLAY 'NO MORE RECORDS'
PERFORM CLOSE-PARA
STOP RUN
ELSE
DISPLAY HV-EMPLOYEE-NO , ' ' , HV-EMPLOYEE-NAME , ' ' ,
HV-SALARY
EXEC SQL
UPDATE EMPLOYEES_TB SET SALARY = SALARY + 100
WHERE CURRENT OF CUR1
END-EXEC
IF SQLCODE = 0
DISPLAY 'UPDATED DATA'
END-IF.
CLOSE-PARA.
EXEC SQL
CLOSE CUR1
END-EXEC.
================================================================================

You might also like