<<

• Cognizant 20-20 Insights

A Checklist for Migrating Big Iron Cobol Applications

Migrating common oriented language (Cobol) applications from HP NonStop Tandem to IBM z/OS mainframes requires detailed analysis of program structuring, variable declaration and keywords and a methodical conversion approach.

Executive Summary • Environment division. CIOs facing the rising challenges of higher total • Data division. cost of operations (TCO) of HP NonStop Tandem • Procedure division. systems need to find alternatives.1 The bulk of applications created for these HP systems use Also included is a case study that offers insights the Cobol . IBM z/OS into compilation issues found when recompiling mainframes provide an alternative with stability an HP Tandem COBOL program on the IBM z/ and reliability similar to the HP NonStop OS mainframe COBOL Enterprise compiler. The Tandem systems. However, migrating Cobol paper concludes by assessing various conversion applications written for HP Tandem to IBM approaches and tools. mainframes is fraught with and is often time-consuming. Not covered is the use of Screen COBOL (SCOBOL) language to find differences. The SCO- This white paper delves into recent versions BOL language on HP Tandem is similar to Cobol of Cobol on both systems and provides a and is used to generate graphical user-based comprehensive listing of code differences and interfaces. In addition, we do not tackle embed- similarities. The aim is to provide all the relevant ded SQL programming. information CIOs and application developers need when considering migrating from HP Program and Format Tandem to the IBM z/OS mainframe. Figure 1 (on next page) illustrates the difference between the HP Tandem and IBM Cobol reference The differences and similarities covered include: format. • Program organization and format. • Identification division.

cognizant 20-20 insights | june 2013 Organization of the Two Reference Formats

Tandem Reference Format IBM Reference Format

Margin: CA BR1 234567 8910 11 12 13 … 71 72 Sequence Area Area A Area B Indicator Area

Column: 12345678910…nxxn<= 132

Area A Area B Indicator Area

Line

Figure 1

The differences can be summarized as shown in Configuration Section Figure 2. This optional section can be used to describe the computer environment on which the program is Identification Division compiled and executed. Figure 4 (on next page) Identification division must be the first division compares the paragraph of the configuration in each Cobol source program. It names the pro- section. gram, the date of compilation and other docu- mentary information (see Figure 3, on next page). Input-Output Section Figure 5 (on page 4) compares the paragraph of Environment Division the input-output section. Environment division is optional. It contains two sections, namely CONFIGURATION and The function of the FILE- paragraph is INPUT-OUTPUT. described in detail below.

Summary of Differences in the Two Formats

HP Tandem COBOL IBM z/OS Enterprise COBOL Number of columns where code lines are Number of columns where code lines are accepted is 72. accepted is 132. There is no area known as “Sequence Number The first six columns are taken as “Sequence Number Area” Area.” which is used to label a source statement line. The indicator area begins at column 1. It can be The indicator area begins at column 7. It can be empty or empty or it can contain a single character that it can contain a single character that describes the type of describes the type of information on the line. information on the line. ? Compiler directive * Ordinary comment * Ordinary comment / Comment for top of next page / Comment for top of next page Debugging line D Debugging line d Debugging line d Debugging line - Continuation line - Continuation line Space Text line Space Text line There is no distinction made between Area A Specific items must begin in Area A. and Area B. • Division headers • Section headers • Paragraph headers or paragraph names • Level indicators (FD and SD) or level-numbers (01 and 77) • DECLARATIVES and END DECLARATIVES

Specific items must begin in Area B. • Entries, sentences, statements and clauses • Continuation lines

Figure 2

cognizant 20-20 insights 2 Identification Divisions: Defined and Compared

PARAGRAPH HP Tandem COBOL IBM z/OS Enterprise COBOL PROGRAM-ID Present. Provides an optional clause of The paragraph specifies the name by which RECURSIVE to recursively enter a the program is known and assigns selected program while previous invocation program attributes to that program. is still active. AUTHOR Present and similar in both versions. Name of the author of the program. INSTALLATION Name of the company or location. DATE-WRITTEN Date the program was written. DATE-COMPILED Date the program was compiled. SECURITY Level of confidentiality of the program.

