Instream data will always follow an EXEC statement, and it is the responsibility of the executing program which is reading the instream data to recognize the end of that data. By default, the instream data delimiter is the ²/ *² statement, although an application program can choose its own delimiter. This allows programs other than JCL to read and process JCL statements, for example, when the librarian program stores JCL as library members or procedures.

This same capability was often used to control the flow of jobs -- for example, a program could decide to skip the next job step, and then just read and ignore (or ²swallow²) the JCL statements for that step. With the advent of VSE conditional JCL in the mid-1980s, the use of this technique has greatly declined, but its use is found in perhaps 25% of shops converting from VSE to OS/390.

In MVS systems, in contrast, JCL statements and instream data are separated during the JCL Conversion processing, so that user programs cannot ²see² JCL statements, and JCL processing is simplified.

Instream data sets in the OS/390 environment can be read in any sequence, and can be read multiple times. Thus, an OS/390 job that reads the same instream input at three different times could simply open and process that data set three times.

4.3.1.1 Multiple Instream Data Set Input

A VSE job step that reads one input card file under two different program DTFs requires that the input statements be properly sequenced, whereas in OS/390, the two input files could appear as two separate instream files.

VSE Example

//EXEC MYPROG...

FILE 1 CARD 1 FILE 1 CARD 2 FILE 2 CARD 1 FILE 1 CARD 3

FILE 1 CARD 4 FILE 2 CARD 2 FILE 1 CARD 5 FILE 1 CARD 6 FILE 2 CARD 3

/*

OS/390 Example

//FILE1 DD * FILE 1 CARD 1 FILE 1 CARD 2 FILE 1 CARD 3 FILE 1 CARD 4 FILE 1 CARD 5 FILE 1 CARD 6

/*

//FILE2 DD * FILE 2 CARD 1 FILE 2 CARD 2 FILE 2 CARD 3

/*

// EXEC PGM=MYPROG...

For this processing to work correctly in VSE, it is clearly dependent upon the program logic and the setup of the instream data. This would be much simpler in the OS/390 environment. If the MVS example attempts to use just one instream data set, with two program files being read, each program file will find the same input data. That is, the first read (from file 1) would read the first record, and the second read (from file 2) would also read the same first record, as it is the first read for that file.

74VSE to OS/390 Migration Workbook

Page 98
Image 98
IBM OS/390 manual Multiple Instream Data Set Input, VSE Example

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.