For example:

 

 

01

RECORD-A

 

PIC X(4).

01

FILLER REDEFINES RECORD-A.

 

10

RECA-FIRST

PIC

9(2).

 

10

RECA-SECND

PIC

9(2).

Using COBOL for OS/390 and VM you will receive the message:

IGYDS1064-E A ²REDEFINES² clause was found in the definition of a level-01 item in the ²FILE SECTION². The clause was discarded.

This coding practice is documented as invalid in DOS/VS COBOL, but DOS/VS COBOL did not flag the error.

With DOS/VS COBOL you can specify the SELECT OPTIONAL clause, for an input file that is to be accessed sequentially, and that may not be present each time the program is executed. However, if you do specify OPTIONAL, it is treated as a comment, since for DOS/VS COBOL this function is performed by the ASSGN job control statement with the IGN parameter.

In COBOL for OS/390 and VM SELECT OPTIONAL is required for a file that may not be present each time the program is executed, and which is opened in input, I/O or extend mode.

Therefore, if you have made use of the OPTIONAL key word only as a comment, you should remove it, as your program may produce unpredictable results.

DOS/VS COBOL will accept the ACCEPT identifier FROM SYSIPT statement without the keyword FROM. COBOL for OS/390 and VM does not. It will generate the message:

IGYPS2072-S ²SYSIPT² was invalid. Skipped to the next verb, period or procedure-name definition.

The program name supplied in the PROGRAM-IDparagraph is a user-defined word that identifies the program. If this name contains a ¢ ¢ COBOL for

OS/390 and VM will converted it to 0. This was true of DOS/VS COBOL also, but COBOL for OS/390 and VM generates a warning message, IGYDS0020-W, for example,

IGYDS0020-W Name ²C2NAC-30²was processed as ²C2NAC030² .

On returning to a COBOL calling program from an Assembler or other language subroutine, data is left in register 15. In DOS/VS COBOL it did not matter what this data was. In COBOL for OS/390 and VM the value in register 15 is passed to the RETURN-CODEspecial register. At the end of the program the value in the RETURN-CODEspecial register is returned to OS/390 as a user return code. If there was invalid data in register 15 on the return to the calling program, (and therefore also in the RETURN-CODEspecial register), the application may produce an unexpected return code from OS/390, or even a dump.

This problem may be circumvented by adding the following statement to your converted source code:

MOVE 0 TO RETURN-CODE

You cannot make this change in advance of your conversion as the RETURN-CODEspecial register does not exist in DOS/VS COBOL.

254VSE to OS/390 Migration Workbook

Page 278
Image 278
IBM OS/390 manual Record-A, Filler Redefines RECORD-A, Reca-First Pic Reca-Secnd, Move 0 to RETURN-CODE

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.