Figure 3

The Paragraph uses the SELECT clause to connect Figure 6 (on page 5) summarizes the File-Entry an operating file name to Cobol file name. clause for both HP Tandem COBOL and IBM z/OS The various files possible along with the detailed Enterprise COBOL. As seen, the is clause such as ASSIGN, ORGANIZATION, ACCESS the same in both versions; wherever differences MODE, RECORD KEY, etc. are described. are present on Enterprise COBOL, they have been marked with a dark gray background. The ASSIGN clause associates the name of a file in a program with the actual external name The SORT-MERGE file is not mentioned here of the data file. The #DYNAMIC used in Tandem as the handling for them is the same in both COBOL cannot be used in Enterprise COBOL; versions of Cobol dialect. instead an alphanumeric literal must be men- tioned. During the execution of the program, a Data Division job control language (JCL) assignment by the use The Data division is the place where all variables of data dictionary (DD) and data source name to be used in the program are defined at various (DSN) commands takes care of assigning the levels, namely from 01-49, 66, 77 and 88. The external name of the file. The PASSWORD clause level has similar meaning in both the HP Tandem is present only in Enterprise COBOL which COBOL and IBM z/OS Enterprise COBOL. controls access to files.

Configuration Section Paragraphs: Defined and Compared

PARAGRAPH HP Tandem COBOL IBM z/OS Enterprise COBOL SOURCE-COMPUTER The syntax is similar in both the versions of Cobol. The paragraph describes the computer on which the source text is to be compiled. OBJECT-COMPUTER An additional clause of “CHARACTER- The syntax is similar to HP The paragraph specifies the SET” is present which enables it to Tandem COBOL with the system for which the object specify the national character set absence of “CHARACTER- program is designated. defining the ALPHABETIC data class. SET” clause. SPECIAL-NAMES An additional “SYSTEM-NAME” “SYSTEM-NAME” clause is The paragraph assigns user- clause having values of CONSOLE, absent. defined names to certain MYTERM, CHANNEL-1 through More options available to aid system-name parameters. CHANNEL-2 is available. in object-oriented program development.

Figure 4

cognizant 20-20 insights 3 The Data division is optional. It contains four can be found in the respective COBOL manuals optional sections on HP Tandem COBOL. (mentioned in the reference section). • FILE. • WORKING-STORAGE. Declarative Section • EXTENDED-STORAGE. Declaratives provide one or more special-purpose • LINKAGE. sections that are executed when an exceptional condition occurs on a program file. Each declara- The EXTENDED-STORAGE section is specific to HP tive section starts with a USE statement that Tandem COBOL, wherein variables will exceed the identifies the section's function. The series of 64KB boundary. This section is completely absent procedures that follow specify the actions that in IBM z/OS Enterprise COBOL which has a section are to be taken when an exception occurs. Each named LOCAL-STORAGE which is not a replace- declarative section ends with another section- ment of the EXTENDED-STORAGE. Figure 7 name followed by a USE statement or with the (on page 6) describes more of the Cobol sections. keywords END DECLARATIVES.

The data-types of NATIVE-2, NATIVE-4 and The USE statement has three formats in which NATIVE-8 available on HP Tandem COBOL are not the EXCEPTION/ERROR and DEBUGGING declara- available on IBM z/OS Enterprise COBOL. These tives are similar in both HP Tandem COBOL and data types will be replaced by corresponding IBM z/OS Enterprise COBOL. The LABEL declara- signed numeric data types on IBM z/OS Enter- tive is present only in Enterprise COBOL. prise COBOL. In addition, there are options for double byte character set (DBCS) type literals Statements which are specific to IBM z/OS Enterprise COBOL. There are many statements present in HP Tandem COBOL but not on IBM z/OS Enterprise COBOL, Procedure Division and vice versa. They are divided into imperative Procedure division is the place where Cobol verbs and conditional types. and statements carry out the business logic determined for the program. This section details • Imperative statements: This either specifies the verbs and word names only; a detailed syntax an unconditional action to be taken by the

