SlideShare a Scribd company logo
Introduction to
COBOL
- COBOL is used for developing typically file-oriented BUSINESS
applications.
- Suitable for batch processing applications like PAYROLL, TELEPHONE/
ELECTRICITY BILLING,FINANCIAL ACCOUNTING etc
- Batch processing is also known as periodical processing
-With CICS as front end, COBOL is suitable for ONLINE applications
like RAILWAY RESERVATION SYSTEM, ONLINE BANKING etc
- COBOL is not suitable for developing system programs like OS, drivers
- COBOL is one of the oldest computer languages in use
(it was developed around the end of the 1950s).
COBOL is an acronym which stands for
COMMON BUSINESS ORIENTED LANGUAGE
- Higher Level Language
- English Like Language
- Self documenting Language
- File handling capability
- Easy to write
- Available across several platforms
- Largely Machine independent
ADVANTAGES OF COBOL
COBOL was Developed In 1959 By A Group Called CODASYL
(COnference on DAta SYstems Language)
Later ANSI standards were introduced
COBOL – 68
COBOL – 74
COBOL – 85
COBOL – 2003
( Enterprise COBOL )
FUTURE OF COBOL
COBOL will remain an important language in future also
Billions of lines of COBOL source are currently in use with
millions added each year.
Since 1000s of COBOL programmers retire every year
there is a continuous requirement of TRAINED man power
in COBOL for Maintenance and Development of COBOL
based applications.
COMPARISON OF IBM COBOL COMPILERS
COBOL 74 STD.
OS/VS COBOL VS COBOL II COBOL/370 COBOL FOR MVS & VM
COBOL 85 STD.
DBCS,
IMPROVED CICS
INTERFACE,
31 BIT
ADDRESSING ,
SAA SUPPORT,
ETC.
COBOL 74 STD.
COBOL 85 STD.
DBCS,
IMPROVED
CICS
INTERFACE,
31 BIT
ADDRESSING,
SAA SUPPORT,
ETC.
COBOL 74 STD. COBOL 74 STD.
COBOL 85 STD.
DBCS,
IMPROVED
CICS
INTERFACE,
31 BIT
ADDRESSING,
SAA SUPPORT,
ETC.
INTRINSIC
FUNCTIONS,
SUPPORT FOR
LANGUAGE
ENVIRONMENT
INTRINSIC
FUNCTIONS,
SUPPORT FOR
LANGUAGE
ENVIRONMENT
EXTENSIONS
FOR OOCOBOL,
C INTEROPERABLITY
IBM's latest host COBOL compiler
- For writing a COBOL program you have to be provided with
program specification by your BUSINESS ANALYST
- ANALYST studies a customer’s requirement for an
application package and prepares an over all design and
finally comes out with a detailed specification for every
program to be developed under an application
- The specification will contain the details of INPUT/OUTPUT file
descriptions, OUTPUT report layouts and descriptions,
Processing specifications, Calculation methods etc.
- A set of Test data is required to ensure that the programs
work as intended by the designer and customer
A COBOL PROGRAM IS DIVIDED INTO
– DIVISION
– SECTION
– PARAGRAPH
– SENTENCE
– STATEMENT
– WORDS
– CHARACTERS
COBOL WORDS ARE TWO CATEGORIES,
RESERVED WORDS AND USER DEFINED WORDS.
USER DEFINED WORDS CAN BE VARIABLES DECLARED IN DATA
DIVISION AND PARAGRAPH NAMES IN PROCEDURE DIVISION,
WHICH WILL SEE LATER
COBOL RESERVED WORDS
THE COBOL LANGUAGE HAS OVER 300 WORDS WHICH
HAVE A SPECIAL SIGNIFICANCE TO THE COMPILER AND
ARE CALLED RESERVED WORDS
USER DEFINED VARIBLES MUST NOT COINCIDE WITH
RESERVED WORDS
EXAMPLE :-
DIVISION, SECTION, STORAGE, ADD, ACCEPT, STOP,
COMMA, DIVIDE, DYNAMIC, LINKAGE , READ , WRITE
ETC.,
| | | | |
| | | | |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |……………| 71 | 72 |
|---------- ------| |------ ---|------------------------------ ------------------|
1
2
3 4
Columns
Rows
1. Sequence Number Area
2. Indicator Area
3. Area ‘A’ or Margin ‘A’
4. Area ‘B’ or Margin ‘B’
COBOL Coding Format
Indicator Area Characters
1. * (Asterisk) - Comment
2. / (Slash) - Comment + page feed
3. - (Hyphen) - String Continuation
MARGIN A IS TO BE USED FOR WRITING
DIVISION NAMES
SECTION NAMES
PARAGRAPH NAMES
01 77 LEVEL ENTRIES
FD ENTRIES
MARGIN B IS TO BE USED FOR WRITING
02-49 66 88 LEVEL ENTRIES
SELECT STATEMENTS
PROCEDURE DIVISION STATEMENTS AND SENTENCES
Four Divisions of COBOL.
DIVISIONS/SECTIONS identify various parts of a COBOL program
File declarations, descriptions, temporary variables, processing logic,
communication with other programs etc are handled by various
DIVISONS/SECTIONS of a COBOL program
There are four DIVISIONS in all.
u IDENTIFICATION DIVISION. ( MANDATORY )
u ENVIRONMENT DIVISION. ( OPTIONAL )
u DATA DIVISION. ( OPTIONAL )
u PROCEDURE DIVISION. ( MANDATORY )
Functions of the four divisions.
The IDENTIFICATION DIVISION is used to specify the name of
program and programmer.
The ENVIRONMENT DIVISION is used to define the data sets
that are used by a program and links the data sets to the
corresponding DD names of JCL
As the name suggests, the DATA DIVISION is used to provide
the complete descriptions of data sets including record
description and field description and working storage variables.
Functions of the four divisions.
The PROCEDURE DIVISION contains executable instructions
( statements containing VERBS ) to process the data contained in
DATA DIVISION.
COBOL provides a means for specifying sequence, selection
and iteration constructs to code your processing logic.
COBOL coding rules
COBOL coding lines start in Margin A or Margin B
DIVISION, SECTION, PARAGRAPH names start in Margin A
FD entries,01,77 level entries, Procedure division paragraph
names start in Margin A.
Where as STATEMENTS, 02-49, 66, 88 level entries start in
Margin B.
Again, Procedure division sentences, statements start in
Margin B.
A SAMPLE COBOL program. ( just see the
structure - don’t worry about the details)
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
AUTHOR. SRG.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 NUM1 PIC 9 VALUE ZEROS.
77 NUM2 PIC 9 VALUE ZEROS.
77 RESULT PIC 99 VALUE ZEROS.
77 WS-NAME PIC X(10) VALUE ‘MAPLES’.
PROCEDURE DIVISION.
CALC-RTN1.
ACCEPT NUM1.
ACCEPT NUM2.
MULTIPLY NUM1 BY NUM2 GIVING RESULT.
DISPLAY "RESULT IS = ", RESULT.
STOP RUN.
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1.
AUTHOR. SRG.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT STUDENT-FILE ASSIGN TO DD1
ORGANIZATION SEQUENTIAL
ACCESS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD STUDENT-FILE.
01 STUDENT-REC.
02 ST-EC PIC 9(4).
02 ST-ENAME PIC PIC X(15).
02 ST-BASIC-PAY PIC 9(4)V99.
contd…
Another SAMPLE COBOL program.
contd…………
WORKING-STORAGE SECTION.
77 WS-CTR PIC 9(5) VALUE 123.
01 WS-REC.
02 WS-EC PIC 9(4).
PROCEDURE DIVISION.
DISPLAY …………..
OPEN ………..
RTN1.
READ …………AT END CLOSE ……
NOT AT END
MOVE ……….
COMPUTE ……………
ADD ……….
WRITE …………
GO TO RTN1
END-READ.
IDENTIFICATION DIVISION
- IT IS THE SMALLEST AND LEAST SIGNIFICANT DIVISION
- IT IS USED TO IDENTIFY THE PROGRAM AND AUTHOR
- IT DOES NOT HAVE SECTIONS
- IT CONTAINS ONLY PARAGRAPHS
IDENTIFICATION DIVISION
PROGRAM-ID. TEST123.
AUTHOR. RAJ.
INSTALLATION. MAPLES.
DATE-WRITTEN. 21-08-1999.
DATE-COMPILED. 23-08-1999.
- PROGRAM-ID IS THE ONLY REQUIRED PARAGRAPH FOR THIS DIVISION.
- Program name CAN BE 1 – 30 CHARACTERS WITH ATLEAST ONE ALPHABET.
BUT MAINFRAME ACCEPTS ONLY 8 CHAR PROGRAM NAME
- ALL OTHER ENTRIES ARE OPTIONAL AND FOR DOCUMENTATION ONLY
ENVIRONMENT DIVISION
- THIS FOLLOWS THE IDENTIFICATION DIVISION.
- THIS IS THE MOST HARDWARE DEPENDENT DIVISION.
- THE COMPUTER AND OTHER DEVICE REQUIREMENTS ARE
DESCRIBED IN THIS SECTION.
- IT HAS 2 SECTIONS
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE COMPUTER. S390. (where the program is compiled)
OBJECT COMPUTER. S390. (where the program is executed)
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT employee-master ASSIGN TO DD1.
organization is sequential.
I-O-CONTROL.
SPECIAL-NAMES.
CURRENCY SIGN IS literal-1.
DECIMAL POINT IS COMMA.
DATA DIVISION
- Has TWO sections FILE SECTION and WORKING-STORAGE SECTION
- DESCRIBES THE CHARACTERICSTICS of FILES used in the program
LIKE REC SIZE, BLOCK SIZE, FORMAT ETC…
- IT CONTIANS RECORD STRUCTURE AND FIELD DESCRIPTION
entries.
- All the above are declared in FILE SECTION
- DATA DIVISION has working-storage section to declare temporary
memory variables used in the program.
- In essence, the contents of FILE SECTION variables are stored in the
devices like hard disk/printer where as the contents of WORKING-
STORAGE section are in RAM buffers and are lost once the program is
terminated
DATA DIVISION
DATA DIVISION HAS SIX SECTIONS AS PER STANDARDS
BUT MAINFRAME COBOL HAS ONLY FOUR SECTIONS
• FILE SECTION.
• WORKING-STORAGE SECTION.
• LINKAGE SECTION.
• LOCAL-STORAGE SECTION.
• REPORT SECTION
• SCREEN SECTION.
The last 2 sections are not supported in
IBM MAINFRAME COBOL
SCREEN SECTION REQUIREMENTS ARE TAKEN CARE BY THE OLTP
SOFTWARE CICS
The DATA DIVISION has the following structure
DATA DIVISION.
FILE SECTION.
……….. FILE SECTION ENTRIES …………..
WORKING-STORAGE SECTION.
……TEMPORARY MEMEORY VARIABLES, GROUP AND ELEMENTARY ITEMS..
EXAMPLE:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
AUTHOR. SRG.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Num1 PIC 9 VALUE ZEROS.
01 Num2 PIC 9 VALUE ZEROS.
01 Result PIC 99 VALUE ZEROS.
DATA DIVISION Syntax
VARIABLES
Let us start with working- storage section
VARIABLES can be declared in WS section
Variables are also known as data items or identifiers
A data item starts with a level number followed by name, PIC
clause and optionally VALUE and other clauses
A variable name can be maximum of 30 chars consisting of
A-Z,0-9,hiphen
No other special characters, no blanks are allowed.
Must have at least one Alphabet
DATA ITEMS / VARIABLES
- DATA ITEMS CAN BE ELEMENTARY OR GROUP ITEMS
- ELEMENTARY ITEM IS ONE THAT CANNOT BE FURTHER SUBDIVIDED
- A SET OF RELATED ELEMENTARY ITEMS IS CALLED A GROUP ITEM
01 LEVEL IS USED FOR DECLARING GROUP ITEMS
- ELEMENTARY ITEMS WHICH ARE NOT PART OF ANY GROUP IS CALLED
INDEPENDENT ELEMENTARY ITEMS
- Generally Independent elementary items are declared in WS
- with level number 77
- Independent elementary items can also be declared with level number
01 from COBOL-85 version
Contd….
- 01 AND 77 LEVEL ITEM NAMES MUST BE UNIQUE
- 01 LEVEL IS ALSO USED FOR DECLARING GROUP ITEMS ,
IN WHICH CASE IT MAY HAVE SUB LEVEL ITEMS WITH LEVEL
NUMBERS 02-49
- 02-49 LEVEL DATA ITEMS MAY have duplicates
( DUPLICATE ITEMS CAN BE QUALIFIED --- LATER EXPLAINED)
- 01 77 levels are used in MARGIN-A where as other levels in MARGIN-B
COBOL Data Types
There are THREE basic data types in COBOL
Numeric, Alphabetic, Alphanumeric
Data type is important because it determines how the data has to be stored
inside the variable and what operations are valid on such variables
The contents in ALPHANUMERIC items are left justified
The contents in NUMERIC items are right justified
COBOL’s weakness is, it is poor in type Checking and enforcing.
How to declare Variables in WS?
Variables are declared with a level number, user defined name and PIC clause
WORKING-STORAGE SECTION.
77 WS-NAME PIC X(15) VALUE “MAPLES”. MAPLES---------
77 WS-CTR1 PIC 9(6) VALUE 1234. 001234
77 WS-CTR2 PIC 9(4) VALUE ZERO.
77 WS-LINE PIC X(10) VALUE ALL “-”. ------------
77 WS-ADDR PIC X(10) VALUE SPACES.
77 WS-AMT PIC 9(4)v9(3) value 12.56 0012560
Level number 77 indicates the item is independent data item
PIC means PICTURE Clause indicating the type and size of the item
Type can be X A 9 indicating alphanumeric, alphabetic, Numeric items
Contd…
VALUE indicates the initial contents of the variable
The constants are three types in COBOL
STRING CONSTANT, NUMERIC CONSTANT, FIGURATIVE CONSTANT
Though the initial values are called constants, the contents can be
modified late in the program
The max size of X and A is 32000 chars without value clause and 160 with
VALUE clause
For numeric data item max allowed is 18 digits but mainframe COBOL
allows up to 31 digits
( you have to set the compiler option PARM.COBOL=ARITH(EXTEND)
More examples
77 WS-CTR2 PIC 9(5) VALUE 123. ( STORED AS 00123 )
77 EMP-NAME PIC A(15) VALUE ‘MAPLES’.
01 EMP-ADDRESS PIC X(12) VALUE “12,III STREET”.
01 WS-GRP.
02 WS-EC PIC 9(3).
02 WS-EN PIC X(12).
02 WS-DOB.
03 WS-DD PIC 9(2).
03 WS-MM PIC 9(2).
03 WS-YY PIC 9(2).
01 WS-GRP.
05 WS-EC PIC 9(3).
05 WS-EN PIC X(12).
05 WS-DOB.
10 WS-DD PIC 9(2).
10 WS-MM PIC 9(2).
10 WS-YY PIC 9(2).
Figurative Constants
COBOL provides its special type of constants called Figurative Constants.
SPACE or SPACES
ZERO or ZEROS or ZEROES equivalent to 0
QUOTE or QUOTES = "
HIGH-VALUE or HIGH-VALUES = Max Value
LOW-VALUE or LOW-VALUES = Min Value
ALL literal = filling with character
The PROCEDURE DIVISION.
The PROCEDURE DIVISION is where all the data described in the DATA
DIVISION is processed .
It contains the logic to process the data .
The PROCEDURE DIVISION is hierarchical in structure and consists of
Sections, Paragraphs, Sentences and Statements.
There must be at least one paragraph, sentence and statement in the
PROCEDURE DIVISION.
The paragraph and section names in this division are chosen by the
programmer meaningfully.
PROCEDURE DIVISION
- THIS IS THE fourth division of a COBOL PROGRAM.
- IT CONTAINS SECTIONS/ PARAGRAPHS DEFINED BY USERS
- PARAGRAPHS CONTAIN ( INSTRUCTIONS ) STATEMENTS TO BE EXECUTED
- STATEMENTS ARE USED TO PROCESS THE DATA ITEMS
- A STATEMENT STARTS WITH A VERB LIKE OPEN, ADD, MOVE, DISPLAY ETC
- A SET OF COBOL STATEMENTS CAN BE GROUPED USING A PARAGRAPH NAME
• PARAGRAPH MUST BEGIN IN MARGIN A
• MUST NOT HAVE MORE THAN 30 CHARACTERS.
• MUST NOT BE A COBOL RESERVED WORD.
• MUST NOT HAVE ANY SPECIAL CHARACTERS EXCEPT HYPHEN (-)
• MUST BE generally UNIQUE.
SAMPLE PROCEDURE DIVISION
PROCEDURE DIVISION.
MAIN-PARA.
ADD A TO B.
MOVE B TO F.
.
.
EXIT-PARA.
STOP RUN.
-------------------------------------------------------------------------------------------------------------------------
MINIMUM COBOL RPOGRAM
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE2.
PROCEDURE DIVISION.
DISPLAY “HELLO WORLD".
STOP RUN.
FIRST PROCEDURE DIVISION STATEMENT
DISPLAY STATEMENT WILL SHOW THE CONTENTS OF A VARIABLE OR
LITERAL IN THE OUTPUT SPOOL (SYSOUT )
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-NAME PIC X(10) VALUE ‘MAPLES’.
PROCEDURE DIVISION.
DISPLAY “HALLO” WS-NAME.
STOP RUN.
Note: DISPLAY statement IN MAIN FRAME COBOL CANNOT control the
LINE or COLUMN position of the SCREEN
You have to use multiple display statements to show the contents on
separate lines
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-NAME PIC X(10) VALUE ‘MAPLES’.
PROCEDURE DIVISION.
DISPLAY “HALLO”
DISPLAY WS-NAME.
DISPLAY “HOW ARE YOU?”.
STOP RUN.
Procedure to compile and execute a COBOL program
using TWO JCLs COMPLINK and RUNJCL
1. Allocate two PDS MAPLE06.COBOL.PDS and MAPLE06.LOAD.PDS
2. Enter your COBOL program as a member of PDS
Ex: MAPLE06.COBOL.PDS( PRG1)
3. Create a JCL named COMPLINK as follows, in MAPLE06.COBOL.PDS
and submit
//MAPLE06R JOB NOTIFY=MAPLE06,CLASS=M
// JCLLIB ORDER=(ZOS.PROCLIB)
//S1 EXEC PROC=IGYWCL,MEM=PRG1
//COBOL.SYSIN DD DSN=MAPLE06.COBOL.PDS(&MEM),DISP=SHR
//LKED.SYSLMOD DD DSN=MAPLE06.LOAD.PDS(&MEM),DISP=SHR
//
--- THIS JCL IS USED TO COMPILE YOUR COBOL PROGRAM PRG1, CHECK FOR SYNTAX
ERRORS AND SAVE THE LOAD MODULE IN MAPLE06.LOAD.PDS
--- IGYWCL IS A CATALOGED PROCEDURE GIVEN BY IBM
How to execute your load module?
4. CREATE A JCL NAMED RUNJCL AS FOLLOWS IN MAPLE06.COBOL.PDS
AND SUBMIT
//MAPLE06R JOB NOTIFY=&SYSUID,CLASS=M
//JOBLIB DD DSN=MAPLE06.LOAD.PDS,DISP=SHR
//S1 EXEC PGM=PRG1
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
1234 KRISHNA TNAGAR ADMIN ………….
/*
//
==================================================================
NOTE: You can also use the procedure IGYWCLG which can compile, link and
execute with a single JCL
//GO.SYSIN DD * is to be used for giving the input
ACCEPT
ACCEPT statement reads a line from SYSIN DD * of RUNJCL
and stores the data in the variable. Data should be given in INTERNAL FORMAT
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-NAME PIC X(10).
77 WS-NUM PIC 9(5).
PROCEDURE DIVISION.
ACCEPT WS-NAME.
DISPLAY WS-NAME.
ACCEPT WS-NUM.
DISPLAY WS-NUM.
STOP RUN.
IMPORTANT: INPUT DATA IS TO BE GIVEN THRU SYSIN DD * IN RUNJCL
Giving data thru SYSIN DD * is different from VALUE CLAUSE
For numeric item input should be given as: 00123 NOT AS 123
EXAMPLE: 1
IDENTIFICATION DIVISION.
PROGRAM-ID. EX1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 NAME PIC X(15).
01 AGE PIC 9(2).
PROCEDURE DIVISION.
PARA-1.
ACCEPT NAME.
ACCEPT AGE.
DISPLAY “HELLO " NAME.
DISPLAY “YOUR AGE IS " AGE.
STOP RUN.
ACCEPT variable
FROM {DATE/TIME/DAY/DAY-OF-WEEK } [ YYYYMMDD ].
DISPLAY VAR1/LIT1 VAR2/LIT2 .. .. .. .. ..
DATE etc… are COBOL reserved data-items
ACCEPT can be followed by only one data-item
You have to use multiple display statements to show the contents on
separate lines
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-NAME PIC X(10).
PROCEDURE DIVISION.
ACCEPT WS-NAME
DISPLAY “HALLO”
DISPLAY WS-NAME.
DISPLAY “HOW ARE YOU?”.
STOP RUN.
You have to use multiple display statements to show the contents on
separate lines
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 NUMB PIC 9(3)V9(3) VALUE 12.34.
PROCEDURE DIVISION.
ACCEPT NUMB
DISPLAY NUMB.
STOP RUN.
IMPORTANT:
THRU SYSIN DD * YOU HAVE TO GIVE INPUT AS 012340 WITHOUT DOT
ACCEPT can be used to capture system registers like DATE, TIME etc.
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-DATE PIC 9(8).
PROCEDURE DIVISION.
ACCEPT WS-DATE
FROM DATE YYYYMMDD.
DISPLAY WS-DATE.
STOP RUN.
ACCEPT variations
ACCEPT WS-NAME
ACCEPT WS-DATE FROM DATE
ACCEPT WS-DATE FROM DATE YYYYMMDD.
ACCEPT WS-TIME FROM TIME
ACCEPT WS-DAY FROM DAY
ACCEPT WS-DAY FROM DAY YYYYDDD
ACCEPT WS-DWK FROM DAY-OF-WEEK
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-TIME PIC 9(8) VALUE 0.
PROCEDURE DIVISION.
ACCEPT WS-TIME FROM TIME.
DISPLAY WS-TIME.
STOP RUN.
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-DAY PIC 9(6) VALUE 0.
PROCEDURE DIVISION.
ACCEPT WS-DAY FROM DAY YYYYDDD.
DISPLAY WS-DAY.
ACCEPT WS-DWK FROM DAY-OF-WEEK
DISPLAY WS-DWK.
STOP RUN.

More Related Content

PPTX
Skillwise - Cobol Programming Basics
PPSX
Cobol training class-1
PPSX
Cobol training class-1
PPT
Chapter 1
PPT
COBOL Foundation 1
PDF
Cobol簡介
PDF
COBOL_Programming_Fundamental or dummies.pdf
Skillwise - Cobol Programming Basics
Cobol training class-1
Cobol training class-1
Chapter 1
COBOL Foundation 1
Cobol簡介
COBOL_Programming_Fundamental or dummies.pdf

Similar to DAY-01-INTRO-DATA DIV-ACCEPT-DISPLAY.pptx (20)

DOC
COBOL FOR FRESHER
PPTX
Cobol programming language
PDF
A Checklist for Migrating Big Iron Cobol Applications
PDF
SMP / Extended orientation for IBM mainframes
PPS
All around cobol
PDF
Mainframe refresher-part-1
PDF
ERP Magazine April 2018 - The magazine for SAP ABAP Professionals
PDF
ERP Magazine April 2018 Issue 1
PDF
Track 2 session 4 db2 for z os optimizer- what’s new in db2 11 and exploiti...
PDF
A beginner's guide to cobol programming
PDF
Bca cobol
DOCX
WEBSITE DEVELOPMENT
PPT
ABAP BASICs learn the basics of ABAP-1.ppt
PPTX
Unit-2.pptx
PPTX
363656678-internship-ppt-on-SAP-ABAP.pptx
PPTX
C session 1.pptx
PDF
Gaining Insight into
PPT
Introduction to Assembly language Programming.ppt
PDF
Complete reference to_abap_basics
PPTX
POLITEKNIK MALAYSIA
COBOL FOR FRESHER
Cobol programming language
A Checklist for Migrating Big Iron Cobol Applications
SMP / Extended orientation for IBM mainframes
All around cobol
Mainframe refresher-part-1
ERP Magazine April 2018 - The magazine for SAP ABAP Professionals
ERP Magazine April 2018 Issue 1
Track 2 session 4 db2 for z os optimizer- what’s new in db2 11 and exploiti...
A beginner's guide to cobol programming
Bca cobol
WEBSITE DEVELOPMENT
ABAP BASICs learn the basics of ABAP-1.ppt
Unit-2.pptx
363656678-internship-ppt-on-SAP-ABAP.pptx
C session 1.pptx
Gaining Insight into
Introduction to Assembly language Programming.ppt
Complete reference to_abap_basics
POLITEKNIK MALAYSIA
Ad

More from solomonrajuRD (7)

PPT
DAY-00-WISE-SCHEDULE.pptgfgfgfggsdaawagfgafgahhdfdsdssasas
PPT
cics day7.pptvvcxdsfsgssdsdgdsgsdsddsgsggsdggs
PPT
cics day6.pptccxzcxzcxzcxzxzxcxzvcsacfffdfafasfafasffsafasfsa
PPT
SDNSADNASDSANDSJADNJSADNJSADNSASASASAD SAD AS DSASASDSS
PPT
SAHBIASBASBASASDASDSADSADfdgfdfdgdfgfdgdfgdfgfgd
PPT
ASDSADSADSADSADSAFFFSASASAFSAFSAFAASSSFFASASFFFS
PPT
dsfdsfdsfdsdqiasunuiqdnqoiwdoqwioqoiwdsdsfdsfdsfds
DAY-00-WISE-SCHEDULE.pptgfgfgfggsdaawagfgafgahhdfdsdssasas
cics day7.pptvvcxdsfsgssdsdgdsgsdsddsgsggsdggs
cics day6.pptccxzcxzcxzcxzxzxcxzvcsacfffdfafasfafasffsafasfsa
SDNSADNASDSANDSJADNJSADNJSADNSASASASAD SAD AS DSASASDSS
SAHBIASBASBASASDASDSADSADfdgfdfdgdfgfdgdfgdfgfgd
ASDSADSADSADSADSAFFFSASASAFSAFSAFAASSSFFASASFFFS
dsfdsfdsfdsdqiasunuiqdnqoiwdoqwioqoiwdsdsfdsfdsfds
Ad

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation_ Review paper, used for researhc scholars
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
NewMind AI Monthly Chronicles - July 2025
NewMind AI Weekly Chronicles - August'25 Week I
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars

DAY-01-INTRO-DATA DIV-ACCEPT-DISPLAY.pptx

  • 2. - COBOL is used for developing typically file-oriented BUSINESS applications. - Suitable for batch processing applications like PAYROLL, TELEPHONE/ ELECTRICITY BILLING,FINANCIAL ACCOUNTING etc - Batch processing is also known as periodical processing -With CICS as front end, COBOL is suitable for ONLINE applications like RAILWAY RESERVATION SYSTEM, ONLINE BANKING etc - COBOL is not suitable for developing system programs like OS, drivers - COBOL is one of the oldest computer languages in use (it was developed around the end of the 1950s). COBOL is an acronym which stands for COMMON BUSINESS ORIENTED LANGUAGE
  • 3. - Higher Level Language - English Like Language - Self documenting Language - File handling capability - Easy to write - Available across several platforms - Largely Machine independent ADVANTAGES OF COBOL
  • 4. COBOL was Developed In 1959 By A Group Called CODASYL (COnference on DAta SYstems Language) Later ANSI standards were introduced COBOL – 68 COBOL – 74 COBOL – 85 COBOL – 2003 ( Enterprise COBOL )
  • 5. FUTURE OF COBOL COBOL will remain an important language in future also Billions of lines of COBOL source are currently in use with millions added each year. Since 1000s of COBOL programmers retire every year there is a continuous requirement of TRAINED man power in COBOL for Maintenance and Development of COBOL based applications.
  • 6. COMPARISON OF IBM COBOL COMPILERS
  • 7. COBOL 74 STD. OS/VS COBOL VS COBOL II COBOL/370 COBOL FOR MVS & VM COBOL 85 STD. DBCS, IMPROVED CICS INTERFACE, 31 BIT ADDRESSING , SAA SUPPORT, ETC. COBOL 74 STD. COBOL 85 STD. DBCS, IMPROVED CICS INTERFACE, 31 BIT ADDRESSING, SAA SUPPORT, ETC. COBOL 74 STD. COBOL 74 STD. COBOL 85 STD. DBCS, IMPROVED CICS INTERFACE, 31 BIT ADDRESSING, SAA SUPPORT, ETC. INTRINSIC FUNCTIONS, SUPPORT FOR LANGUAGE ENVIRONMENT INTRINSIC FUNCTIONS, SUPPORT FOR LANGUAGE ENVIRONMENT EXTENSIONS FOR OOCOBOL, C INTEROPERABLITY IBM's latest host COBOL compiler
  • 8. - For writing a COBOL program you have to be provided with program specification by your BUSINESS ANALYST - ANALYST studies a customer’s requirement for an application package and prepares an over all design and finally comes out with a detailed specification for every program to be developed under an application - The specification will contain the details of INPUT/OUTPUT file descriptions, OUTPUT report layouts and descriptions, Processing specifications, Calculation methods etc. - A set of Test data is required to ensure that the programs work as intended by the designer and customer
  • 9. A COBOL PROGRAM IS DIVIDED INTO – DIVISION – SECTION – PARAGRAPH – SENTENCE – STATEMENT – WORDS – CHARACTERS COBOL WORDS ARE TWO CATEGORIES, RESERVED WORDS AND USER DEFINED WORDS. USER DEFINED WORDS CAN BE VARIABLES DECLARED IN DATA DIVISION AND PARAGRAPH NAMES IN PROCEDURE DIVISION, WHICH WILL SEE LATER
  • 10. COBOL RESERVED WORDS THE COBOL LANGUAGE HAS OVER 300 WORDS WHICH HAVE A SPECIAL SIGNIFICANCE TO THE COMPILER AND ARE CALLED RESERVED WORDS USER DEFINED VARIBLES MUST NOT COINCIDE WITH RESERVED WORDS EXAMPLE :- DIVISION, SECTION, STORAGE, ADD, ACCEPT, STOP, COMMA, DIVIDE, DYNAMIC, LINKAGE , READ , WRITE ETC.,
  • 11. | | | | | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |……………| 71 | 72 | |---------- ------| |------ ---|------------------------------ ------------------| 1 2 3 4 Columns Rows 1. Sequence Number Area 2. Indicator Area 3. Area ‘A’ or Margin ‘A’ 4. Area ‘B’ or Margin ‘B’ COBOL Coding Format Indicator Area Characters 1. * (Asterisk) - Comment 2. / (Slash) - Comment + page feed 3. - (Hyphen) - String Continuation
  • 12. MARGIN A IS TO BE USED FOR WRITING DIVISION NAMES SECTION NAMES PARAGRAPH NAMES 01 77 LEVEL ENTRIES FD ENTRIES MARGIN B IS TO BE USED FOR WRITING 02-49 66 88 LEVEL ENTRIES SELECT STATEMENTS PROCEDURE DIVISION STATEMENTS AND SENTENCES
  • 13. Four Divisions of COBOL. DIVISIONS/SECTIONS identify various parts of a COBOL program File declarations, descriptions, temporary variables, processing logic, communication with other programs etc are handled by various DIVISONS/SECTIONS of a COBOL program There are four DIVISIONS in all. u IDENTIFICATION DIVISION. ( MANDATORY ) u ENVIRONMENT DIVISION. ( OPTIONAL ) u DATA DIVISION. ( OPTIONAL ) u PROCEDURE DIVISION. ( MANDATORY )
  • 14. Functions of the four divisions. The IDENTIFICATION DIVISION is used to specify the name of program and programmer. The ENVIRONMENT DIVISION is used to define the data sets that are used by a program and links the data sets to the corresponding DD names of JCL As the name suggests, the DATA DIVISION is used to provide the complete descriptions of data sets including record description and field description and working storage variables.
  • 15. Functions of the four divisions. The PROCEDURE DIVISION contains executable instructions ( statements containing VERBS ) to process the data contained in DATA DIVISION. COBOL provides a means for specifying sequence, selection and iteration constructs to code your processing logic.
  • 16. COBOL coding rules COBOL coding lines start in Margin A or Margin B DIVISION, SECTION, PARAGRAPH names start in Margin A FD entries,01,77 level entries, Procedure division paragraph names start in Margin A. Where as STATEMENTS, 02-49, 66, 88 level entries start in Margin B. Again, Procedure division sentences, statements start in Margin B.
  • 17. A SAMPLE COBOL program. ( just see the structure - don’t worry about the details) IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE1. AUTHOR. SRG. DATA DIVISION. WORKING-STORAGE SECTION. 77 NUM1 PIC 9 VALUE ZEROS. 77 NUM2 PIC 9 VALUE ZEROS. 77 RESULT PIC 99 VALUE ZEROS. 77 WS-NAME PIC X(10) VALUE ‘MAPLES’. PROCEDURE DIVISION. CALC-RTN1. ACCEPT NUM1. ACCEPT NUM2. MULTIPLY NUM1 BY NUM2 GIVING RESULT. DISPLAY "RESULT IS = ", RESULT. STOP RUN.
  • 18. IDENTIFICATION DIVISION. PROGRAM-ID. TEST1. AUTHOR. SRG. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT STUDENT-FILE ASSIGN TO DD1 ORGANIZATION SEQUENTIAL ACCESS SEQUENTIAL. DATA DIVISION. FILE SECTION. FD STUDENT-FILE. 01 STUDENT-REC. 02 ST-EC PIC 9(4). 02 ST-ENAME PIC PIC X(15). 02 ST-BASIC-PAY PIC 9(4)V99. contd… Another SAMPLE COBOL program.
  • 19. contd………… WORKING-STORAGE SECTION. 77 WS-CTR PIC 9(5) VALUE 123. 01 WS-REC. 02 WS-EC PIC 9(4). PROCEDURE DIVISION. DISPLAY ………….. OPEN ……….. RTN1. READ …………AT END CLOSE …… NOT AT END MOVE ………. COMPUTE …………… ADD ………. WRITE ………… GO TO RTN1 END-READ.
  • 20. IDENTIFICATION DIVISION - IT IS THE SMALLEST AND LEAST SIGNIFICANT DIVISION - IT IS USED TO IDENTIFY THE PROGRAM AND AUTHOR - IT DOES NOT HAVE SECTIONS - IT CONTAINS ONLY PARAGRAPHS IDENTIFICATION DIVISION PROGRAM-ID. TEST123. AUTHOR. RAJ. INSTALLATION. MAPLES. DATE-WRITTEN. 21-08-1999. DATE-COMPILED. 23-08-1999. - PROGRAM-ID IS THE ONLY REQUIRED PARAGRAPH FOR THIS DIVISION. - Program name CAN BE 1 – 30 CHARACTERS WITH ATLEAST ONE ALPHABET. BUT MAINFRAME ACCEPTS ONLY 8 CHAR PROGRAM NAME - ALL OTHER ENTRIES ARE OPTIONAL AND FOR DOCUMENTATION ONLY
  • 21. ENVIRONMENT DIVISION - THIS FOLLOWS THE IDENTIFICATION DIVISION. - THIS IS THE MOST HARDWARE DEPENDENT DIVISION. - THE COMPUTER AND OTHER DEVICE REQUIREMENTS ARE DESCRIBED IN THIS SECTION. - IT HAS 2 SECTIONS ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE COMPUTER. S390. (where the program is compiled) OBJECT COMPUTER. S390. (where the program is executed) INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT employee-master ASSIGN TO DD1. organization is sequential. I-O-CONTROL. SPECIAL-NAMES. CURRENCY SIGN IS literal-1. DECIMAL POINT IS COMMA.
  • 22. DATA DIVISION - Has TWO sections FILE SECTION and WORKING-STORAGE SECTION - DESCRIBES THE CHARACTERICSTICS of FILES used in the program LIKE REC SIZE, BLOCK SIZE, FORMAT ETC… - IT CONTIANS RECORD STRUCTURE AND FIELD DESCRIPTION entries. - All the above are declared in FILE SECTION - DATA DIVISION has working-storage section to declare temporary memory variables used in the program. - In essence, the contents of FILE SECTION variables are stored in the devices like hard disk/printer where as the contents of WORKING- STORAGE section are in RAM buffers and are lost once the program is terminated
  • 23. DATA DIVISION DATA DIVISION HAS SIX SECTIONS AS PER STANDARDS BUT MAINFRAME COBOL HAS ONLY FOUR SECTIONS • FILE SECTION. • WORKING-STORAGE SECTION. • LINKAGE SECTION. • LOCAL-STORAGE SECTION. • REPORT SECTION • SCREEN SECTION. The last 2 sections are not supported in IBM MAINFRAME COBOL SCREEN SECTION REQUIREMENTS ARE TAKEN CARE BY THE OLTP SOFTWARE CICS
  • 24. The DATA DIVISION has the following structure DATA DIVISION. FILE SECTION. ……….. FILE SECTION ENTRIES ………….. WORKING-STORAGE SECTION. ……TEMPORARY MEMEORY VARIABLES, GROUP AND ELEMENTARY ITEMS.. EXAMPLE: IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE1. AUTHOR. SRG. DATA DIVISION. WORKING-STORAGE SECTION. 01 Num1 PIC 9 VALUE ZEROS. 01 Num2 PIC 9 VALUE ZEROS. 01 Result PIC 99 VALUE ZEROS. DATA DIVISION Syntax
  • 25. VARIABLES Let us start with working- storage section VARIABLES can be declared in WS section Variables are also known as data items or identifiers A data item starts with a level number followed by name, PIC clause and optionally VALUE and other clauses A variable name can be maximum of 30 chars consisting of A-Z,0-9,hiphen No other special characters, no blanks are allowed. Must have at least one Alphabet
  • 26. DATA ITEMS / VARIABLES - DATA ITEMS CAN BE ELEMENTARY OR GROUP ITEMS - ELEMENTARY ITEM IS ONE THAT CANNOT BE FURTHER SUBDIVIDED - A SET OF RELATED ELEMENTARY ITEMS IS CALLED A GROUP ITEM 01 LEVEL IS USED FOR DECLARING GROUP ITEMS - ELEMENTARY ITEMS WHICH ARE NOT PART OF ANY GROUP IS CALLED INDEPENDENT ELEMENTARY ITEMS - Generally Independent elementary items are declared in WS - with level number 77 - Independent elementary items can also be declared with level number 01 from COBOL-85 version
  • 27. Contd…. - 01 AND 77 LEVEL ITEM NAMES MUST BE UNIQUE - 01 LEVEL IS ALSO USED FOR DECLARING GROUP ITEMS , IN WHICH CASE IT MAY HAVE SUB LEVEL ITEMS WITH LEVEL NUMBERS 02-49 - 02-49 LEVEL DATA ITEMS MAY have duplicates ( DUPLICATE ITEMS CAN BE QUALIFIED --- LATER EXPLAINED) - 01 77 levels are used in MARGIN-A where as other levels in MARGIN-B
  • 28. COBOL Data Types There are THREE basic data types in COBOL Numeric, Alphabetic, Alphanumeric Data type is important because it determines how the data has to be stored inside the variable and what operations are valid on such variables The contents in ALPHANUMERIC items are left justified The contents in NUMERIC items are right justified COBOL’s weakness is, it is poor in type Checking and enforcing.
  • 29. How to declare Variables in WS? Variables are declared with a level number, user defined name and PIC clause WORKING-STORAGE SECTION. 77 WS-NAME PIC X(15) VALUE “MAPLES”. MAPLES--------- 77 WS-CTR1 PIC 9(6) VALUE 1234. 001234 77 WS-CTR2 PIC 9(4) VALUE ZERO. 77 WS-LINE PIC X(10) VALUE ALL “-”. ------------ 77 WS-ADDR PIC X(10) VALUE SPACES. 77 WS-AMT PIC 9(4)v9(3) value 12.56 0012560 Level number 77 indicates the item is independent data item PIC means PICTURE Clause indicating the type and size of the item Type can be X A 9 indicating alphanumeric, alphabetic, Numeric items
  • 30. Contd… VALUE indicates the initial contents of the variable The constants are three types in COBOL STRING CONSTANT, NUMERIC CONSTANT, FIGURATIVE CONSTANT Though the initial values are called constants, the contents can be modified late in the program The max size of X and A is 32000 chars without value clause and 160 with VALUE clause For numeric data item max allowed is 18 digits but mainframe COBOL allows up to 31 digits ( you have to set the compiler option PARM.COBOL=ARITH(EXTEND)
  • 31. More examples 77 WS-CTR2 PIC 9(5) VALUE 123. ( STORED AS 00123 ) 77 EMP-NAME PIC A(15) VALUE ‘MAPLES’. 01 EMP-ADDRESS PIC X(12) VALUE “12,III STREET”. 01 WS-GRP. 02 WS-EC PIC 9(3). 02 WS-EN PIC X(12). 02 WS-DOB. 03 WS-DD PIC 9(2). 03 WS-MM PIC 9(2). 03 WS-YY PIC 9(2). 01 WS-GRP. 05 WS-EC PIC 9(3). 05 WS-EN PIC X(12). 05 WS-DOB. 10 WS-DD PIC 9(2). 10 WS-MM PIC 9(2). 10 WS-YY PIC 9(2).
  • 32. Figurative Constants COBOL provides its special type of constants called Figurative Constants. SPACE or SPACES ZERO or ZEROS or ZEROES equivalent to 0 QUOTE or QUOTES = " HIGH-VALUE or HIGH-VALUES = Max Value LOW-VALUE or LOW-VALUES = Min Value ALL literal = filling with character
  • 33. The PROCEDURE DIVISION. The PROCEDURE DIVISION is where all the data described in the DATA DIVISION is processed . It contains the logic to process the data . The PROCEDURE DIVISION is hierarchical in structure and consists of Sections, Paragraphs, Sentences and Statements. There must be at least one paragraph, sentence and statement in the PROCEDURE DIVISION. The paragraph and section names in this division are chosen by the programmer meaningfully.
  • 34. PROCEDURE DIVISION - THIS IS THE fourth division of a COBOL PROGRAM. - IT CONTAINS SECTIONS/ PARAGRAPHS DEFINED BY USERS - PARAGRAPHS CONTAIN ( INSTRUCTIONS ) STATEMENTS TO BE EXECUTED - STATEMENTS ARE USED TO PROCESS THE DATA ITEMS - A STATEMENT STARTS WITH A VERB LIKE OPEN, ADD, MOVE, DISPLAY ETC - A SET OF COBOL STATEMENTS CAN BE GROUPED USING A PARAGRAPH NAME • PARAGRAPH MUST BEGIN IN MARGIN A • MUST NOT HAVE MORE THAN 30 CHARACTERS. • MUST NOT BE A COBOL RESERVED WORD. • MUST NOT HAVE ANY SPECIAL CHARACTERS EXCEPT HYPHEN (-) • MUST BE generally UNIQUE.
  • 35. SAMPLE PROCEDURE DIVISION PROCEDURE DIVISION. MAIN-PARA. ADD A TO B. MOVE B TO F. . . EXIT-PARA. STOP RUN. ------------------------------------------------------------------------------------------------------------------------- MINIMUM COBOL RPOGRAM IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE2. PROCEDURE DIVISION. DISPLAY “HELLO WORLD". STOP RUN.
  • 36. FIRST PROCEDURE DIVISION STATEMENT DISPLAY STATEMENT WILL SHOW THE CONTENTS OF A VARIABLE OR LITERAL IN THE OUTPUT SPOOL (SYSOUT ) IDENTIFICATION DIVISION. PROGRAM-ID. PRG1. DATA DIVISION. WORKING-STORAGE SECTION. 77 WS-NAME PIC X(10) VALUE ‘MAPLES’. PROCEDURE DIVISION. DISPLAY “HALLO” WS-NAME. STOP RUN. Note: DISPLAY statement IN MAIN FRAME COBOL CANNOT control the LINE or COLUMN position of the SCREEN
  • 37. You have to use multiple display statements to show the contents on separate lines IDENTIFICATION DIVISION. PROGRAM-ID. PRG1. DATA DIVISION. WORKING-STORAGE SECTION. 77 WS-NAME PIC X(10) VALUE ‘MAPLES’. PROCEDURE DIVISION. DISPLAY “HALLO” DISPLAY WS-NAME. DISPLAY “HOW ARE YOU?”. STOP RUN.
  • 38. Procedure to compile and execute a COBOL program using TWO JCLs COMPLINK and RUNJCL 1. Allocate two PDS MAPLE06.COBOL.PDS and MAPLE06.LOAD.PDS 2. Enter your COBOL program as a member of PDS Ex: MAPLE06.COBOL.PDS( PRG1) 3. Create a JCL named COMPLINK as follows, in MAPLE06.COBOL.PDS and submit //MAPLE06R JOB NOTIFY=MAPLE06,CLASS=M // JCLLIB ORDER=(ZOS.PROCLIB) //S1 EXEC PROC=IGYWCL,MEM=PRG1 //COBOL.SYSIN DD DSN=MAPLE06.COBOL.PDS(&MEM),DISP=SHR //LKED.SYSLMOD DD DSN=MAPLE06.LOAD.PDS(&MEM),DISP=SHR // --- THIS JCL IS USED TO COMPILE YOUR COBOL PROGRAM PRG1, CHECK FOR SYNTAX ERRORS AND SAVE THE LOAD MODULE IN MAPLE06.LOAD.PDS --- IGYWCL IS A CATALOGED PROCEDURE GIVEN BY IBM
  • 39. How to execute your load module? 4. CREATE A JCL NAMED RUNJCL AS FOLLOWS IN MAPLE06.COBOL.PDS AND SUBMIT //MAPLE06R JOB NOTIFY=&SYSUID,CLASS=M //JOBLIB DD DSN=MAPLE06.LOAD.PDS,DISP=SHR //S1 EXEC PGM=PRG1 //SYSPRINT DD SYSOUT=* //SYSIN DD * 1234 KRISHNA TNAGAR ADMIN …………. /* // ================================================================== NOTE: You can also use the procedure IGYWCLG which can compile, link and execute with a single JCL //GO.SYSIN DD * is to be used for giving the input
  • 40. ACCEPT ACCEPT statement reads a line from SYSIN DD * of RUNJCL and stores the data in the variable. Data should be given in INTERNAL FORMAT IDENTIFICATION DIVISION. PROGRAM-ID. PRG1. DATA DIVISION. WORKING-STORAGE SECTION. 77 WS-NAME PIC X(10). 77 WS-NUM PIC 9(5). PROCEDURE DIVISION. ACCEPT WS-NAME. DISPLAY WS-NAME. ACCEPT WS-NUM. DISPLAY WS-NUM. STOP RUN. IMPORTANT: INPUT DATA IS TO BE GIVEN THRU SYSIN DD * IN RUNJCL Giving data thru SYSIN DD * is different from VALUE CLAUSE For numeric item input should be given as: 00123 NOT AS 123
  • 41. EXAMPLE: 1 IDENTIFICATION DIVISION. PROGRAM-ID. EX1. DATA DIVISION. WORKING-STORAGE SECTION. 77 NAME PIC X(15). 01 AGE PIC 9(2). PROCEDURE DIVISION. PARA-1. ACCEPT NAME. ACCEPT AGE. DISPLAY “HELLO " NAME. DISPLAY “YOUR AGE IS " AGE. STOP RUN.
  • 42. ACCEPT variable FROM {DATE/TIME/DAY/DAY-OF-WEEK } [ YYYYMMDD ]. DISPLAY VAR1/LIT1 VAR2/LIT2 .. .. .. .. .. DATE etc… are COBOL reserved data-items ACCEPT can be followed by only one data-item
  • 43. You have to use multiple display statements to show the contents on separate lines IDENTIFICATION DIVISION. PROGRAM-ID. PRG1. DATA DIVISION. WORKING-STORAGE SECTION. 77 WS-NAME PIC X(10). PROCEDURE DIVISION. ACCEPT WS-NAME DISPLAY “HALLO” DISPLAY WS-NAME. DISPLAY “HOW ARE YOU?”. STOP RUN.
  • 44. You have to use multiple display statements to show the contents on separate lines IDENTIFICATION DIVISION. PROGRAM-ID. PRG1. DATA DIVISION. WORKING-STORAGE SECTION. 77 NUMB PIC 9(3)V9(3) VALUE 12.34. PROCEDURE DIVISION. ACCEPT NUMB DISPLAY NUMB. STOP RUN. IMPORTANT: THRU SYSIN DD * YOU HAVE TO GIVE INPUT AS 012340 WITHOUT DOT
  • 45. ACCEPT can be used to capture system registers like DATE, TIME etc. IDENTIFICATION DIVISION. PROGRAM-ID. PRG1. DATA DIVISION. WORKING-STORAGE SECTION. 77 WS-DATE PIC 9(8). PROCEDURE DIVISION. ACCEPT WS-DATE FROM DATE YYYYMMDD. DISPLAY WS-DATE. STOP RUN.
  • 46. ACCEPT variations ACCEPT WS-NAME ACCEPT WS-DATE FROM DATE ACCEPT WS-DATE FROM DATE YYYYMMDD. ACCEPT WS-TIME FROM TIME ACCEPT WS-DAY FROM DAY ACCEPT WS-DAY FROM DAY YYYYDDD ACCEPT WS-DWK FROM DAY-OF-WEEK
  • 47. IDENTIFICATION DIVISION. PROGRAM-ID. PRG1. DATA DIVISION. WORKING-STORAGE SECTION. 77 WS-TIME PIC 9(8) VALUE 0. PROCEDURE DIVISION. ACCEPT WS-TIME FROM TIME. DISPLAY WS-TIME. STOP RUN.
  • 48. IDENTIFICATION DIVISION. PROGRAM-ID. PRG1. DATA DIVISION. WORKING-STORAGE SECTION. 77 WS-DAY PIC 9(6) VALUE 0. PROCEDURE DIVISION. ACCEPT WS-DAY FROM DAY YYYYDDD. DISPLAY WS-DAY. ACCEPT WS-DWK FROM DAY-OF-WEEK DISPLAY WS-DWK. STOP RUN.