You are on page 1of 8

COBOL Screens

Please use speaker notes for


additional information!
Scrntest.cbl

IDENTIFICATION DIVISION.
PROGRAM-ID. SCROCCUR.
AUTHOR. GROCER.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUT-FILE
ASSIGN TO "C:\PCOBWIN\CIS12FST\SCR1.DAT".
DATA DIVISION.
FILE SECTION. Information from the
FD INPUT-FILE screen is stored here.
DATA RECORD IS INPUT-REC.
01 INPUT-REC.
05 ID-IN PIC XXXX.
05 NAME-IN PIC X(20).
WORKING-STORAGE SECTION.
01 INDICATORS.
05 EOF-IND PIC XXX VALUE "NO ".
01 RESPONSES.
05 SCR-RESP-WS PIC X VALUE SPACES.
05 CUR PIC 99 VALUE 4.
Responses used
05 CT PIC 9 VALUE 0.
in processing.
Scrntest.cbl

Header information SCREEN SECTION.


displayed at the top 01 DATA-SCREEN.
of the screen. 05 HDR-INFO.
10 VALUE "DATA SCREEN" BLANK SCREEN
Detail information LINE 01 COL 30.
displayed on the current 10 VALUE "ID #" LINE 03 COL 12.
line. Note that CUR is set 10 VALUE "NAME" LINE 03 COL 17.
to 4 and will be incremented 05 INFO-SCR-IN.
so the first line is displayed 10 ID-ON-SCR-IN LINE CUR COL 12
on line 5. PIC XXXX FROM ID-IN.
10 NAME-ON-SCR-IN LINE CUR COL 17
This structure allows the PIC X(20) FROM NAME-IN.
programmer to display 05 RESP-INFO.
multiple copies of INFO- 10 VALUE "C - TO CONTINUE" LINE 16 COL 30.
SCR-IN. 10 VALUE "Q - TO QUIT" LINE 17 COL 30.
10 VALUE "ENTER CHOICE:" LINE 19 COL 30.
The user will enter 10 RESPONSE-SCR LINE 19 COL 45
either C to continue or PIC X TO SCR-RESP-WS.
Q to quit when the PROCEDURE DIVISION.
RESP-INFO portion MAINLINE.
of the screen is PERFORM A-100-INITIALIZE.
displayed. PERFORM B-100-PROCESS.
PERFORM C-100-TERMINATE.
STOP RUN.
Screen showing
output HDR-INFO INFO-SCR-IN

RESP-INFO
Scrntest.cbl
A-100-INITIALIZE. Performs the routine which will put
OPEN INPUT INPUT-FILE. up the repeating lines of information
B-100-PROCESS. until either CT which counts the
READ INPUT-FILE record is greater than 4, or EOF is
AT END reached or the user quits.
MOVE "YES" TO EOF-IND.
PERFORM B-200-LOOP
UNTIL EOF-IND = "YES" OR SCR-RESP-WS = "Q".
B-200-LOOP.
MOVE 4 TO CUR.
Displays the
MOVE 0 TO CT.
header
DISPLAY HDR-INFO.
information on
PERFORM B-300-SETUP
the screen.
UNTIL CT > 4 OR EOF-IND = "YES" OR SCR-RESP-WS = "Q".
DISPLAY RESP-INFO.
ACCEPT RESP-INFO. When the B-300-SETUP loop is finished, the response
B-300-SETUP. screen is displayed and the user response is accepted.
ADD 1 TO CUR. This ends the pass through the B-200-LOOP,
ADD 1 TO CT.
DISPLAY INFO-SCR-IN.
In this B-300-SETUP loop,1 is
READ INPUT-FILE
added to the current line, CUR
AT END
and to the CT which is counting
MOVE "YES" TO EOF-IND.
the records. Then the information
C-100-TERMINATE.
is displayed and another record is
CLOSE INPUT-FILE.
read.
Scroccur.cbl IDENTIFICATION DIVISION.
PROGRAM-ID. SCROCCUR.
AUTHOR. GROCER.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUT-FILE
ASSIGN TO "C:\PCOBWIN\CIS12FST\SCR1.DAT".
DATA DIVISION.
FILE SECTION.
FD INPUT-FILE
DATA RECORD IS INPUT-REC.
01 INPUT-REC.
05 ID-IN PIC XXXX.
05 NAME-IN PIC X(20).
WORKING-STORAGE SECTION.
01 INDICATORS.
05 EOF-IND PIC XXX VALUE "NO ".
01 RESPONSES.
05 SCR-RESP-WS PIC X VALUE SPACES.
05 CUR PIC 99 VALUE 4.
05 SUBZ PIC 9 VALUE 0.
01 DATA-FOR-SCREEN.
05 INFO-FOR-SCR OCCURS 5 TIMES.
10 ID-IN-WS PIC XXXX.
10 NAME-IN-WS PIC X(20).
Scroccur.cbl 01 DATA-FOR-SCREEN.
05 INFO-FOR-SCR OCCURS 5 TIMES.
10 ID-IN-WS PIC XXXX.
10 NAME-IN-WS PIC X(20).
SCREEN SECTION.
01 DATA-SCREEN.
05 HDR-INFO.
10 VALUE "DATA SCREEN" BLANK SCREEN
LINE 01 COL 30.
10 VALUE "ID #" LINE 03 COL 12.
10 VALUE "NAME" LINE 03 COL 17.
05 INFO-SCR-IN.
10 ID-ON-SCR-IN LINE CUR COL 12
PIC XXXX FROM ID-IN-WS (SUBZ).
10 NAME-ON-SCR-IN LINE CUR COL 17
PIC X(20) FROM NAME-IN-WS (SUBZ).
05 RESP-INFO.
10 VALUE "C - TO CONTINUE" LINE 16 COL 30.
10 VALUE "Q - TO QUIT" LINE 17 COL 30.
10 VALUE "ENTER CHOICE:" LINE 19 COL 30.
10 RESPONSE-SCR LINE 19 COL 45
PIC X TO SCR-RESP-WS.
PROCEDURE DIVISION.
MAINLINE.
PERFORM A-100-INITIALIZE.
PERFORM B-100-PROCESS.
PERFORM C-100-TERMINATE.
STOP RUN.
A-100-INITIALIZE. Scroccur.cbl
OPEN INPUT INPUT-FILE.
B-100-PROCESS.
READ INPUT-FILE
AT END
MOVE "YES" TO EOF-IND.
PERFORM B-200-LOOP
UNTIL EOF-IND = "YES" OR SCR-RESP-WS = "Q".
B-200-LOOP.
MOVE 4 TO CUR.
MOVE 0 TO SUBZ.
DISPLAY HDR-INFO.
PERFORM B-300-SETUP
UNTIL SUBZ > 4 OR EOF-IND = "YES" OR SCR-RESP-WS = "Q".
DISPLAY RESP-INFO.
ACCEPT RESP-INFO. The record that was read is in ID-IN
B-300-SETUP. and NAME-IN> These two fields
ADD 1 TO SUBZ. are now moved to the table in
ADD 1 TO CUR. WORKING-STORAGE that
MOVE ID-IN TO ID-IN-WS(SUBZ). provides the information to the
MOVE NAME-IN TO NAME-IN-WS (SUBZ). screen. A information is moved to
DISPLAY INFO-SCR-IN. the table, it is displayed on the
READ INPUT-FILE screen.
AT END
MOVE "YES" TO EOF-IND.
C-100-TERMINATE.
CLOSE INPUT-FILE.

You might also like