Input-Output Section Paragraphs: Defined and Compared

PARAGRAPH HP Tandem COBOL IBM z/OS Enterprise COBOL FILE-CONTROL The Paragraph is present in both versions and is described in detail A file-control entry connects an in the text on pages 2 and 3. operating system file name to a Cobol file name, specifies the file’s organization and keys and provides additional information needed for input and output. I-O-CONTROL The Paragraph is similar in both versions. The one difference is that The optional I-O-CONTROL Enterprise COBOL contains APPLY WRITE-ONLY Clause. paragraph specifies positioning information for a tape file or the sharing of a memory area by more than one file. RECEIVE-CONTROL The Paragraph is specific to HP The Paragraph is absent as Tandem COBOL by which the inter- the $RECEIVE concept is not process message (IPM) communica- available. An alternative to the tion known as $RECEIVE is enabled. online category of programs The reading of $RECEIVE is not is possible by use of customer mandatory for the batch category information control system of programs whereas it’s mandatory (CICS) calls and IBM’s message for the online category of programs queue (MQ) mechanism. that deal with user interaction.

Figure 5

cognizant 20-20 insights 4 program or is a conditional statement termi- > SUBTRACT > USE nated by its explicit scope terminator. > UNSTRING > WRITE

The following statements are available in both The statements present only on HP Tandem HP Tandem COBOL and Enterprise COBOL: COBOL are shown in Figure 8 (on page 7). > INITIALIZE The statements present only in Enterprise COBOL: > ACCEPT > INSPECT > ADD > MERGE > ENTRY > ALTER > MOVE > EXIT PROGRAM > CALL > MULTIPLY > GOBACK > CANCEL > OPEN > INVOKE > CLOSE > PERFORM > XML GENERATE > COMPUTE > READ > XML PARSE > CONTINUE > RELEASE > COPY REPLACE > Conditional statements: The conditional > DELETE RETURN • > statement specifies that the truth value of > DISPLAY > REWRITE a condition is to be determined and that the > DIVIDE > SEARCH subsequent action of the object program is > ENTER > SET dependent on this truth value. > EVALUATE > SORT > EXIT > START All the conditional statements present on HP > GOTO > STOP Tandem COBOL are present on Enterprise > IF > STRING COBOL. The additional ones on Enterprise COBOL are noted below. File-Entry Clauses

CLAUSE SEQUEN- QSAM/ LINE SE- LINE SE- RELATIVE VSAM INDEXED VSAM TIAL VSAM QUENTIAL QUENTIAL SELECT Required Required Required Required ASSIGN Required Required Required Required RESERVE Optional Optional NA Optional Optional ORGANIZATION Optional Optional - Line Required - Required - (Default Sequential Relative Indexed SEQUENTIAL) PADDING Optional NA NA NA CHARACTER Not applicable RECORD Optional NA NA NA DELIMITER ACCESS MODE Sequential Sequential Sequential Sequential Random Random Dynamic Dynamic RECORD KEY NA NA NA Required RELATIVE KEY NA NA Optional if access NA mode is sequential. Required for Ran- dom and Dynamic access modes. ALTERNATE Optional NA NA Optional NA Optional RECORD KEY PASSWORD Optional NA Optional Optional FILE STATUS Optional Optional Optional Optional

Note: QSAM = Queue Sequenced Access Method, VSAM = Virtual Sequenced Access Method Figure 6

cognizant 20-20 insights 5 > XML GENERATE ... ON EXCEPTION Figurative Constants > XML GENERATE ... NOT ON EXCEPTION Figurative constants are reserved words that > XML PARSE ... ON EXCEPTION name and refer to specific constant values. The > XML PARSE ... NOT ON EXCEPTION constants NULL and NULLS are available only > INVOKE ... ON EXCEPTION in Enterprise COBOL and not in Tandem COBOL. > INVOKE ... NOT ON EXCEPTION All other constants are the same in both versions.

