Debugging Assembler Programs | The CICS Option Interface |
This chapter contains an overview of the basic features in the CICS Option component of Mainframe Express. It covers the following topics:
CICS Option is an on-line transaction processing (OLTP) system with the flexibility to suit your needs. Its design satisfies the needs of CICS application developers while providing production levels of service. The result is a realistic development platform coupled with the connectivity, security, and integrity required for the development environment to coexist with a production environment.
CICS Option provides a single-tasking or multi-tasking CICS region. CICS Option can be as simple or as complex as you need, but all implementations support the same CICS application programming interface (API) based on IBM CICS/ESA. The supported CICS API is described in the online help for Mainframe Express: click Help Topics on the Mainframe Express Help menu, then on the Contents tab click Reference, CICS Option, API.
With CICS Option, you can develop, test, and execute applications in either:
The advantage of developing in a cross-platform environment is that distributed applications can be written and tested in a context similar to the one in which they will be deployed for production. This also allows test data files and databases to be shared between multiple PCs.
Applications developed using CICS Option can be deployed for production on other CICS systems.
The CICS Option component of Mainframe Express is responsible for:
The CICS Option component of Mainframe Express provides:
CICS Option provides services that emulate those of mainframe CICS systems. It provides a very large subset of the CICS command-level application programming interface (API) of IBM CICS/ESA and provides the expected behavior for programs written using this syntax. Most syntax that is not functionally supported is recognized by the preprocessor so that programs using these commands and operands can be compiled without change. Much of the CICS/ESA system programming interface is also supported; however, some response fields are given dummy values where the values represented do not apply to the systems on which CICS Option runs.
CICS Option recognizes CICS/ESA command syntax by means of a preprocessor. The preprocessor is run as part of the program compilation step. It scans the program source for EXEC CICS commands and replaces them with native statements for the language in which the program is written.
Once new or modified applications have been preprocessed and compiled, they are ready for execution under CICS emulation. Emulation can be started either with or without debugging from the Mainframe Express IDE. Starting emulation with debugging allows you to debug COBOL and Assembler applications by stepping through the source code, investigating the activities of each program and watching the contents of data fields.
Mainframe Express provides developers with extensive debugging capabilities. The debugger displays each COBOL or Assembler program as it is executed as part of a transaction and shows the statement currently being executed in the context of the entire program. It provides direct access to all data items referenced by a program and can show execution of a program on a statement-by-statement basis. While following the execution of a program, data referenced by each statement can be viewed through watch boxes that pop up automatically as each statement is reached.
CICS Option also supports standard CICS debugging facilities including trace and dump functions.
CICS Option provides 3270 terminal emulation, enabling PC displays to appear as local or remote 3270 terminals. 3270 emulation is intended for programs that use Basic Mapping Support (BMS) or build 3270 data streams. Emulation is provided for 3270 models 2 through 5. 3270 emulation provides field-level extended attribute support, including color and extended highlighting. (It does not, however, support character-level attributes.) It also maps the standard 3270 keyboard functions onto PC keyboards. Terminal emulation is started either as part of system initiation in a single-tasking environment or separately in a multi-tasking environment. Terminals do not need to be predefined so that terminal emulation characteristics can be specified at terminal startup.
CICS Option includes a BMS screen painter for the maintenance and creation of BMS mapsets on the PC. CICS Option allows BMS mapsets to be imported from other sources and includes mapsets generated using the IBM Screen Definition Facility (SDF II).
The painter provides the developer with a screen painting facility that allows fields, labels, and attributes to be defined and positioned as they would be for a 3270 display device. It provides fast BMS screen definition and manipulation with powerful features like block moves and copies through simple use of a keyboard or mouse. It supports most standard BMS macro operands plus long data names and allows the construction of repeated groups of fields in a manner similar to the IBM Screen Definition Facility (SDF II).
BMS macro output is fully portable to mainframe CICS. Mapset painting and generation are supported for 3270 models 2 through 5.
CICS Option provides access to data residing in emulated VSAM files, emulated IMS databases, and relational database systems. CICS Option provides VSAM file emulation for ESDS, RRDS, and KSDS files, which can also be shared with non-CICS (batch) applications. Fileshare provides data integrity for VSAM emulation for application data files, temporary storage and transient data queues. Alternate indexes are supported for application data files. Emulated VSAM files use standard Micro Focus file formats. CICS Option also supports IMS databases through the IMS Option component of Mainframe Express and relational databases through the SQL Option for DB2 and Host Compatibility Option components of Mainframe Express.
Very few CICS programs will require any modification in order to operate with CICS Option. Program migration for the vast majority of CICS programs is a simple matter of moving the application source code to CICS Option, compiling, and then running the transaction.
Programmers taking advantage of CICS Option gain isolation from other CICS developers and from CICS users. Programmers are not necessarily affected by host system down time and can modify their environments without impacting others or requiring the intervention of System Programmers. Applications can be developed and debugged without fear that the changes will cause CICS system crashes. Should these occur, they are generally isolated to the individual programmer's PC.
CICS Option uses the concept of a region. A region provides CICS Option with its own shared memory space, authorized users, transaction servers and terminals. All CICS Option operations occur within regions and a default region is established when the system is installed. Multiple regions can be in operation concurrently on the same machine, allowing you to run isolated test and production regions on the same hardware. The CICS Option region is similar to the mainframe region concept.
Regions can also communicate with each other using multi-region operation peer-to-peer communications techniques.
When you start up a single-tasking system, you have all the CICS functions in the same process. A single-tasking system allows only one task to be running at any one time, so any functions that need multi-tasking to operate fully are serialized (that is, the processing of each task is completed before another is started).
For example, if a task starts another program, the second program only runs when the first completes.
When you start up a multi-tasking system several processes are started to support multiple concurrent tasks. A task does not need to be completed before another one starts. You can have tasks running without displaying them on the screen; these tasks are non-facility, background tasks.
You use resource definition to define the resources your programs are to use: data files, transactions, programs, queues, journals, terminals, and so on. The definitions are kept in resource definition tables, which in turn are stored in resource definition files. Although the resource definition process occurs off-line, you can update the definitions dynamically while CICS Option is running using the supplied transaction CINS.
Configuring CICS Option to recognize applications and resources requires a variety of resource table entries. To simplify the process of setting up the system, CICS Option provides a resource definition facility. The tables created with the resource definition facility are placed in a resource definition file (RDF) that can be shared between multiple instances of Mainframe Express or multiple CICS Option regions. This effectively provides easy distribution of resource definitions to multiple users on a network.
To further simplify resource definition, CICS Option provides, through the Mainframe Express IDE a graphical interface to create or update entries in the startup list, program control table (PCT), file control table (FCT), processing program table (PPT) and a subset of entries in the system initialization table (SIT), the only tables required by many applications.
Even though several systems or regions can be sharing the same resource definition file, they do not necessarily have to have exactly the same resource definitions. Each region or system can have its own SIT and startup list that can be used to start the system with different resource groups.
CICS Option enables you to extract resource definitions from the mainframe CICS system definition (CSD) file and import them into Mainframe Express. You can modify the imported resource definitions and export them back to the Mainframe.
See the chapter CICS Resource Definitions in your Administrator's Guide for more information.
CICS Option has a rich set of features, some of which have already been described. The remainder of this chapter introduces some of its more advanced features.
By using intersystem communication, CICS Option can operate over networks in client/server, cooperative, and distributed processing modes. CICS Option can act as a server to remote clients, communicate with other copies of CICS Option using a variety of protocols and with other CICS systems using LU 6.2 links, and distribute processing and data as best meets the developer's requirements.
CICS intersystem communication facilities include:
For more information about using these facilities, see the chapter Configuring CICS for Communications in the CICS Option Technical Guide.
You can share files on networks and multi-user systems using Fileshare, an optional component of Mainframe Express.
You can choose between keeping data files on the system running CICS Option, or on any system connected to CICS Option. As you can connect up to sixteen Fileshare servers to CICS Option, you can split your data across several machines.
Fileshare provides extensive support for data integrity both with single servers and across multiple servers. It provides both dynamic backout and roll-forward recovery for mission-critical data.
Fileshare servers can be created to provide network file access for regions. One region can be served by one or more Fileshare servers or multiple regions can be served by the same Fileshare server.
For more information on data file sharing, see the chapter Configuring CICS for Fileshare in the CICS Option Technical Guide.
Optional data and transaction security is available using resource and security keys. User profile information is stored in the sign-on table (SNT), one of the resource tables managed by the resource definition facility. Users sign on using the supplied transaction CESN and sign off using either CESF or CSSF.
With the use of intersystem communications, CICS Option must address data conversion between systems using unlike codesets (EBCDIC and ASCII). Data conversion tables define the translations that must take place when using function shipping or distributed program link between systems using different codesets.
The External CICS Interface (ECI) allows programs operating outside the CICS Option environment to connect with either local or remote CICS applications. A communication area is used to exchange data between the external program and the CICS application. Programs connect to CICS Option using ECI requesters.
The external presentation interface (EPI) lets a non-CICS application program appear to the CICS system as one or more standard 3270 terminals. The non-CICS application can start CICS transactions, and send and receive standard 3270 data streams associated with those transactions.
Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.
Debugging Assembler Programs | The CICS Option Interface |