![]() |
Enterprise COBOL Differences
| Duration: 2 days |
| Participants: Experienced COBOL programmers who are developing and maintaining Enterprise COBOL for z/OS or OS/390 application programs. |
|
Objectives:
Upon successful completion of this course you will be able to:
- Use the newest features of Enterprise COBOL, COBOL for OS/390, and COBOL/370, except for OO programming. - Code JCL compiler and run time options best suited to the program and operating system. |
|
Overview:
- Many new COBOL compilers have been released by IBM over the last two decades, and often, COBOL programmers do not know how to take advantage of new, time-saving coding features and expanded capabilities. Since COBOL II (released at the end of 1985), there has been COBOL/370 (now called COBOL for MVS and VM), COBOL for OS/390, and the latest, Enterprise COBOL for z/OS. This course includes most of the many new features of these compilers, as well as tips for writing efficient and maintainable COBOL code. Additionally, add-on products increasingly require COBOL programs be upgraded to z/OS COBOL. This course can fast-track developers involved in that process. - This course has quite a bit of material. Students must already have a strong background in COBOL. All workshops are at the instructor’s discretion and will be assigned based on the experience level and needs of the participants. Sites wishing that all workshops be assigned should allow two (2) days for this course. - Separate courses are available for COBOL and VSAM, COBOL and DB2, COBOL and CICS, COBOL and IMS, COBOL and UNIX, COBOL Debugging, and z/OS Debug Tool for COBOL. |
| Prerequisites: Programming experience in any version of COBOL, as well as knowledge of basic MVS JCL and ISPF, is required. |
| Format: Lecture and discussion with hands-on computer workshops. Throughout the course, students perform many hands-on workshops and coding exercises to reinforce material presented in lectures. The student text includes many COBOL coding examples. |
|
Topic Outline:
- Enterprise COBOL Differences Objectives Names for COBOL Enterprise COBOL and LE Manuals New Compiler and Runtime Enterprise COBOL Highlights Enterprise COBOL Performance Enterprise COBOL Changes Enterprise COBOL Change Specifics Removed / Different from COBOL II Review: New in VS COBOL II ANSI and ISO - Obsolete Elements Enterprise COBOL Performance - Data Definition Changes USAGE IS Clause Big Decimal Numbers - 31 Digits Big Binary - Comp-5 and TRUNC(BIN) TRUNC(BIN) and COMP-5 Change in 88 Behavior Currency Signs Currency Symbols - Intrinsic Functions Intrinsic Functions Intrinsic Function (Categories / Types) Intrinsic Function Arguments Alphanumeric Functions Numeric Functions Integer Functions National Functions Intrinsic Function Examples Using CURRENT-DATE Function CURRENT-DATE Function Example Integer Dates Date Conversion Function Formats Integer Date Function Examples Date Subtraction Example Get Current Julian Date Example Arithmetic Functions Numeric Intrinsic Function Example FUNCTIONAL NUMVAL and NUMVAL-C Simplifying Data Validation and De-edit Integer Truncation Functions Reference Modifiers and Functions FUNCTION LENGTH vs LENGTH OF Benefits and Disadvantages of Intrinsic Functions - Advanced Table Handling ALL Subscripting ALL Subscript Example SUM with ALL FUNCTION MEDIAN Example FUNCTIONs ORD, ORD-MIN, ORD-MAX ORD-MAX, ORD-MIN Example MEDIAN and SUM with ALL Example Table Tips and Examples - Compiler and LE RT Options Enterprise COBOL Compiler Options New Compiler Options to Enterprise COBOL Compiler Options Added with IBM COBOL CICS Compiler Option - New to Enterprise COBOL DB2 without Precompile Compile Parameter Changes New DD Statements: COMPILE Step JCL PARMS for LE and COBOL LE Runtime Options since IBM COBOL LE Options Reports Storage and Addressability Storage and Addressability: COMPILE RENT - Reentrant Compiler Option RMODE and RENT Storage and Addressability: Runtime DATA(31 | 24) Compiler Option and HEAP Runtime Option Additional Features Unicode and DB2 Enhancement BootStrap and Mixed Language Levels LE AMODE(31) Run-Time Options LE AMODE(64) Run-Time Options (Not for COBOL) - LE - Language Environment LE Manuals LE Callable Services Format LE Condition Code Returned Calling an LE Service Example Some LE Callable Services LE Callable Services - Date Handling Date Service Notes Focus on Some Key Date Services LE CALLable Service Date Example LE Date Subtraction Example LE Sliding Century Window Sliding Century Example LE Date CALLs - CALLing Subprogram Call and Related Code Review Traditional COBOL - Passing Data BY REFERENCE Review Call…BY CONTENT (COBOL II) Passing Data BY VALUE Passing Data Example Receiving Data in Subprogram Test for OMITTED Arguments Z – Null-Terminating Literals Manipulating Null-Terminated String RETURNING Phrase Example Types of Pointers CALL RETURNING Pointer Example SET (Format #6) for Pointers SET Pointer Rules Which Pointer Type to Use Nulls and Pointers Program-ID Changes Program Name Alert - Error Handling and Recovery Trapping Errors Error Recovery CALL Abend Review: Error Handling Techniques Review: Debug Compiler Options Traditional Debugging Techniques WITH DEBUGGING MODE Example Declaratives Example Handling Errors with LE LE Condition Example - EXCOND, DIVZERO - Debugging and Dump Reading Common LE Terms Abbreviated Terms COBOL Program that Abended CEEDUMP Example Debug Tool - Version 3 Release 1 LookAt - Look Up Messages - DFSMS Program Management Binder z/OS DFMS Program Management Program Management Binder Functionality - DDLs - Dynamic Link Libraries DLL Concept DLL vs. Dynamically CALLed Load Module DLL Preparation Compile to Create a DLL Linking DLLs DLL Definition Side File DLL Compile and Link Example DLLs COBOL DLLs and C/C++ Programs Dynamic CALLs vs DLLs DLL Names Search ORDER for DLLs in HFS - XML Parsing and Generation XML Parsing Well-Formed XML - Valid XML Well-Formed XML Example Not Well-Formed XML Example Processing XML Events XML PARSE Statement Example XML-HANDLER Paragraph Example XML-EVENT XML-CODE XML-TEXT XML-NTEXT Parsing Events Converting XML to COBOL Data Items Converting Strings to Numbers Example Gotcha's XML PARSE - Error Handling Generating XML Documents from COBOL Generating XML Output Example XML Generation Tips REPLACE Example XML GENERATE - Error Handling XML PARSE and DTDs and Schemas XML GENERATE Alternatives - Code Pages, CCSIDs, and Unicode Code-page-sensitive Characters in XML The Default Compiler CODEPAGE Changing to CODEPAGE 1047 CODEPAGE(1140) Compiler Option Conversion Image for COBOL Unicode Unicode Support Unicode and DB2 Enhancement COBOL Character Encoding Units NSYMBOL (National / DBCS) National (Unicode UTF-16) Version 3 Release 4 Improvements DBCS Literals SHIFT-OUT and SHIFT-IN - OO COBOL, Java, Unix, and Multithreading OO COBOL OO COBOL Program Preparation OO Syntax for Java Interoperation OO COBOL for Java Interoperation COBOL with HFS and Unix Support cob2 and UNIX cob2 to Compile under UNIX New OO COBOL Features OO COBOL Instructions Class Definitions in COBOL Define Instance Data in WS Instance Methods DATA DIVISION Getter Method Example Compiling OO Apps using JCL or TSO/E Java Support Sun's JVM vs IBM's VM Multihreading Support Multithreading and Multitasking COBOL Java Interlanguage Interoperability To Access JNI Services COBOL and EJBs - Enhanced DB2 and CICS Support Additional CICS and DB2 Features DB2 Coprocessor/SQL Compiler Option Integrated CICS Translator ANALYZE / ADATA with COBOL CICS / DB2 CICS Support for ACCEPT / DISPLAY CICS CLER Transaction JCICS - Storage with LinkList Example LinkList - Storage Example - Compiler and Runtime Migration Useful Book Do I need to recompile? RT (Runtime) Migration Source Migration Link-editing Requirements Linking Debug Tool, Version 3 Release 1 New Terminology with Version 3 Release 4 First - Inventory Your Applications Migration Strategies Migrating Old COBOL Code Combining Old Code with Enterprise COBOL Programs COBOL II RT Option Changes LE Storage STORAGE Values - Replace WSCLEAR with STORAGE CMPR2 Compiler Option CMPR2 Compile Option VS COBOL II - CICS and RENT NORES Compiler Option DATA(31) Storage Allocation Changes DIAGTRUNC Compiler Option Migrating SORT / MERGE Migrating SEARCH ALL to Version 3 Release 4 Abends are Different Increased Data-item Sizes for Version 3 Release 4 |
|
|