Prism-CS Language Conversion Programs


Language Conversion Overview

Prism-CS™ includes a comprehensive set of Language Conversion Programs (LCP) to process application programs written in Assembler, COBOL, Fortran, PL/I, RPG II and Non-IBM Languages. LCPs convert the VSE source code to MVS and generate program definitions for the JCL Translator tables.

Each Prism-CS LCP includes a set of options which can be activated by the user to change the conversion process, either globally or for specified programs. To further customise the conversion process, Prism-CS users can write additional LCPs using the documented application programming interface (API) to integrate them with other Prism-CS components, thereby extending the functional capabilities of the product. User-written LCPs can be written in Assembler, COBOL or PL/I using a set of sample programs distributed with the product.

Prism-CS LCPs can execute in two environments:

  1. Stand-alone, to process programs stored in individual PDS members, either individually, or en masse
  2. Inside JCLTRANS, to process programs written in Non-IBM Languages that are imbedded in VSE JCL streams

In both environments, LCPs can modify the source code, as well as collect the file and sub-routine information to create the Program Definitions (PROGDEF) that are necessary to drive the JCL Translation process.

LCPs optionally produce reports that highlight the changes applied to the source code, COPY books and macros. Certain LCPs can be customised to accommodate specific local requirements.

Assembler LCP

Assembler conversion includes:

  • Convert LIOCS macros, such as DTFMT, DTFSD, DTFCD, DTFPR, DTFDI, DTFCP, OPEN, OPENR, CLOSE, CLOSER, GET, PUT
  • Convert Printer-related macros: CNTRL, PRTOV, SEGMENT, IPWSEGM, LFCB, EXCP
  • Convert CONSOLE access macros (DTFCN, GET, PUT, PUTR, EXCP) to DISPLAY macros
  • Convert selected Supervisor macros, such as CANCEL, DUMP, PDUMP, GETVIS, LOAD, CDLOAD, GETIME, STXIT
  • Replace EOJ, COMRG and MVCOM with equivalent macros
  • Convert TYPEFLE=WORK macros (DTFMT/DTFSD, OPEN, CLOSE, READ, WRITE, CHECK, NOTE, POINTx) to their BSAM equivalent
  • Convert ISAM macros (DTFIS, etc) to native VSAM
  • Convert DAM macros (DTFDA, etc) to BDAM or VSAM
  • Insert a save area in sub-routines, as needed
  • Adapt linkage and parameters to the SORT utility and exit routines
  • Customisation via commands
    • Conversion to AMODE 31, AMODE ANY or RMODE 31
    • Change sub-program name in CALL, LOAD or CDLOAD instructions
    • Change member name in COPY instructions
    • Change DDname in DCB or ACB
    • Replace LOAD macros with LOADx, based on context
    • Remove/keep DTF IOAREAs
    • Generate DCBE with RMODE31=BUFF,BLKSIZE=LBI for DISK and TAPE files
    • Replace register numbers (0-15) with symbolics (R0-R15) in S/370 instructions

COBOL LCP

COBOL conversion includes:

  • Remove obsolete options from CBL card
  • Update file definitions in SELECT and FD clauses
  • Remove obsolete EXEC SQL statements
  • Convert certain EXEC CICS SPOOL commands
  • Correct minor syntax errors
  • Add LINAGE clause
  • Customisation via commands
    • Date Handling
    • Remove Console Dialog
    • Convert ESDS to non-VSAM and vice-versa
    • Change names of sub-programs in CALL instructions
    • Change program and map names in EXEC CICS instructions
    • Change member names in COPY instructions
    • Change DDnames
    • Merge PROCEDURE DIVISION header with ENTRY "DLITCBL".
  • Optionally convert DOS/VS COBOL source code to COBOL-85 standard using the CB2CONV product
    • Reserved words
    • Obsolete verbs
    • Invalid syntax
    • ISAM to VSAM
    • BLL Cells (CICS)

Fortran LCP

Fortran conversion includes:

  • Extract file and sub-routine information and create program definitions (PROGDEF).

PL/I LCP

PL/I conversion includes:

  • Remove obsolete options from PROCESS statement
  • Remove obsolete information from file declarations (DCL FILE)
  • Convert SORT calls (PLISRTx)
  • Convert ISAM to VSAM
  • Convert CHARSET(48) code to CHARSET(60)
  • Retrieve file declarations (DCL FILE) and invocations of external procedures (CALL) from code generated by macro instructions
  • Customisation via commands
    • Date Handling
    • Remove Console Dialog
    • Convert ESDS to non-VSAM and vice-versa
    • Change names of sub-programs in CALL instructions
    • Change member names in %INCLUDE instructions
    • Change DDnames

RPG II LCP

RPG II conversion includes:

  • Remove obsolete information from F specifications
  • Insert L specifications, as needed
  • Convert PRINTER file to non-PRINTER
  • Convert ISAM to VSAM
  • Remove Console Dialog
  • Replace UDATE4 and UYEAR4
  • Customisation via commands
    • Remove Console Dialog
    • Convert ESDS to non-VSAM and vice-versa
    • Change names of sub-programs in CALL instructions
    • Change member names in /COPY instructions
    • Change DDnames
    • Convert simple programs to SORT step

Notes:

  1. Information on the availability of the OS/VS RPG II product is available here.
  2. RPG II is not supported under CICS/MVS.

LCPs for Non-IBM Languages

Prism-CS includes LCPs which support the following non-IBM languages:

  • Easytrieve and Easytrieve Plus
  • Dylakor (DYL260, or Vision:Sixty and DYL280, or Vision:Results)
  • QuikJob (Vision:Report)
  • SAS
  • CA-Earl
  • Natural

Programs written in non-IBM languages are translated the same way, whether the source code is in-line (imbedded in the JCL streams and interpreted at run-time), or off-line (stored in separate libraries and compiled). Non-IBM languages require minimal change to compile or execute in MVS; typically, changes are limited to removing obsolete elements from the file definitions.

Some of the Prism-CS LCPs for non-IBM languages are able to identify simple programs which only perform a straight copy of one file to another. Optionally, these programs can be automatically replaced with a SORT FIELDS=COPY step or equivalent.

Converting Programs to a Different Language

Prism-CS LCPs do not convert programs from one language to another. For example, RPG II or Dylakor programs are converted to compile with the MVS version of the RPG II or Dylakor product, which must be licensed from the vendor. Installations migrating from VSE to MVS, OS/390 or z/OS sometimes wish to also convert certain application programs to COBOL in order to eliminate licensing costs associated with the MVS version of the compiler. To help these installations, GSF Software offers several solutions:

  • Several Prism-CS LCPs can automatically convert simple programs to SORT FIELDS=COPY steps
  • The Prism-CS LCP which processes Easytrieve Classic programs can convert them to EasyTrieve Plus.
  • The DYL2CBL and QJB2CBL products can convert DYL280 and QuickJob programs to COBOL
  • Using a variety of tools and partners, GSF Software can provide a wide array of language conversion services.

Search key-words: MVS OS/390 z/OS VSE os390 zos le language-environment le/370 le/390 assembler assembleur asm bal alc ensemblador languaje ensamblador system macros cobol 68 74 85 fcobol pli pl/i pl/1 pl1 rpg rpg2 rpgii easytrieve eazytrieve easytreive eazytreive dylakor dyl280 dyl260 vision:sixty vision:eighty vision:results quickjob quikjob qukbjob vision:report earl sas batch module programme online modules programmes on-line converter convertor translator traducteur traducidor migration guide