COBOL EGL

advertisement
COBOL
EGL
Program (source)
EGL Program source file (.egl file)
- EGL Library
- EGL Service (Web and non-web)
- PageHandler
Generated Java …or… generated
COBOL executable
EGL program, Library, Service
EGL Report Handling and TUI Print Forms
EGL PageHandler and TUI Character-based Forms
Program (Load Module)
COBOL batch program
COBOL report writing program
CICS, IMS TM (online)
program
COBOL Identification division
COPY …or…
++INCLUDE
ENVIRONMENT
DIVISION
DATA DIVISION
Statements at top of EGL file
Import
PIC X(N)
variable-lth character data
Properties of EGL file type +
EGL Build file entries
page (global) data … Also have local data within functions
(simple and maintenance-friendly)
EGL variables - note that EGL has additional variables for
interfacing with the web and modern languages (Java, C++) such
as Date/Time/Money/Boolean, etc.
char(n) …and… string (usual compatible)
string
COMP
Int
COMP-3
Decimal
COMP-1
88-LEVEL
OCCURS
OCCURS DEPENDING ON
REDEFINES
PROCEDURE DIVISION
ENTRY USING …
LINKAGE SECTION
CICS COMMAREA
MOVE
Float
EGL DataTable
Fixed-length EGL array
Dynamic EGL array
Redefines and EGL system function libraries
Function passed/returned parameters
onPageLoad() - web, or main() with parameters - batch
COBOL Variables
COBOL Math operations
IF/ELSE
AND … OR
move (can also do assignment ala COBOL COMPUTE statement)
Note also that, besides individual and group moves, EGL move
provides for: Array assignment (Move ALL) and positional or
more corresponding record-based moves.
exact same as COMPUTE statement (*, /, +, -,)
if/else
&& ||
CASE (EVALUATE)
COBOL Paragraphs
COBOL sub-routines
CALL
PERFORM
LE - in-house system utilities
PERFORM UNTIL
PERFORM VARYING
COMPUTE
HANDLE CONDITION and ONERR
Case
EGL Functions
Programs, libraries, services and functions contained
Call – note, EGL calls can be invoked against: EGL resources,
COBOL, RPG, Java and C++ (with no difference in syntax or
statement structure).
invoke function, functionName()
8 EGL system libraries (strlib, mathlib, datetimelib, loblib, etc.) –
which provide comprehensive and in-depth coverage of common
coding patterns
while
for
EGL assignment calculation (exactly
like compute, without the word compute)
try/onexception
JCL
Compile/Link JCL
Runtime JCL itself
//STEPLIB …or… //JOBLIB
//DD File specification
EGL Build file
cmd/.shell script (UNIX/Linux).
Also, in WD/z can generate run-time JCL for generated COBOL
CLASSPATH=… (environment variable for Java environments);
STEPLIB/JOBLIB for generated COBOL
(certain) JNDI specifications and Database specification for
Databases; resource association and DD names for files
SQL/RDBMS and FILE I-O SQL/RDBMS and FILE I-O
Embedded SQL
RDBMS Table
DCLGEN
SQL statement – hand coded
CALL Stored Proc
Dynamic (Prepared) SQL
Can create SQL data access with
3 levels of effort: implicit, explicit, and exactly as hard as
mainframe
RDBMS table
Data Parts Wizard (note – this wizard also creates handy C.R.U.D.
function calls)
SQL statement – fully-generated, partially-generated, and handcoded (like COBOL)
Call Stored Procedure
Dynamic (Prepared) SQL statements – note that a wizard exists to
assist in creating
SQLCODE/SQLCA – hand coded
Indexed and Sequential file read
Update/Delete/Write
WebSphere MQ access
IMS DB access
SQLCODE and full SQLCA access automatically available
Supported with get verb(s)
Supported
Supported with same keywords
Supported with same keywords
CICS, IMS TM
WebSphere Application Server
BMS Map …IMS MFS
JSP page with JSF and HTML components and their properties
(built using drag & drop) (also forms and form-groups for 3270 and
5250 screens)
CICS Queue/IMS TM SPA
EGL Session variable - for web applications; CICS Queue and work
databases for IMS
BMS - IMS MFS MID/MOD
EGL Request/Response variables for web applications and form fields
for 3270/5250 programs
VTAM/SNA
IMS or CICS Transaction Code
TCP/IP
URL for Web applications; IMS or CICS Transaction codes for 3270
programs
CICS ‘XCTL’
CICS ‘START’
URL to same site for web applications, transfer to program for CICS
URL to different site for web applications, transfer to transaction or
CICS
CICS ‘LINK’ / IMS TM ‘Call …’
CICS Temp Storage Application
EGL inter-program call verb
Server Session Object for web applications, CICS Temp Storage for
CICS applications
IMSGEN or CICS Table entries
Run-time URL address and IP equivalent of resource. During
development, there are a number of WAS configuration files that
contain similar information and deployment descriptors - CICS
Table entries for CICS programs
3270 Data Stream
HTTP Request/Response data for web applications, 3270/5250 Data
3270 LU Device
Stream for online programs
PC + browser software for web applications, PC + Emulators for
3270/5250 programs
Tools
z/OS - iSeries
TSO/ISPF
Windows, z/OS, iSeries, AIX, LINUX, etc.
WD/z or Rational Software
Download