IBM United States
Software Announcement 200-315
September 26, 2000

IBM VisualAge PL/I for OS/390 V2R2M1 Enables State-of-the-Art Application Development

 ENUS200-315.PDF (35KB)


At a Glance

Redefining state-of-the-art, VisualAge PL/I for OS/390 V2R2M1 enhances the powerful OS/390-based compiler that helps you create and maintain mission-critical applications. Important improvements have been added to increase capabilities and ease restrictions.

The enhancements:

  • Enable mainframe interactive debugger support
  • Improve source compatibility
  • Aid in compile-time user error detection
  • Improve C/C++ interoperability

For ordering, contact:

Your IBM representative, an IBM Business Partner, or IBM Americas Call Centers at 800-IBM-CALL (Reference: LE001).

Overview

VisualAge® PL/I for OS/390® Version 2 is designed to provide a state-of-the-art, OS/390-based compiler to help you create and maintain powerful, mission-critical, line-of-business PL/I applications. V2 executes on the OS/390 platform and has access to DB2®, CICS®, IMS™, and other data and transactions systems. V2R2M1 adds the following key enhancements:

  • Mainframe interactive debugger — The convenience of the interactive debugger has been increased by adding support that allows a programmer to debug applications as they run in their native host environment.
  • Source compatibility — A number of enhancements have been made to improve source compatibility with previous versions of PL/I.
  • Compile-time user error detection — New messages have been added to aid in detecting compile-time errors.
  • C/C++ interoperability — Enhancements improve interoperability between PL/I and C/C++.

With these enhancements, IBM has advanced VisualAge PL/I for OS/390 to a new standard of usability.

Key Prerequisites

  • OS/390 V2R8, or later (5647-A01), including the Language Environment® element.
  • Depending on the function used, certain levels of other programs may be required. Refer to the Software Requirements section for details.

Planned Availability Date

September 29, 2000

Description

VisualAge PL/I for OS/390 V2 is the follow-on to the PL/I for MVS™ & VM host compiler product. Building on the strengths of PL/I for MVS & VM, it adds a number of new enhancements geared to the OS/390 environment, eases many restrictions in PL/I for MVS & VM, and includes many of the popular enhancements contained in the current VisualAge PL/I for OS/2® and Windows™ products.

Mainframe Interactive Debugger: Support has been added so that the IBM Debug Tool, the mainframe interactive debugger, featured in the VisualAge PL/I for OS/390 Full Function offering, can now be used directly by the programmer on the host to debug their applications as they are running in their native host environment.

Improved Source Compatibility: The following has been added to assist in source compatibility with previous versions of PL/I:

  • MAP option
  • Alternate DDNAMEs supported for SYSPRINT, SYSPUNCH, and so on
  • Allow assignment of "b" to any structure
  • DO loops in PUT DATA
  • Pseudovariables in GET EDIT
  • DEFAULT DESCRIPTORS
  • "Illegal" self-defining structures
  • Allocate x in (A) allows A to be an array
  • EXTRNs optionally for all declared ext entrys

Improved Compile-Time User Error Detection: The following has been added to assist you with compile-time error analysis:

  • Message if a scalar is passed to an array
  • Message if a keyword is used as a label
  • Message for lines running into margins
  • No message if blanks are chopped into strings

Improved C/C++ Interoperability: The following has been added to improve interoperability between PL/I and C/C++ programs:

  • Unspecified structure definitions
  • CAST type function

Other Enhancements: The following additional enhancements have been added:

  • Unicode support has been improved via a new WIDECHAR attribute that allows for easy manipulation of UTF-16 data
  • POINTERs allowed in PUT DATA
  • Up to 2K %INCLUDEs

Year 2000

This product is Year 2000 ready. When used in accordance with its associated documentation, it is capable of correctly processing, providing, and/or receiving date data within and between the twentieth and twenty-first centuries, provided that all products (for example, hardware, software, and firmware) used with the product properly exchange accurate date data with it.

Euro Currency

This program is EuroReady.

For more information on the implications of the euro, visit the IBM euro Web site at:

EuroReady Products

IBM considers an IBM product to be EuroReady if the product, when used in accordance with its associated documentation, is capable of correctly processing monetary data in the euro denomination and of respecting the euro currency formatting conventions (including the euro sign). This assumes that all other products (for example, hardware, software, and firmware) that are used with this product are also EuroReady. IBM hardware products that are EuroReady may or may not have an engraved euro sign key on their keyboards.

