15.7.3 Options Specific to MVS

The options A, E and 0 are used only in a multitasking environment:

A Dump all tasks

ODump only the task requesting the dump E Use of an exit

15.7.4Compatibility

Parameters unsupported by the PL/I dump routines are ignored if they are used when calling dump facilities.

15.8 Return Codes in PL/I

15.8.1 Setting Return Codes

It is possible to set return codes in PL/I. This capability, which already existed in DOS when returning from a sub-program or a function, is now extended to main programs. The function PLIRETC allows the setting of a return code. For example, CALL PLIRETC (16); will set the return code to 16, thus allowing JCL to test it by COND parameters in succeeding STEP statements.

15.8.2 Return Code Values

Note nevertheless the fact that the code returned from a PL/I program is the SUM of the return codes provided by the user in the call to the function PLIRETC (0 by default) and a code determined by the PL/I termination routines indicating how the job terminated:

0000 Normal end

1000 STOP, EXIT, PLIDUMP(′ S′ ) , PLIDUMP(′ E′ ) , insufficient storage. 2000 ERROR condition and no ON ERROR or ON FINISH block.

4000 ERROR in PL/I management routines.

15.9 Forcing an ABEND

It can be useful to force PL/I to end in ABEND in certain cases. In practice, while a users program may end abnormally, a PL/I program nevertheless ends quite normally as far as the operating system is concerned. This can be accomplished by executing the program with the NOSTAE option, writing an IBMBEERA routine (see Programmers Guide and Execution Logic), or writing an assembler routine to cancel PL/Is STAE macro and issue the ABEND macro.

15.9.1 Use of DISP in the JCL

It is possible in the DISP parameter of the JCL statement to specify for example: DISP=(NEW,CATLG,DELETE). The third parameter of DISP is used to indicate to the operating system which route to follow in case of an ABEND. If PL/I intercepts and handles errors, the system does not see an ABEND condition and the file will be cataloged (second parameter) and not destroyed. It is therefore necessary to force an ABEND. There are two possibilities:

Reassemble the module IBMBEERA to load register 15 with a non-zero value.

Use the PLIREST function to cause a user ABEND.

344VSE to OS/390 Migration Workbook

Page 368
Image 368
IBM OS/390 manual Options Specific to MVS, Compatibility, Return Codes in PL/I Setting Return Codes, Return Code Values

OS/390 specifications

IBM OS/390, a versatile operating system, was a cornerstone in enterprise environments and played a pivotal role in mainframe computing. Released in the mid-1990s, OS/390 combined the strengths of IBM's MVS (Multiple Virtual Storage) with new features and enhancements, targeting scalability, reliability, and performance in demanding business applications.

One of the key features of OS/390 was its robust support for multiple users and processes. The system allowed thousands of concurrent users to access applications and data, ensuring high availability and minimizing downtime—a critical requirement for many large organizations. This scalability was supported through various enhancements in memory management and processor scheduling, enabling optimal resource allocation across diverse workloads.

OS/390 was known for its superior workload management capabilities. The Workload Manager (WLM) component allowed administrators to define service policies, specifying how system resources would be allocated according to the priority of tasks. This ensured that critical business processes received the necessary resources while less critical tasks were managed more flexibly.

Another significant characteristic of OS/390 was its commitment to security. The operating system provided comprehensive security features, including user authentication, data encryption, and auditing capabilities. This focus on security was vital for organizations handling sensitive data, ensuring compliance with regulations and safeguarding against unauthorized access.

OS/390 also supported advanced technologies that facilitated integration and development. The system included features like the IBM CICS (Customer Information Control System) for transaction processing and IMS (Information Management System) for database management. These technologies allowed organizations to build robust, high-performance applications tailored to specific business needs.

The ease of network integration was another strength of OS/390. With the advent of the Internet and global connectivity, OS/390 systems could easily interface with various network protocols, enabling businesses to operate in a connected world. This inclusion paved the way for many organizations to expand their capabilities and offer new services, driving digital transformation.

In conclusion, IBM OS/390 represented a significant advancement in mainframe technology, combining scalability, security, and robust workload management. Its rich feature set and support for critical enterprise applications solidified its role as a vital component of many organizations' IT infrastructures, ensuring they could meet their operational challenges head-on while supporting future growth. As technology continues to evolve, the legacy of OS/390 remains influential in the realm of computing.