IBM PL/I for AIX, V2.0 provides a powerful development environment for building PL/I applicationsIBM United States Software Announcement 204-129
June 22, 2004
|Table of contents||Document options|
|At a glance|
IBM PL/I for AIX, V2.0 provides:
- Extensible Markup Language (XML) support
- Unicode support
- Integrated SQL preprocessor
- Integrated CICS® preprocessor
- Enhancements to help improve application performance
- Improved compile-time user error detection
- Enhancements to improve interoperability between PL/I and C/C++
- Other usability enhancements
- An enhanced level of the distributed debugger
For ordering, contact:
Your IBM representative, an IBM Business Partner, or IBM Americas Call Centers at
Back to top
IBM PL/I for AIX®, V2.0 is a productive and powerful development environment for building PL/I applications. It includes a PL/I compiler, a PL/I library, and a distributed debugger for the AIX operating system. The debugger shipped with the compiler allows you to visually debug programs running locally, remotely, or in a client-server environment.
With IBM PL/I for AIX, you can use your existing PL/I code to upgrade your applications with the
newest technologies. The goal of PL/I for AIX is to enable developers to leverage 30 years' worth
of applications in new endeavors. It delivers needed PL/I function to continue integration of PL/I
and Web-oriented business processes.
Back to top
- IBM AIX V5.1, or later, is required.
- Depending on the function used, certain levels of other programs may be required. Refer to the Software requirements section for details.
|Planned availability date|
June 25, 2004:
- Electronic software delivery
- Media and documentation
Back to top
Extensible Markup Language (XML) support
V2.0 provides an XML parser that can be invoked by calling a new PL/I built-in subroutine. This high-speed parser gives PL/I programs the ability to parse XML documents (in EBCDIC, ASCII, or UTF-16 Unicode) directly within their PL/I applications.
A new built-in function has been added that will write XML with the names and values of the elements of a referenced structure to a buffer and return the number of bytes written. This XML can then be passed to other applications, including code using the PL/I SAX parser, that want to consume it.
Integrated SQL preprocessor
With the integrated SQL preprocessor, it is not necessary to run a separate job step that precompiles EXEC SQL statements into PL/I code. Instead, the compile step will handle EXEC SQL statements in the same way that it handles any use of the macro facility. Also, since debugging is against the source code fed to the compiler, you can now debug against the source you wrote (rather than what the SQL precompiler produced).
Integrated CICS preprocessor
With the integrated CICS preprocessor, it is not necessary to run a separate job step that precompiles EXEC CICS statements into PL/I code. Instead, the compile step will handle EXEC CICS statements in the same way that it handles any use of the macro facility. Since debugging is against the source code fed to the compiler, you can now debug against the source you wrote rather than what the CICS precompiler produced.
Enhancements to help improve performance
- The compiler-generated code now uses less stack storage.
- The compiler generates improved code for references to the TRANSLATE built-in function.
- The performance has been improved for the compiler-generated code for SUBSCRIPTRANGE checking for arrays with known bounds.
- Several compiler options have been added that allow you to choose the generation of more optimized code.
Improved compile-time user error detection
The following have 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 interoperability between PL/I and C/C++
V2.0 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)
- Typed structures and typed pointers
- Unspecified structure definitions
- CAST type function
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++.
Other usability enhancements
- More than 100 new built-in functions are supported. 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 provides significant enhancements, including 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.
- 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++.
- The previous version of PL/I limited the total number of FILEs and CONTROLLED variables to 4096. With V2.0, 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.
- The new LAXDEF suboption of the RULES compiler option allows the use of so-called illegal defining without having the compiler generate E-level messages.
- The new FLOATINMATH compiler option offers easier control of the precision with which math functions are evaluated.
- The new MEMINDEX, MEMSEARCH, and MEMVERIFY built-in functions provide the ability to search strings larger than 32K.
- The compiler will now issue messages identifying more of the places where statements have been merged or deleted.
- BASED structures using REFER are now supported in the debugger and in data-directed I/O statements (with the same restrictions as on all other BASED variables).
- BASED structures that are BASED on scalar members of other structures (which, in turn, may be BASED, and so on) are now supported in the debugger and in data-directed I/O statements (with the same restrictions as on all other BASED variables).
- Unicode support has been improved via a new WIDECHAR attribute that allows for easy manipulation of UTF-16 data.
- POINTERs are allowed in PUT DATA.
- Up to 2K %INCLUDEs are supported.
- The ANSWER statement is supported in the macro facility.
- Better detection of uninitialized variables is provided.
The following have been added to assist in source compatibility with previous versions of PL/I:
- Assignment of " " 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
The distributed debugger, included with PL/I for AIX, V2.0, allows the programmer to find problems in a program easily and efficiently. It can also be used as a tool to understand a program. Because the programmer can control the program being debugged, a trace can be initiated through the flow of program execution and, at any desired point, it can be stopped and the program's internal state can be examined. The values of variables and expressions can be examined using the monitors available in the debugger. The call stack for each thread in a program can also be examined. The distributed debugger component provides support for the following languages:
Back to top
Product information is available via the Offering Information Web site
Also, visit the Passport Advantage® Web site
Back to top
No publications are shipped with this product.
The IBM Publications Center
The Publications Center is a worldwide central repository for IBM product publications and marketing material with a catalog of 70,000 items. Extensive search facilities are provided. Payment options for orders are via credit card (in the U.S.) or customer number for 50 countries. A large number of publications are available online in various file formats, and they can all be downloaded by all countries free of charge.
The IBM Publications Notification System (PNS)
PNS enables subscribers to set up profiles of interest by order number or product number. PNS subscribers automatically receive e-mail notifications of all new publications defined in their profiles. These may then be ordered or downloaded from the Publications Center.
The PNS site is available in English and Canadian French.
Back to top
Specified operating environment
- PL/I for AIX®, V2.0.0 and its generated object programs run on any processors that are supported by IBM AIX, Version 5.1 or later. These processors must be configured with at least one keyboard and mouse.
- An SVGA 800 x 600 display is required (1024 x 764 recommended).
- A CD-ROM drive is required.
- 96 MB of memory is required (128 MB, or higher, recommended).
- 120 MB of disk space is required for the PL/I compiler, tools, and documentation.
Required programs: PL/I for AIX, V2 and its generated object programs run under the following system environment (or subsequent releases):
- IBM AIX, Version 5.1, including X11 support
- A Mozilla or Netscape browser to access the F1 help
- Mozilla-based browsers Version 1.x or higher to access the Information Center
- Adobe Acrobat Reader 5.0 to view and print PDF documentation
Optional programs: To use PL/I for AIX with optional programs, additional products are required:
- With DB2 preprocessor support: DB2 Universal Database®, V7 or V8
- With DB2 coprocessor support: DB2 Universal Database, V7.2 Fixpack 11 or DB2 Universal Database, V8.1 Fixpack 4
- With CICS®: TXSeries for Multiplatforms, V5.0 or later
Compatibility: The following components that were provided in PL/I Set for AIX, V1 are withdrawn in PL/I for AIX, V2:
- XLDB debugger (replaced with the distributed debugger)
Software Development Environment (SDE) and the following related tools:
- Program Builder
- LPEX editor
API support for SMARTdata UTILITIES (SdU):
- The header files and documentation for SdU for VSAM in a Distributed Environment
- The header files and documentation for SdU for Data Description and Conversion
- The distributed file manager support provided by SdU
- Remote MVS dataset access through SdU
- IBM Information Presentation Facility (IPF/X)
Direct customer support: Direct customer support is provided by IBM Operational Support Services Support Line. This fee service enhances customers' productivity by providing voice and electronic access into the IBM support organization. IBM Operational Support Services Support Line will help answer questions pertaining to usage and suspected software defects for eligible products.
Installation and technical support is provided by Global Services. For more information call 800-IBM-4YOU (426-4968).
Software Maintenance, previously referred to as Software Subscription and Technical Support, is included in the Passport Advantage Agreement. Installation and technical support is provided by the Software Maintenance offering of the IBM International Passport Advantage Agreement. This fee service enhances customer productivity, with voice and electronic access into IBM support organizations.
Packaging: The IBM PL/I for AIX, V2.0 CD-ROM is contained in the media pack.
Security, auditability, and control
PL/I for AIX 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
Back to top
Licensed Product function title Product group category VisualAge(R) IBM VisualAge VisualAge PL/I Set PL/I
Passport Advantage program licenses
Part Part description number VisualAge PL/I SET PL/I for AIX Users License & SW D5AE5LL Maintenance 12 Months PL/I for AIX Users SW Maintenance D5AE8LL Reinstatement 12 Months PL/I for AIX Users SW E1AE7LL Maintenance Annual Renewal
Passport Advantage supply
Part Program name/description number PL/I for AIX V2.0.0 Media Pack English U.S. AIX V5.x CD-ROM BA0CJNA Digital Disk -- ISO 9660 Standard V2.0.0
Passport Advantage customer: Media pack entitlement details
Customers with active maintenance or subscription for the products listed are entitled to receive the corresponding media pack.
PL/I for AIX, V2.0.0
Entitled maintenance offerings Media packs Part description description number VA PL/I PL/I for AIX English BA0CJNA SET AIX U.S. AIX V5.x CD-ROM Digital Disk -- ISO 9660 Standard
Back to top
|Terms and conditions|
This product is available only via Passport Advantage. It is not available as shrinkwrap.
Licensing: IBM International Program License Agreement. Proofs of Entitlement (PoE) are required for all authorized use.
Part number products only, offered outside of Passport Advantage, where applicable, are license only and do not include Software Maintenance.
License information form number
Program Program name number Form number PL/I for AIX 5724-H45 L-JDEE-5WNT7N
Limited warranty applies: Yes
Warranty: This program has warranty for a minimum of one year from acquisition from IBM or authorized IBM Business Partner. The warranty provided to the customer, for at least one year from acquisition, is access to databases (read Web sites) for program information and FAQs, including any known fixes to defects, which the customer can download or obtain otherwise and install at leisure.
Program technical support: Technical support of a program product will be available for a minimum of three years from the general availability date, as long as your Software Maintenance is in effect. This technical support allows you to obtain assistance (via telephone or electronic means) from IBM for product-specific, task-oriented questions regarding the installation and operation of the program product. Software Maintenance also provides you with access to updates, releases, and versions of the program. Customers will be notified, via announcement letter, of discontinuance of support with 12 months' notice. If you require additional technical support from IBM, including an extension of support beyond the discontinuance date, contact your IBM representative or IBM Business Partner. This extension may be available for a fee.
Money-back guarantee: If for any reason you are dissatisfied with the program, return it within 30 days from the invoice date, to the party (either IBM or its reseller) from whom you acquired it, for a refund. This applies only to your first acquisition of the program.
Copy and use on home/portable computer
Copy and use on home/portable Product name computer? PL/I for AIX No
Volume orders (IVO): No
Passport Advantage applies: Yes, and through the Passport Advantage Web site at
Usage restriction: Yes
Charge unit: IBM PL/I for AIX, V2.0 is licensed based on a charge unit of one authorized user. The program may be stored on more than one machine, provided that the program is not in active use on more than one machine at the same time.
An authorized user is an individual or specific named user authorized to have access to the program or any portion of the program. The Proof of Entitlement for this program is evidence of your authorization. Each individual or specific named user must obtain a Proof of Entitlement.
Redistribution information: If you have developed an application that is dependent upon the files or modules listed below or located in the directory named below, you may distribute these files or modules, subject to the following terms:
- The files or modules must be in object code.
- You will indemnify IBM or third parties that provide IBM products ("Third Parties") from and against any third-party claim arising out of the use or distribution of your application.
- You may not use the same path name as the original files/modules.
- You may not use IBM's or Third Parties' names or trademarks in connection with the marketing of your applications without IBM's or Third Parties' prior written consent.
- IBM or Third Parties provide copies of these files or modules "AS IS," that is, you are responsible for all technical assistance for your application.
- In your license agreement with the recipient, you will notify the recipient that these files or modules may not be (1) used for any purpose other than to enable the application, (2) copied (except for backup purposes), (3) further distributed, or (4) reverse assembled, reverse compiled, or otherwise translated.
Your application containing a copy of the above referenced files/modules
must be labeled as follows:
Contains Runtime Modules of IBM PL/I for AIX, V2.0
Copyright IBM Corporation 1995,2004 All Rights Reserved
The files/modules are:
Software maintenance applies: Yes
Software Maintenance, previously referred to as Subscription and Technical Support, is now included in the Passport Advantage Agreement. Installation and technical support for the products announced in this letter is provided by the Software Maintenance offering of the IBM International Passport Advantage Agreement. This fee service enhances customer productivity by providing voice and/or electronic access into the IBM support organizations.
IBM includes one year of Software Maintenance with the initial license acquisition of each program acquired. The initial period of Software Maintenance can be extended by the purchase of a renewal option that is available.
While your Software Maintenance is in effect, IBM provides you assistance for your (1) routine, short duration installation and usage (how-to) questions; and (2) code-related questions. IBM provides assistance via telephone and, if available, electronic access, only to your information systems (IS) technical support personnel during the normal business hours (published prime shift hours) of your IBM support center. (This assistance is not available to your end users.) IBM provides Severity 1 assistance 24 hours a day, every day of the year. For additional details, consult your IBM Software Support Guide at:
Software Maintenance does not include assistance for (1) the design and development of applications, (2) your use of programs in other than their specified operating environment, or (3) failures caused by products for which IBM is not responsible under this agreement.
For more information about the Passport Advantage Agreement, refer to the IBM International Passport Advantage Agreement Software Announcement 201-202 , dated July 10, 2001. or visit the Passport Advantage Web site at:
IBM Operational Support Services Support Line: No
iSeries Software Subscription applies: No
Educational allowance available:
Back to top
For Passport Advantage information and charges, contact your IBM representative or authorized IBM Business Partner. Additional information is also available at
Back to top
To order, contact the Americas Call Centers, your local IBM representative, or your IBM Business Partner.
To identify your local IBM representative or IBM Business Partner, call 800-IBM-4YOU (426-4968).
Phone: 800-IBM-CALL (426-2255) Fax: 800-2IBM-FAX (242-6329) Internet: firstname.lastname@example.org Mail: IBM Americas Call Centers Dept: IBM CALL, 11th Floor 105 Moatfield Drive North York, Ontario Canada M3B 3R1 Reference: RE001
The Americas Call Centers, our national direct marketing organization, can add your name to the mailing list for catalogs of IBM products.
Note: Shipments will begin after the planned availability date.
Back to top