Let's understand Mainframe
Home Tutorials Interview Q&A Quiz Mainframe Memes Contact us About us

Module 10: File processing


DELETE statement

  • Used to logically remove records from indexed and relative files only
  • It deletes the most recently read record
  • To delete a record, the file should be opened in I-O mode
  • Basic syntax:-

    DELETE file-name RECORD [INVALID KEY imperative-statement-1] [NOT INVALID KEY imperative-statement-2] [END-DELETE].

  • Where,
    • file-name is logical file name from which record is to be deleted
    • INVALID KEY imperative-statement-1 : This becomes true when record is not found causes execution of imperative-statement-1
    • NOT INVALID KEY imperative-statement-2: This is used to specify statements to be executed when DELETE operation succeeds

Example of DELETE statement:-

INPUT FILE (KSDS DATASET):-

10000STEVE OKURA 20000AMIT KHATRI 30000ASHIK KONDANA 40000DHAVAL GOSALIYA 50000DARSHAN MANIYAR 60000NAYANISH DAMANI

COBOL PROGRAM:-

000100 IDENTIFICATION DIVISION. 000200 PROGRAM-ID. DELPGM. 000300 ENVIRONMENT DIVISION. 000400 INPUT-OUTPUT SECTION. 000500 FILE-CONTROL. 000600 SELECT EMPLOYEE ASSIGN TO EMPL 000700 ORGANIZATION IS INDEXED 000800 ACCESS IS RANDOM 000900 RECORD KEY IS EMPL-ID. 001000 DATA DIVISION. 001100 FILE SECTION. 001200 FD EMPLOYEE. 001300 01 EMPLOYEE-REC. 001400 05 EMPL-ID PIC 9(05). 001500 05 EMPL-NAME PIC X(15). 001600 WORKING-STORAGE SECTION. 001700 01 WS-EMPL. 001800 05 WS-EMPL-ID PIC 9(05). 001900 05 WS-EMPL-NAME PIC X(15). 002000 PROCEDURE DIVISION. 002100 MAIN-PARA. 002200 OPEN I-O EMPLOYEE 002300 MOVE '20000' TO EMPL-ID 002400 READ EMPLOYEE INTO WS-EMPL 002500 KEY IS EMPL-ID 002600 INVALID KEY 002700 DISPLAY 'RECEORD KEY IS INVALID' 002800 NOT INVALID KEY 002900 DISPLAY 'REC : "' WS-EMPL '" WILL BE DELETED' 003000 END-READ. 003100 DELETE EMPLOYEE RECORD 003200 INVALID KEY 003300 DISPLAY 'RECEORD KEY IS INVALID' 003400 NOT INVALID KEY 003500 DISPLAY 'REC DELETION SUCCESSFUL' 003600 END-DELETE. 003700 CLOSE EMPLOYEE 003800 STOP RUN.

Mainframe Job Step to run above program:-

//STEP01 EXEC PGM=DELPGM //STEPLIB DD DSN=USER.TEST.LOADLIB,DISP=SHR //EMPL DD DSN=MAINFRAM.FILE.KSDS.MSTR,DISP=SHR //SYSOUT DD SYSOUT=*

SYSOUT After Job run:-

REC : "20000AMIT KHATRI " WILL BE DELETED REC DELETION SUCCESSFUL

File content after above Program/Job run:-

10000STEVE OKURA 30000ASHIK KONDANA 40000DHAVAL GOSALIYA 50000DARSHAN MANIYAR 60000NAYANISH DAMANI



Advertisements






© copyright mainframebug.com
Privacy Policy