Reserved Words Common Phrases A reserved word is a character string with a The following phrases common to arithmetic and predefined meaning in a Cobol source unit. In data manipulation statements are used similarly addition to the similar keywords, there are some in both HP Tandem COBOL and Enterprise COBOL: keywords that are specific to HP Tandem COBOL and Enterprise COBOL which are mentioned > CORRESPONDING in Figure 9 (on page 8). It needs to be checked > GIVING in programs for conversion . > ROUNDED > SIZE ERROR > FROM > INTO

Data Division Sections: Defined and Compared

SECTION HP Tandem COBOL IBM z/OS Enterprise COBOL FILE The section syntax is similar in Syntax is similar. The section identifies a both versions, with an additional An additional clause of “RECORDING file and the various layouts clause of “REPORT” which is not MODE” having value of F (Fixed), by which the file can be present in Enterprise COBOL. V (Variable), U (Fixed/Variable) or accessed. It is also possible to ASSIGN a file S (Spanned) for a QSAM file. to the DEFINE name parameter Assigning a file to the DEFINE which is passed onto the program. name parameter is not possible. WORKING-STORAGE Usage of the section is similar in IBM z/OS allows a limit of The various variables used both versions. 134,217,727 bytes which is higher than to perform the business HP limits the size of variable in the the total of WORKING-STORAGE and functionality in the program section to 63,400 bytes, above which EXTENDED-STORAGE sections on are declared and, if required, the variables must be declared in the HP Tandem COBOL. defined as well. EXTENDED-STORAGE section, which has a limit of up to 133,693,440 bytes. There’s also a binder limit of 32767 words on the total WORKING-STOR- AGE memory of all bound COBOL programs. EXTENDED-STORAGE The section is used when variables The section is absent. The section is required in cannot be fit in the WORKING-STOR- case the variable size is too AGE section. big to fit in the WORKING- STORAGE section. LINKAGE The section usage is similar in both the versions. The section is used in case the program is going to call and pass on parameters to other modules. LOCAL STORAGE Not present. The section is used to create recur- The section is used to create sive programs. The data-variables recursive programs. declared in this section are initialized on each invocation of the recursion, thereby insulating different instances. A program not containing this section can’t be recursive and an attempt leads to run-time system error.

Figure 7

cognizant 20-20 insights 6 Intrinsic Functions The following intrinsic functions are present only An intrinsic function is a function that a program on Enterprise COBOL: can use without needing to declare or code it explicitly in the program. It returns a value that > DATE-TO-YYYYMMDD is computed at the time of reference during the > DATEVAL execution of the object program. > DAY-TO-YYYYDDD > DISPLAY-OF The following intrinsic functions are available > NATIONAL-OF both in Enterprise COBOL and in Tandem COBOL. > UNDATE The functions themselves are explained in > YEAR-TO-YYYY detail in their respective manuals listed under the > YEARWINDOW reference: Availability and Performance > ACOS > MIDRANGE HP NonStop Tandem’s availability statistics > ANNUITY > MIN and performance (ASAP) product monitors the > ASIN > MOD HP Tandem operating system and application > ATAN > NUMVAL . The related calls can be coded in > CHAR > NUMVAL- programs to gain insights into critical applica- > COS > ORD tions running on HP NonStop Tandem systems. > CURRENT-DATE > ORD-MAX This investigation enables users to plan for the > DATE-OF-INTEGER > ORD-MIN infrastructure growth as required. > DAY-OF-INTEGER > PRESENT-VALUE > FACTORIAL > RANDOM Tivoli can be used to measure current > INTEGER > RANGE response times of programs running on IBM > INTEGER-OF-DATE > REM z/OS for good and bad transactions, the use > INTEGER-OF-DAY > REVERSE of resources, amount of MQ messages and > INTEGER-PART > SIN DB2 calls. > LENGTH > SQRT > WHEN-COMPILED > STANDARD- Based on further investigations, a product similar > LOG DEVIATION to ASAP – Application Performance Analyzer2 – > LOG10 > SUM exists on the IBM platform. > LOWER-CASE > TAN > MAX > UPPER-CASE Transaction Facility > MEAN > VARIANCE The HP NonStop Tandem transaction manage- > MEDIAN ment facility (TMF) product furnishes transac- tion protection, database consistency and data-

