284x Filetype PDF File size 0.31 MB Source: files.eric.ed.gov
DOCUMENT RESUME
ED 422 922 IR 057 080
AUTHOR Lorents, Alden C.
TITLE GUI and Object Oriented Programming in COBOL.
PUB DATE 1997-00-00
NOTE 9p.; In: Proceedings of the International Academy for
Information Management Annual Conference (12th, Atlanta, GA,
December 12-14, 1997); see IR 057 067.
PUB TYPE Reports Descriptive (141) Speeches/Meeting Papers (150)
EDRS PRICE MF01/PC01 Plus Postage.
DESCRIPTORS *Computer Interfaces; *Computer Science Education; Computer
Software Development; *Computer System Design; Curriculum
Development; Design Preferences; Higher Education;
*Programming; *Programming Languages
IDENTIFIERS COBOL Programming Language; *Graphical User Interfaces;
*Object Oriented Programming
ABSTRACT
Various schools are struggling with the introduction of
Object Oriented (00) programming concepts and GUI (graphical user interfaces)
within the traditional COBOL sequence. 00 programming has been introduced in
some of the curricula with languages such as C++, Smalltalk, and Java.
Introducing 00 programming into a typical COBOL sequence presents some
interesting challenges. There are a number of new concepts to introduce along
with various design issues that are relatively new to 00 program design, such
as file maintenance and data objects. Most C++ programming courses tend to
work with objects that are more user interface related, such as traditional
GUI objects. This paper describes an example of using 00 COBOL and Dialog
Systems (GUI builder) in an advanced programming applications course.
(Author/AEF)
********************************************************************************
Reproductions supplied by EDRS are the best that can be made
from the original document.
********************************************************************************
GUI AND OBJECT ORIENTED PROGRAMMING IN COBOL
U.S. DEPARTMENT OF EDUCATION "PERMISSION TO REPRODUCE THIS
Office of Educational Research and Improvement MATERIAL HAS BEEN GRANTED BY
.C4 EDUCATIONAL RESOURCES INFORMATION
C1 CENTER (ERIC) Alden C. Lorents
ON 0 This document has been reproduced as T. Case
C 1N received from the person or organization Northern Arizona University
Tr originating it.
0 Minor changes have been made to
0 improve reproduction quality.
44 TO THE EDUCATIONAL RESOURCES
Points of view or opinions stated in this
document do not necessarily represent INFORMATION CENTER (ERIC)."
official OERI position or policy.
Various schools are struggling with the introduction of Object Oriented (00) programming concepts and
GUI within the traditional COBOL sequence. 00 programming has been introduced in some of the
curriculums with languages such as C++, Smalltalk, and Java. Introducing 00 programming into a
typical COBOL sequence presents some interesting challenges. There are a number of new concepts to
introduce along with various design issues that are relatively new to 00 program design such as file
maintenance and data objects. Most C++ programming courses tend to work with objects that are more
user interface related such as traditional GUI objects. This paper describes an example of using 00
COBOL and Dialog Systems (GUI builder) in an Advanced Programming Applications course.
INTRODUCTION GUI AND COBOL
USING DIALOG SYSTEMS
"COBOL is in a unique position to bridge the past Adding GUI (windows) to COBOL program
with the future. COBOL practitioners bring a development is very easy today with the use of
wealth of experience spanning all phases of the
software life cycle including analysis, design, either Micro-Focus Dialog Systems or IBM Visual
implementation, database integration, and Age for COBOL. The examples shown in this
maintenance" [Arranga, 1997]. The inventory of paper were done using Dialog Systems. The
legacy systems continues to be estimated at window shown in figure 1 is a passenger
around 180 billion lines of COBOL code. Some reservation window that is used to maintain data
organizations (typically technology and using a traditional VSAM file structure with a
engineering based companies) have migrated primary key (itinerary number) and two
away from using COBOL. They have done this by alternate keys (passenger name and flight
going to client-server systems using databases number).
such as Oracle, Sybase and DB2 along with client FIGURE 1
tools such as Visual Basic, Powerbuilder, and
Oracle tools. Many organizations are still
committed to their COBOL based systems file
because of the high investment in these systems, Passenger
the high cost to rebuild the systems, and the Itinerary No: 1000005 Name: !Anderson Ole
inability of the newer client-server technologies to Phone: 520.526.8396
handle the loads in large systems (salability). 00
COBOL, GUI builders (such as Micro Focus Date: 01/25/1997 Flight No: 0099 Fare: 10101.00
Dialog Systems and IBM Visual Age for COBOL)
and the integration of these products with NEXT OUERY COMPLETED
common object standards (Common Object
Request Broker Architecture CORBA), may
provide an alternative for many of these OFM1 I
organizations to migrate their legacy systems into jaP. !plant
newer systems based on the new technologies.
Proceedings of the 12°' Annual Conference of the International Academy for Information Management 107
2
FIGURE 2
.',',.:111MMIN11111:111::: :::: iiii::::::1:1111i1:::. :': :'oi -I .1,::.:..::::11.1.1. .:::: .:::::. : '''::::::: .. ' :::::101119::: l''''
File Edit Object Screenset View Ojitions iools H lp
ia :17,' :.,: , ..kz
T'pe Window in sole DEFAULT II7 48.0 Ilt 1896.106
It*I Nieto00e r Reservation LIktjt
Passenger----%-- ----- a
ifinetary No: Pii-j NOM et: x(20) ti
Phoncix(1 2) i
I) ate.; i x(1 0) night No; 9(4) FarC 9(4).9(2) I Too
;
, rr- In
pc14 01 r 0
,.._._.,. I A r f Cl 0
Add mom L.,1104:1 Exit Rein! F4 1
r ' -- q ' fj
Lsmrlitz.1 Print ViRizti Fr ta*
1
E tilkirv WIR,PAS 5
I
The window is built using the Dialog Systems
object palette or object pull down menu shown in FIGURE 3
figure 2. Objects available include primary
window, secondary window (clipped and FLD NO FIELDNAME FORMAT LENGTH
unclipped), dialog box, message box, entry field,
multiple line entry field, push button, radio 1 X300-ITINERARY-NO 9 6.00
button, check box, list box, selection box, text box,
group box, bitmap and notebook. 2 X300-NAME X 20.00
Normally you start the build process by defining 3 X300-PHONE X 12.00
a set of data to be used with the window. The data 4 X300-DATE X 10.00
is referred to as a data block and is defmed 5 X300-FLIGHT-NO 9 4.00
similar to COBOL. The data block can be entered 6 X300-FARE
in Dialog Systems or imported from a COBOL 9 4.02
data definition. The data block used for this X300-ACTION X 1.00
window is shown in figure 3.
8 X300-MESSAGE X 40.00
Normally a data element is defined for each field application program knows which button the user
supported on the window along with any other pushed when control is turned over to the
fields necessary to support communication application program. Each of the other fields is
between the window and the application associated with a entry field or display field on
program. X300-Action is used to communicate a the window. A copy block (file) of COBOL
code to the application program, so the
108 Proceedings of the 12 'h Annual Conference of the International Academyfor Information Management
FIGURE 4
definitions corresponding to each field on the
window is generated by a command on the file
menu. This file is called using a copy statement GLOBAL DIALOG:
in the Working Storage Section of the COBOL ESC
program. This assures that the data definitions MOVE "X" X300-ACTION
in the application program are exactly the same RETC
as the data definitions on the window. CLOSED-WINDOW
MOVE "X" X300-ACTION
The operation of a window is controlled by events. RETC
Events can be trapped at various levels such
global (events associated with all windows in the LOCAL DIALOG:
set), for each specific window, and for each @MNU-EXIT
specific object on a window. Examples of events MOVE "X" X300-ACTION
include window created, closed window, item RETC
selected, mouse over, button selected, gained
focus, lost focus and various other events. Each DIALOG FOR PUSH BUTTON : PB-ADD
event can be trapped at different levels and BUTTON-SELECTED
programmed to carry out various functions. This MOVE "A" X300-ACTION
programming is called script and is executed as RETC
part of the windows operating system. Figure 4 REFRESH-OBJECT $WINDOW
shows some examples of script that are used on
this window. Escape and Closed-Window have
been defined in this application to exit the Two blocks of data (data block and control block)
application. The application program has been pass between the application program and the
programmed to exit when it sees an 'X' in the Dialog Systems Program (DSRUN) each time
action code. The command RETC is a script control is passed from one to the other. The
command to leave the window and return to the application program calls the Dialog Systems
calling (application) program. The local dialog program with a subprogram Call Statement. The
for the window traps the exit menu selection code in the application program that is used to
under File and also closes the application. If the communicate with Dialog Systems is shown in
escape and closed-window events under GLOBAL Figure 5. The program-initialize routine is
were moved to LOCAL for the window win-pass, executed once at the beginning of the application
then those events would be trapped only when to set up some of the parameters in the control
that window is in focus. block. The Call-Dialog routine is used each time
the application program returns control to the
Script is written for each button to tell the window. Note that the Call statement calls
application program which routine to execute Dialog-System as a subprogram using the control
when control is returned to the application block and the data block.
program. When the application program returns Setting up windows like this allows faculty to
to the window, the window program continues to illustrate all of the components of client-server
execute the script that is was on when it turned programming using COBOL as the application
control over to the application program. The The client (window program) is
ADD push button script illustrates this with the language.
execution of the REFRESH-OBJECT $WINDOW running various scripts that control operations at
command after it returns from the calling the client. The application program could be
program. The application program sends running on any platform such as an application
additional data back to the window, and the server. If the application program has embedded
window must be refreshed in order to display that SQL to an Oracle server, you are able to illustrate
data. The window is displayed at the end of any full 3-tier architecture in a COBOL environment.
script that is executed after control has been Dialog Systems supports a robust windows
returned to the window program. environment including data validation, list boxes
Proceedings of the 12th Annual Conference of the International Academy for Information Management 109
4
no reviews yet
Please Login to review.