Currently, EuroReady status applies primarily to IBM products specific to the EMU countries. Products that are not specific to these countries are deemed to be "not ready" for euro unless otherwise stated in the product's country-specific specifications.

IBM Hardware Ready

IBM supplies certain IBM products which include third party software (pre-loaded or not) and/or third party attached hardware. In these instances, IBM is not in a position to assert that these third party products are, in themselves, EuroReady.

Therefore, such IBM products will be designated as Hardware ready.

EuroReady Solutions

IBM considers a solution to be EuroReady when the solution providers have:

  • Analyzed the euro requirements, including the need to comply with relevant EC rules
  • Built in appropriate function

and can clearly demonstrate this by:

  • Detailing euro related requirements
  • Describing how these will be implemented in the solution
  • Declaring when the implementation will be generally available

The euro capabilities of a EuroReady solution will be clearly identified as features of the Solution specification as described in the contracts document.

Hardware and Software Support Services

SmoothStart™/Installation Services

SmoothStart and Installation Services are not provided.

Trademarks

 
IMS, MVS, and SmoothStart are trademarks of International Business Machines Corporation in the United States or other countries or both.
 
OS/390, VisualAge, CICS, DB2, Language Environment, and OS/2 are registered trademarks of International Business Machines Corporation in the United States or other countries or both.
 
Windows is a trademark of Microsoft Corporation.
 
Other company, product, and service names may be trademarks or service marks of others.

Overview of VisualAge PL/I for OS/390® V2

VisualAge® PL/I for OS/390 V2 is the follow-on to the PL/I for MVS™ & VM host compiler product. Building on the strengths of PL/I for MVS & VM, it adds a number of new enhancements geared to the OS/390 environment, eases many restrictions in PL/I for MVS & VM, includes many of the popular enhancements contained in the current VisualAge PL/I for OS/2® and Windows™ products, and incorporates the Millennium Language Extensions.

You use VisualAge PL/I for OS/390 with the IBM Language Environment® element of OS/390 to support creation of host OS/390 applications. The OS/390 Language Environment provides a common run-time environment for language products that conform to its architecture on OS/390 (for example, IBM COBOL for OS/390 & VM, IBM C/C++ element of OS/390).

Some advantages of PL/I with Language Environment include:

  • Flexible run-time options
  • Faster and easier interlanguage communication (ILC) support
  • Dynamic ILC for all systems and subsystems
  • A common condition handling architecture

These functions and, in particular, the ILC support provided by Language Environment, allow host PL/I programmers to reuse code. By conforming to Language Environment, VisualAge PL/I for OS/390 can minimize new development and make it easier to share code between applications.

VisualAge PL/I for OS/390 contains new enhancements that move you into the OS/390 world, including:

  • VisualAge PL/I for OS/390 is designed to provide OS/390 UNIX® System Services support. This means, for instance, that all your source files could be in HFS files allowing you to compile, link, and execute programs entirely under OS/390 UNIX, as you would on other UNIX systems.
  • VisualAge PL/I for OS/390 is designed to provide easier compatibility and interoperability with C/C++. This includes, but is not limited to, support for VARYINGZ strings, UNSIGNED integers, ORDINALS (essentially C enums), UNIONs, typed structures and typed pointers. The compiler also shares the same code generator as the IBM C/C++ compiler, and hence easily supports the same linkage conventions as C/C++.
  • The new code generator includes a modern optimizer, with support for move character long (MVCL) and newer 390 instructions, writeable static, dynamic link libraries (DLLs), and the new 16 floating-point register hardware.

VisualAge PL/I for OS/390 incorporates the following enhancements contained in the current VisualAge PL/I for OS/2 and Windows product.

  • Supports more than 100 new built-in functions. These new built-in functions give you better string-handling, more powerful exception handling, much easier integer manipulation, a wider range of date-time functions, and the ability to write or compare an arbitrary number of bytes at arbitrary storage addresses.
  • An improved, but fully compatible, macro facility. Among its significant enhancements are support for arrays and SELECT statements in both open code and macros.
  • The new RULES option lets you selectively enforce more stringent rules than PL/I would normally apply and thus allows you to flag bad programming practices before they lead to bugs. For instance, this option allows you to cause the compiler to flag all undeclared variables with an E-level message. In a related feature, the compiler has a user exit that allows you to raise or lower the severity of compiler messages.
  • The new PREFIX compiler option allows you to enable conditions such as the SUBSCRIPTRANGE condition without editing your source. This makes it easier to test your code without having separate test and production versions.