HP-Only Imperative Statements

Statements HP Tandem COBOL IBM z/OS Enterprise COBOL CHECKPOINT The statements are used to develop Such fault-tolerant programming STARTBACKUP fault-tolerant programs known as is not available. SYNCDEPTH phrase of OPEN Nonstop Process pairs. FREE ALLOCATE LOCKFILE The statements are used to LOCK The option to LOCK/UNLOCK a file UNLOCKFILE and UNLOCK the accessibility of a exists by use of JCL statements. But UNLOCKRECORD file during the program execution. the locking is applicable throughout the execution of the program and not on an as-needed basis, which is available on HP Tandem COBOL. USING and GIVING Phrase The statement is used to perform The statement is not available. The of ENTER statement mixed-language programming wherein CALL statement is used to perform sources in languages other than Cobol the mixed-language programming. are called within Cobol programs.

Figure 8

cognizant 20-20 insights 7 base recovery critical in high-volume transaction of a DB2 thread which encapsulates all the processing. It sustains high performance for transactions till a COMMIT statement is used online transaction processing (OLTP) applica- to finalize the transaction onto the database. tions, as well as online query processing (OLQP) The similar action is available on the HP activities, batch processing applications and Tandem COBOL by the use of TMF-based calls decision-support systems. of BEGINTRANSACTION, ENDTRANSACTION and ABORTTRANSACTION. • Database consistency: On the IBM z/OS Enterprise COBOL, an invocation of a pro- • Restart mechanism: This mechanism is a gram unit containing DB2 leads to a starting methodology to ensure transactions in a large

Key Words Specific to Respective COBOL Versions

Key words present only Key words present only Key words present only Key words present only in HP Tandem COBOL in Enterprise COBOL in HP Tandem COBOL in Enterprise COBOL APPROXIMATE BASIS PLUS SHIFT-IN CD BEGINNING PRINTING SHIFT-OUT CF CBL PROGRAM-STATUS SKIP1 CH CLASS-ID PROGRAM-STATUS-1 SKIP2 CHARACTER-SET COM-REG PROGRAM-STATUS-2 SKIP3 CHECKPOINT COMP-1 PROMPT SORT-CONTROL CLOCK-UNITS COMP-2 PROTECTED SORT-CORE-SIZE COLLATING COMP-4 PURGE SORT-FILE-SIZE COLUMN COMPUTATIONAL-1 QUEUE SQL COMPUTATIONAL-2 RD TITLE CONTROL COMPUTATIONAL-4 RECEIVE TRACE CONTROLS DBCS RECEIVE-CONTROL WHEN-COMPILED DE DISPLAY-1 REPLY WRITE-ONLY DESTINATION EGCS REPORT ZEROS DETAIL EJECT REPORTING XML DISABLE FUNCTION-POINTER REPORTS XML-CODE EGI GOBACK RF XML-EVENT EMI GROUP-USAGE RH XML-NAMESPACE ENABLE ID SEGMENT XML-NAMESPACE- EXCLUSIVE INHERITS PREFIX EXTENDED-STORAGE INVOKE SEND XML-NNAMESPACE FINAL JNIENVPTR SHARED XML-NNAMESPACE- PREFIX GENERIC KANJI SOURCE XML-NTEXT GROUP LOCAL-STORAGE STARTBACKUP XML-SCHEMA GUARDIAN-ERR METHOD SUB-QUEUE-1 XML-TEXT HEADING METHOD-ID SUB-QUEUE-2 INDICATE MORE-LABELS SUB-QUEUE-3 INITIATE OBJECT SUM LAST OVERRIDE SYNCDEPTH LIMIT PROCEDURE-POINTER TAL LIMITS PROCESSING TERMINAL LINE-COUNTER READY TERMINATE LOCKFILE RECORDING TEXT MESSAGE RELOAD UNLOCK NUMBER RETURN-CODE UNLOCKFILE PAGE-COUNTER RETURNING UNLOCKRECORD PF SELF PH SERVICE

Figure 9

