PreviousPL/I Extension Introduction to the REQL LanguageNext

Chapter 10: Unisys Extension

This chapter describes the Unisys Extension that is used to process Unisys source code components.

10.1 Introduction

The Revolve Unisys Extension™ introduces a Unisys language parser that identifies individual components of an application system (such as programs and associated include files, ECL, DMS) and adds them to the Revolve project database.

10.2 Unisys Support

The following specifications define the scope of Unisys support:

Unisys 1100/2200 Series Support

COBOL

ACOB (or ASCII COBOL) - This is the Sperry Univac series 1100 American National Standard COBOL (ASCII) Level 7R1A [ANSI74]

UCOB (Also known as NPE COBOL); this is an implementation of ANSI85 COBOL. It also supports most of the Unisys extensions supported by ACOB.

DMS (Database Access)

Sperry Univac 1100 Series DMS 1100 COBOL (ASCII) DML13R4

1000 Series RDMS

Embedded SQL will be supported to the current MVS DB2 level.

ECL (Job Control)

Unisys OS1100 Exec System Software Executive Control Language (ECL) SB4R1

Unisys A Series

COBOL

COBOL ANSI-74 Release 3.9.0

10.2.1 Unisys Library Files

Within the Unisys COBOL context, the COPY statement is used to copy a segment out of a Library (.ULB) file which can contain one or more named segments of COBOL. Revolve enables access to specific named segments within the Library file (.ULB). When accessed by the COPY statement the library files have the following form:

MYLIB.ULB
NAMEOFSEG PROC
valid COBOL code........
END

The previous section of code will be "pulled into" the COBOL program which has the COPY NAMEOFSEG line.

10.2.2 Unisys INVOKES

Revolve interprets DMS INVOKE statements in a way that pulls in segments of Library files (.ULB) with matching SCHEMA and SUBSCHEMA. For example, the Invoke statement:

INVOKE SUBSCHEMA IDHABCD-R
IN FILE IDH OF SCHEMA IDH-R

will pull in all segments from the Library file as illustrated below:

The following is source for ABCIDH.CBL
INVOKE SUBSCHEMA IDHABCD-R
IN FILE IDH OF SCHEMA IDH-R
...
WORKING STORAGE or COMMON STORAGE
COBOL code from segment 1 of IDH-R$IDHABCD-R$R$0001 PROC
COBOL code from segment 2 of IDH-R$IDHABCD-R$R$0002 PROC
Continuance of source for ABCIDH.CBL

The Library file had two segments that matched the SUBSCHEMA of the INVOKE statement, so both were inserted into the appropriate location.

10.2.3 Unisys File Access

File access for the Unisys extension is limited to local and networked PC drives. Mainframe connectivity is not supported.

10.2.4 DMS Information Browser

The DMS Information Browser, accessible from the Browsers menu, supports:

10.2.5 DMS General Data Structure Principles

On a Unisys mainframe when processing ACOB(ANSI 74) COBOL code there is a process whereby the COBOL program is brought together with a Unisys specific copybook format with a name starting S$ and put through a preprocessor to produce a standard COBOL program with DMS functionality embedded that is input to the compiler. This same principle applies for UCOB(ANSI 85).

The preprocessor on the mainframe is called the ASCII Data Manipulation Program(ADMLP).

Revolve will try to emulate some of the ADMLP functions in order to build a COBOL program that it can understand and analyze successfully.

The following assumptions apply to the Revolve functionality:

Example:

DJGINQSCH-R$DJGASCALL-R$R$0001 PROC

DMCA (Data Management Control Area)

This is a data area that is generated by the preprocessor based on the DDL used to define the Schema/Subschema. It is used to store response code information, status of functions, databases et cetera and for general communications between the program and the DMS system at execution time.

Data areas within the DMCA are used within the Procedure Division of the COBOL program; consequently Revolve will need access to it in order to be able to resolve data items and do analysis.

You need to supply a DMCA.CPY copybook. It is suggested that this is created by 'cutting' the code from a preprocessed mainframe program. An example is supplied with the Unisys sample code.

10.2.6 DMS Procedure Commands

Procedure Division Commands

DMS Procedure Division commands can be separated into the following types:

The Unisys Extension supports RECORD oriented verbs. All others types of this command will be successfully parsed and highlighted as DMS commands. However, association with the appropriated data areas and scripts will not be supported.

AREA and RUN UNIT Oriented Commands

SET Oriented Commands

CONDITIONAL Commands

Distinction of the DMS IF from the COBOL IF will be on the basis of the following:

SUPPORTING Commands

RECORD Oriented Commands

All RECORD oriented commands can have the following formats:

When the command uses the identifier-1 format, Revolve will make a 'best effort' to resolve these data items in use within the specific commands as much as possible, depending upon logic complexity.

10.2.7 ECL Information Browser

The ECL Information Browser functions in conjunction with the JCL Information Browser. The following are displayed in the ECL Information Browser:

10.3 Features Supported

This section shows which Revolve features are supported in the Assembler language extension.

10.3.1 Views

System Y
Job Stream N (ECL is not supported like JCL Job streams)
Inventory Y
Code Flow Y
Source Y(Folded in user libraries and dmca.cpy)
Data Structure Y
Screen Y

10.3.2 Tools

Shell Y
Integrated Editor Y
Metrics N
Function Point Analysis N
Annotation Y
Scripts Y
Impact Analysis Y
Report Analysis Y

10.3.3 Browsers

Text Y
Statements Y
Programs Y
Imports Y
Data Files Y
Variables Y
Paragraphs and Sections Y
Literals Y
JCL Jobs Y (Maps to ECL)
Screens N
Fields N
CICS N
IMS N
SQL Y (EXEC SQL only)
DMS Y


Copyright © 2000 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.

PreviousPL/I Extension Introduction to the REQL LanguageNext