VisualAge PL/I for OS/390 eases many restrictions in prior host PL/I compiler products, including:

  • FETCHed routines may now FETCH other routines, which may, in turn, FETCH other routines, ad infinitum.
  • In addition to the current support for I/O operations in FETCHed routines to PUT statements to SYSPRINT, FETCHed routines may now perform any I/O operation to any kind of file.
  • FETCHed routines may now ALLOCATE and FREE CONTROLLED variables, just as a routine linked with MAIN.
  • FIXED DECIMAL and PICTURE variables may now be declared with up to 31 digits of precision, rather than the maximum of 15 permitted by earlier versions of PL/I.
  • The maximum precision for FIXED BINARY variables has been increased from 31 to 63. At the same time, the UNSIGNED attribute may now be specified with FIXED BINARY, and SIGNED FIXED BIN (7) (and UNSIGNED FIXED BIN (8)) will be mapped to 1 byte of storage.
  • The maximum length of a variable name has been increased from 31 characters to 100 characters. This may allow your program to be more readable and also eases interoperability with C/C++.
  • Previous versions of PL/I limited the total number of FILEs and CONTROLLED variables to 4096. With VisualAge PL/I, the only limit on the number of FILEs and CONTROLLED variables is imposed by your region size.
  • The limit on the numbers of parameters that a routine can receive has been increased from 255 to 4095. This increases your ability to write IMS™ transactions and DB2® UDB programs.

VisualAge PL/I for OS/390 now includes the Millennium Language Extensions, which helps with your Year 2000 solution. There is no longer a need to purchase a separate PL/I Millennium Language Extensions product. The Millennium Language Extensions may help reduce the programming effort needed to implement a date windowing solution. In the past, all two-digit year fields were considered to be in a window with values 0 to 99 added to an implied base of 1900. The windowing technique simply moves the window from 0 to 99 (implying 1900 to 1999) to another set of values, like 60 to 59 (implying 1960 to 2059). Windowing does not require changes to the data in databases. However, the windowing techniques have, until now, required changes to the program logic in source programs. Such changes make code modifications more complex, debugging more difficult, and in some cases, increase the likelihood of errors. IBM's Millennium Language Extensions can help overcome these problems.

The Millennium Language Extensions introduce support for automated date windowing by giving application developers a mechanism to indicate to the compiler which dates should be windowed with minimal user changes to the program logic. The extensions allow you to change your application data definitions to indicate which data items represent windowed dates. When an affected date variable is referenced in the body of the program, its value is automatically converted to a representation suitable for the specific statement. For example, if the statement is a comparison between a windowed date and a four-digit year, the windowed date is automatically expanded.

The interactive debug tool is offered with PL/I for OS/390 in what is called the Full Function Offering . The debug tool is a common facility that supports COBOL for OS/390 & VM, COBOL for MVS & VM, VisualAge PL/I for OS/390, PL/I for MVS & VM, and the OS/390 C/C++ element. Only one Full Function Offering is required for debugging applications written using any of these programming products. An Alternate Function Offering is available for customers who do wish to receive the VisualAge PL/I for OS/390 compiler but not the debug tool.

Technical Information

Specified Operating Environment

Hardware Requirements

VisualAge PL/I for OS/390 will run on any hardware configuration supported by the licensed programs specified below.

Software Requirements

Unless otherwise announced by IBM, VisualAge PL/I for OS/390 V2R2M1 runs under the control of, or in conjunction with, the currently-supported releases of the following programs and their subsequent releases, or their equivalents. For more information on programs listed below that mention the need to apply program temporary fixes (PTFs), refer to the program directory that ships with the product.

Required Licensed Program

  • OS/390 V2R8 (5647-A01), including the Language Environment element

Optional Licensed Programs

  • C/C++ for MVS/ESA™ V3 (5655-121)
  • CICS/ESA® V4R1 (5655-018)
  • CICS® Transaction Server for OS/390 R1 (5655-147)
  • COBOL for MVS & VM V1R2 (5688-197)
  • COBOL for OS/390 & VM V2R2 (5648-A25)
  • DB2 for OS/390 V5 (5655-DB2)
  • DB2 UDB for OS/390 V6 (5645-DB2)
  • DB2 UDB for OS/390 V7 (5675-DB2)
  • DFSORT™ R13 (5740-SM1)
  • High Level Assembler/MVS & VM & VSE (5696-234)
  • IMS/ESA® V5 (5695-176)
  • IMS/ESA V6 (5655-158)
  • IMS/ESA V7 (5655-B01)
  • SQL/DS™ V3R5 (5688-103)
  • TCP/IP V3R2 for MVS (5655-HAL)
  • VS COBOL II R4 (5668-958, 5688-022, 5688-023)
  • VS FORTRAN V2 (5668-806, 5688-087)