cognizant 20-20 insights 8 data file are processed only once when a pro- The suggested option is to create the speci- cess failure is identified. This is possible in both fications of the business logic which need to HP Tandem COBOL and IBM z/OS Enterprise be migrated to IBM and then do the develop- COBOL by use of appropriate programming. ment of the necessary logic on IBM z/OS from scratch by use of CICS and Cobol by using MQ Compiler Directives as the message between the user GUI The compiler directive is the word that directs and COBOL program. the compiler to perform a certain action when the program is being compiled to create the final The rationale behind the suggested option: runnable object. Both Cobol versions provide the option to enable this action in different manners. > The SCOBOL code is very different than CICS and hardly any similarities can be The directive “?SOURCE” is heavily used in HP found. Tandem COBOL to source-in different modules or > The handling of user interaction in SCOBOL a data dictionary. An alternative for “?SOURCE” is very different than CICS and automated is achieved by entering “BASIS” on the IBM z/OS conversion is not feasible. Enterprise COBOL. • Application with batch programs only: This The directives “?LIST ?NOLIST ?PAGE” have approach works with systems heavily driven similar meanings on both HP Tandem COBOL and by the use of Cobol programs that provide the IBM z/OS Enterprise COBOL. business logic in batch mode and where the concept of IPM is rarely used. The suggested The processing accomplished by directives of option is to create the conversion specifica- “?CONSULT” and “?SEARCH” is possible on IBM tions known as language conversion program z/OS Enterprise COBOL by use of JCL scripting (LCP) and use the CCCA tool for automated statement of STEPLIB which enables a program conversion. A certain minimum level of manual to use information from a library of load modules. conversion may still be required.

The directives listed below have no alternative on The rationale behind the suggested option: IBM z/OS Enterprise COBOL: > A lot of similarities exist which can be lever- HEADING, SAVE, INSPECT, SYMBOLS, ICODE, aged to have an automated conversion of HEAP, SAVEABEND, ANSI, TANDEM, IF, ENDIF, batch programs. IFNOT, SETOG PORT, NONSTOP, SECTION, NOB- > An automated approach will enable enter- LANK prises to reduce the development cost.

Conclusion • Application with a combination of both types of programs: The conversion approach Based on the investigations using a sample HP depends on the ratio of online to batch Tandem COBOL program converted into Enter- programs present in the application. prise COBOL by the use of Cobol and CICS/VS Command Level Conversion Aid (CCCA) tool, the The more online programs present in the following conclusions were reached: application, the more the option suggested for online-only programs should be used. Application with online programs only: • The same rationale also applies when the Such an application is heavily driven by use application is laden with batch programs and of SCOBOL requestor programs interact- fewer online programs are present. ing with a Cobol server which provides the business logic.

cognizant 20-20 insights 9 Quick Take Cobol Compilation at a Global Banking Major At a Netherlands-based with worldwide operations, an exercise to check the feasi- bility of migrating Cobol applications from HP to IBM was performed to select a future IT platform for building current account and payment engine applications.

Business Situation Challenges and Actions Taken To identify the modifications required for • Creating a sample Cobol program on the ensuring correct compilation of HP Tandem HP Tandem system using many of the COBOL on the IBM z/OS system. Cobol functions, statements, etc. • Ensuring correct compilation on the HP Tandem system and then aligning the code correctly for compilation using the IBM z/OS Enterprise COBOL compiler. • Compile the code on the IBM z/OS system and identify the errors received and actions to overcome them.

Benefits The following is a comprehensive table indicating the actions to be taken on treating the possible compi- lation errors that can occur on compiling a HP Tandem Cobol program on an IBM z/OS system.

HP Tandem COBOL Code Errors Received Replacement in Enterprise COBOL Snippet SELECT FILE1 ASSIGN Non-COBOL character(s) were The #DYNAMIC is not used in TO #DYNAMIC found starting with "#" in Enterprise COBOL; instead, an alpha- ENTER "COBOLASSIGN" column 44. The characters numeric literal must be mentioned. USING were discarded. "DYNAMIC" During the execution of the program, was found in the "ASSIGN" a JCL assignment by use of DD and clause. The clause was dis- DSN commands takes care of assign- carded. ing the external name of the file. The ENTER "COBOLASSIGN" statement is not required. ?NOLIST A character other than The compiler directives must not "*", "D", "/" or "-" was start with “?”. found in column 7. A blank was assumed. "NOLIST" should not begin in area "A". It was processed as if found in area "B". "NOLIST" was invalid. Scan- ning was resumed at the next area "A" item, level-number or the start of the next clause. 02 Y NATIVE-2 "NATIVE-2" was invalid. Scan- Replace the NATIVE-2 with picture ning was resumed at the next clause PIC S9(4). area "A" item, level-number, or the start of the next clause.

cognizant 20-20 insights 10 SELECT FILE5 ASSIGN A "RECORDING MODE" of "F" The “RECORDING MODE” clause is TO FILE5 was assumed for file "FILE5". mandatory option for Sequential/ ORGANIZATION IS QSAM files. SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS FST-FILE5. FD FILE5. 01 FILE5-REC. 03 FILE5-ID. 05 FIELD-5 PIC X(06). 05 TEST-9 PIC X(35). 05 TEST-10 PIC X(80). SELECT FILE1 ASSIGN "RELATIVE KEY" "KEY- The Relative Key must not be a TO FILE1 FILE1" was not defined as an signed integer. ORGANIZATION IS RELA- unsigned integer data item. TIVE The key was discarded. ACCESS MODE IS RANDOM RELATIVE KEY IS KEY-FILE1 FILE STATUS IS FST-FILE1. 01 KEY-FILE1 PIC S9(6) COMP. MOVE FUNCTION ACOS (-1) Numeric function "NUMERIC For Numeric and Integer Intrinsic TO MF-A FUNCTION ACOS" was not functions, MOVE is not allowed. allowed in this context. The A COMPUTE statement must be statement was discarded. mentioned. MOVE CORRESPONDING No "CORRESPONDING" The subordinate data items present W-ADD-GR-1 TO W-ADD-GR-2 operands were found. in the group data items must be of ADD CORRESPONDING The statement had no effect. the same name. W-ADD-GR-1 TO W-ADD-GR-2 01 W-ADD-GR-1. 03 W-GR1 PIC 9(02). 03 W-GR2 PIC 9(02). 01 W-ADD-GR-2. 03 W-GR3 PIC 9(02). 03 W-GR4 PIC 9(02). OPEN INPUT FILE1 SHARED "SHARED" was not defined The options of SHARED/PROTECTED/ as a file-name. The statement EXCLUSIVE are not available in Enter- was discarded. prise COBOL. It needs to be taken care by use of JCL statements. START FILE4 KEY = TEST-8 "GENERIC" was invalid. The options of GENERIC, EXACT, OF FILE4-ID OF FILE4-REC Skipped to the next verb, APPROX mode to position a key to GENERIC period or procedure-name read a record are not available. definition.

Further Steps A more complicated program containing all the elements possible in an HP Tandem COBOL Program to be compiled on both the systems to find ways to overcome more compiler errors on the IBM z/OS system.

cognizant 20-20 insights 11 Footnotes 1 Ian Bramley, “Declining HP Integrity NonStop Far Outclassed by IBM System z10 Mainframe,” Enterprise e-Infrastructure Analysis, September 2009, ftp://public.dhe.ibm.com/common/ssi/rep_ wh/n/ZSL03066USEN/ZSL03066USEN.PDF.

2 Product information, IBM site, http://www-03.ibm.com/software/products/fr/fr/apa/.

References • HP Nonstop Tandem COBOL Reference manuals, http://bizsupport2.austin.hp.com/bc/docs/support/ SupportManual/c02121195/c02121195.. • IBM z/OS Enterprise COBOL Reference manuals, http://pic.dhe.ibm.com/infocenter/pdthelp/v1r1/ topic/com.ibm.entcobol.doc_4.2/PGandLR/igy3pg50.pdf.