Compatibility: Recompiled source code with VisualAge PL/I for OS/390 is compatible with OS PL/I and PL/I for MVS & VM applications, however, object and load modules from previous PL/I products are not supported.

Security, Auditability, and Control

The announced program uses the security and auditability features of the host operating system software. The customer is responsible for evaluation, selection, and implementation of security features, administrative procedures, and appropriate controls in application systems and communication facilities.

Customer Financing

IBM Global Financing offers attractive financing to credit-qualified commercial and government customers and Business Partners in more than 40 countries around the world. IBM Global Financing is provided by the IBM Credit Corporation in the United States. Offerings, rates, terms, and availability may vary by country. Contact your local IBM Global Financing organization. Country organizations are listed on the Web at:

Ordering Information

Current Licensees

Current licensees of VisualAge PL/I for OS/390 V2R2M0 will be sent a program reorder form that may be returned directly to IBM Software Delivery and Fulfillment (SDF). These reorder forms are scheduled to be mailed two weeks after planned availability. Reorder forms returned to SDF will be processed within 10 workdays of receipt. When V2R2M1 is available, V2R2M0 will no longer be available.

New Licensees

The ordering information for VisualAge PL/I for OS/390 V2R2, as previously announced in Software Announcement 299-266 , dated September 21, 1999, is unaffected by this announcement.

  • Orders for new licenses can be placed now.
  • Shipment will not occur before availability date.
  • Shipment will begin on the planned availability date.
  • Unless a later date is specified, orders entered before the planned availability date will be assigned a schedule date of one week following availability.
  • Orders entered after the planned availability date will be assigned a schedule date for the week following order entry.
  • New users of VisualAge PL/I for OS/390 V2 should specify:

              Type           Model
     
              5655           B22
    

Unlicensed Documentation: A memo, program directory, and one copy of the following publications are supplied automatically with the basic machine-readable material:

                                                  Order
Title                                             Number
 
Licensed Program Specifications                   GC26-9471

The following optional publications will be available by product availability:

                                                  Order
Title                                             Number
 
Programming Guide                                 SC26-9473
Compiler and Run-Time Migration                   SC26-9474
 Guide
Diagnosis Guide                                   SC26-9475
Language Reference                                SC26-9476
Messages and Codes                                SC26-9478

Copies of unlicensed publications will be available for a fee after product availability. These copies may be ordered via direct order or you may contact your IBM representative.

Withdrawal of Publications Feature Number: Effective immediately, optional publications feature Number 7132 is withdrawn.

Displayable Softcopy Publications: All VisualAge PL/I for OS/390 Version 2 unlicensed publications are available, free of charge, in displayable softcopy format on the PL/I Web site:

Subsequent updates (technical newsletters or revisions between releases) to the publications shipped with the product will be distributed to the user of record for as long as a license for this software remains in effect. A separate publication order or subscription is not needed.

Terms and Conditions

The terms for VisualAge PL/I for OS/390 & VM V2, as previously announced in Software Announcement 299-266 , dated September 21, 1999, licensed under the IBM Customer Agreement, are unaffected by this announcement.

Support Line: Yes

Charges

The charges for IBM VisualAge PL/I for OS/390 V2, as previously announced in Software Announcement 299-266 , dated September 21, 1999, are unaffected by this announcement.

Order Now

 Use Priority/Reference Code: LE001
 
 Phone:     800-IBM-CALL
 Fax:       800-2IBM-FAX
 Internet:  ibm_direct@us.ibm.com
 Mail:      IBM Atlanta Sales Center
            Dept. LE001
            P.O. Box 2690
            Atlanta, GA  30301-2690

You can also contact your local IBM Business Partner or IBM representative. To identify them, call 800-IBM-4YOU.

Note: Shipments will begin after the planned availability date.

Trademarks

 
MVS, IMS, MVS/ESA, DFSORT, and SQL/DS are trademarks of International Business Machines Corporation in the United States or other countries or both.
 
OS/390, VisualAge, OS/2, Language Environment, DB2, CICS/ESA, CICS, and IMS/ESA are registered trademarks of International Business Machines Corporation in the United States or other countries or both.
 
Windows is a trademark of Microsoft Corporation.
 
UNIX is a registered trademark in the United States and other countries exclusively through X/Open Company Limited.
 
Other company, product, and service names may be trademarks or service marks of others.