About the Authors Ameen Abbas is an Associate within Cognizant’s Banking and Financial Services Business Unit. He has over five years of application-building experience with Cobol and the C programming language across the complete SDLC lifecycle. His areas of expertise include rationalization and designing, building and deploying banking applications for European financial institutions. He holds a bachelor of engineering degree in from Anna University affiliated college in India. Ameen can be reached at [email protected]. Linkedin http://www.linkedin.com/in/ameenabbas.

Janani Karunanithi is an Associate within Cognizant’s Banking and Financial Services Business Unit. She has over five years of application-building experience with Cobol and the C programming language for European banks across the complete SDLC lifecycle. Her areas of expertise include current account engine enhancement, functional requirements gathering and designing, building and deploying banking applications for European financial institutions. She holds a bachelor of engineering degree- inelec tronics and communication from Anna University affiliated college in India. Janani can be reached at [email protected]. Linkedin http://in.linkedin.com/pub/janani-karunanithi/17/23b/991.

Thilakam Ponnuraj is an Associate within Cognizant’s Banking and Financial Services Business Unit. She has over five years of application-building experience using the Cobol programming language for European banks and has been involved in the complete SDLC lifecycle. Her areas of expertise include payment engine enhancement, functional requirements rationalization and designing, building, deploy- ing and providing third-line support of banking applications for European banks. She holds a bache- lor of engineering degree in electronics and communication from Anna University affiliated college in India. Thilakam can be reached at [email protected]. Linkedin http://www.linkedin.com/pub/ thilakam-ponnuraj/50/a23/502.

Meenakshi Sundaram Arunachalam is a Senior Manager within Cognizant’s Banking and Financial Services Business Unit. He has 13-plus years of experience as solution and HP Tandem NonStop technical architect for domestic and cross-border payments . His areas of expertise involve pre-sales, payment engine application designing, building, deploying and large scale management. He holds a master of computer applications degree from Madurai Kamaraj University in India. Meenakshi can be reached at [email protected]. Linkedin http://www. linkedin.com/pub/meenakshi-sundaram-arunachalam/4/116/193.

Rammurthy Mudaliar is a Senior Associate within Cognizant’s Banking and Financial Services Business Unit. He has eight-plus years of experience in application building with Cobol, TAL and C languages for European banks using Wallstreet Systems’ Atlas/GBS product suite. His areas of expertise involve designing, building, deploying, third-line support and project management for FX, money-market, treasury and cross-border payments applications involving a globally distributed team. He holds a bach- elor of engineering degree in electronics from Mumbai University. He can be reached at Rammurthy. [email protected]. Linkedin http://www.linkedin.com/pub/rammurthy-mudaliar/19/2a2/27b.

cognizant 20-20 insights 12 About Cognizant

Cognizant (NASDAQ: CTSH) is a leading provider of information technology, consulting, and outsourcing services, dedicated to helping the world’s leading companies build stronger . Headquartered in Teaneck, New Jersey (U.S.), Cognizant combines a passion for client satisfaction, technology innovation, deep industry and business process expertise, and a global, collaborative workforce that embodies the future of work. With over 50 delivery centers worldwide and approximately 162,700 employees as of March 31, 2013, Cognizant is a member of the NASDAQ-100, the S&P 500, the Forbes Global 2000, and the Fortune 500 and is ranked among the top performing and fastest growing companies in the world.

Visit us online at www.cognizant.com for more information.

World Headquarters European Headquarters India Operations Headquarters 500 Frank W. Burr Blvd. 1 Kingdom Street #5/535, Old Mahabalipuram Road Teaneck, NJ 07666 USA Paddington Central Okkiyam Pettai, Thoraipakkam Phone: +1 201 801 0233 London W2 6BD Chennai, 600 096 India Fax: +1 201 801 0243 Phone: +44 (0) 207 297 7600 Phone: +91 (0) 44 4209 6000 Toll Free: +1 888 937 3277 Fax: +44 (0) 207 121 0102 Fax: +91 (0) 44 4209 6060 Email: [email protected] Email: [email protected] Email: [email protected]

­­© Copyright 2013, Cognizant. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the express written permission from Cognizant. The information contained herein is subject to change without notice. All other trademarks mentioned herein are the property of their respective owners.