Você está na página 1de 16

IBM MAINFRAMES

1.0 1.1 1.1.1 1.1.1.1 1.1.1.2 1.1.1.3 1.1.1.4 1.1.2 1.1.2.1 1.1.2.2 1.1.2.3 1.1.2.4 1.1.2.5 1.1.2.6 1.1.3 1.1.3.1 1.1.3.2 1.1.3.3 1.1.3.4 1.1.3.5 1.1.3.6 1.1.4 1.1.4.1 1.1.4.2 1.2 1.2.1 1.2.1.1 1.2.1.2 1.2.1.3 1.2.2 1.2.2.1 1.2.2.2 1.2.2.3 1.2.3 1.2.3.1 1.2.3.2 1.2.3.3 Part 1. Coding Your Program Chapter 1. Introduction to COBOL Terms Variables, Structures, Literals, and Constants Variables Data Structure Literals Constants Assignment and Terminal Interactions Initializing a Variable (INITIALIZE Statement) Initializing a Structure (INITIALIZE Statement) Assigning Values to Variables or Structures (MOVE Statement) Assigning Terminal/File Input to Variables (ACCEPT Statement) Displaying Data Values on the Terminal/File (DISPLAY Statement) Assigning Arithmetic Results Built-in (Intrinsic) Functions Introduction to Intrinsic Functions Using Function References in Other Contexts Types of Intrinsic Functions Nesting Functions Substrings of Function-Identifiers Arguments to Intrinsic Functions Arrays and Pointers Pointers Procedure Pointers Chapter 2. Program Structure IDENTIFICATION DIVISION PROGRAM-ID Paragraph Avoiding Mismatches Between Names Changing Header of Source Listing ENVIRONMENT DIVISION CONFIGURATION SECTION INPUT-OUTPUT SECTION: Defining Files to the Operating System DATA DIVISION Limits in the DATA DIVISION FILE SECTION (Using Data in Input/Output Operations) Function and Use of FILE SECTION Entries

1.2.3.4 1.2.3.5 1.2.4 1.2.4.1 1.2.4.2 1.2.4.3 1.2.4.4 1.3 1.3.1 1.3.1.1 1.3.1.2 1.3.1.3 1.3.2 1.3.2.1 1.3.2.2 1.3.2.3 1.3.2.4 1.3.2.5 1.3.3 1.3.3.1 1.3.3.2 1.3.3.3 1.3.4 1.3.4.1 1.3.5 1.3.5.1 1.3.5.2 1.3.6 1.3.6.1 1.3.6.2 1.3.6.3 1.3.6.4 1.3.7 1.3.7.1 1.3.7.2 1.3.7.3 1.3.7.4 1.3.8 1.3.8.1 1.3.8.2 1.3.8.3

WORKING-STORAGE SECTION and LOCAL-STORAGE SECTION LINKAGE SECTION (Using Data from Another Program) PROCEDURE DIVISION PROCEDURE DIVISION Headers How Logic is Divided in the PROCEDURE DIVISION Statements Used in the PROCEDURE DIVISION Declaratives Chapter 3. Numbers and Arithmetic General COBOL View of Numbers (PICTURE clause) Defining Numeric Items Separate Sign Position (for Portability) Extra Positions for Displayable Symbols (Numeric Editing) Computational Data Representation (USAGE Clause) External Decimal (USAGE DISPLAY) Items External Floating-Point (USAGE DISPLAY) Items Binary Items Packed Decimal (PACKED-DECIMAL or COMP-3) Items Floating-Point (COMP-1 and COMP-2) Items Data Format Conversions What Conversion Means Conversion Takes Time Conversions and Precision Sign Representation and Processing NUMPROC Compiler Option Checking for Incompatible Data (Numeric Class Test) How to Do a Numeric Class Test Interaction of NUMPROC and NUMCLS Options Performing Arithmetic COMPUTE and Other Arithmetic Statements Arithmetic Expressions Numeric Intrinsic Functions Language Environment Callable Services Fixed-Point versus Floating-Point Arithmetic Floating-Point Evaluations Fixed-Point Evaluations Arithmetic Comparisons (Relation Conditions) Examples of Fixed-Point and Floating-Point Evaluations Using Currency Signs Specifying Currency Signs Multiple Currency Signs Euro Currency Sign

1.4 1.4.1 1.4.1.1 1.4.1.2 1.4.1.3 1.4.2 1.4.2.1 1.4.2.2 1.4.2.3 1.4.3 1.4.3.1 1.4.3.2 1.4.3.3 1.4.4 1.4.4.1 1.4.4.2 1.4.4.3 1.4.5 1.4.5.1 1.4.5.2 1.4.6 1.4.6.1 1.4.7 1.5 1.5.1 1.5.1.1 1.5.1.2 1.5.1.3 1.5.2 1.5.2.1 1.5.2.2 1.5.2.3 1.5.2.4 1.6 1.6.1 1.6.1.1 1.6.2 1.6.2.1 1.6.3

Chapter 4. Handling Tables Defining a Table (OCCURS Clause) One Dimension Two Dimensions Three Dimensions Referring to an Item in a Table Subscripting Subscripting Using Index-Names (Indexing) Referring to a Substring of a Table Item Putting Values into a Table Loading the Table Dynamically Initializing the Table (INITIALIZE Statement) Assigning Values When You Define the Table (VALUE Clause) Creating Variable-Length Tables (DEPENDING ON Clause) ODO Object and Subject Contained in Group Item ODO Object outside the Group Complex OCCURS DEPENDING ON Searching a Table (SEARCH Statement) Serial Search Binary Search (SEARCH ALL Statement) Processing Table Items (Intrinsic Functions) Processing Multiple Table Items (ALL Subscript) Efficient Coding for Tables Chapter 5. Selection and Iteration Selection (IF and EVALUATE Statements) IF Statement EVALUATE statement Conditional Expressions Iterative Loops (PERFORM Statement) Coding a Loop to Be Performed a Definite Number of Times Conditional Looping Looping through a Table Executing a Group of Paragraphs or Sections Chapter 6. String Handling Joining Data Items (STRING Statement) STRING Statement Example Splitting Data Items (UNSTRING Statement) UNSTRING Statement Example Manipulating Null-Terminated Strings

1.6.4 1.6.4.1 1.6.4.2 1.6.4.3 1.6.4.4 1.6.5 1.6.5.1 1.6.6 1.6.6.1 1.6.6.2 1.6.6.3 1.6.7 1.6.7.1 1.6.7.2 1.6.7.3 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.8.4 1.7 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.2 1.7.3 1.8 1.8.1 1.8.1.1 1.8.1.2 1.8.1.3 1.8.1.4 1.8.1.5 1.8.1.6 1.8.1.7 1.8.1.8 1.8.1.9

Referencing Substrings of Data Items (Reference Modifiers) Common Reference Modification Mistakes Benefits of Reference Modification Using Arithmetic Expressions as Reference Modifiers Referencing Substrings of Table Items Tallying and Replacing Data Items (INSPECT Statement) INSPECT Statement Examples Double-Byte Character (DBCS) Data Conversions DBCS Notation Non-numeric to DBCS Data Conversion (IGZCA2D Routine) DBCS to Non-numeric Data Conversion (IGZCD2A Routine) Converting Data Items (Intrinsic Functions) Converting to Uppercase or Lowercase (UPPER-CASE, LOWER-CASE) Converting to Reverse Order (REVERSE) Converting to Numbers (NUMVAL, NUMVAL-C) Evaluating Data Items (Intrinsic Functions) Evaluating Single Characters for Collating Sequence (CHAR, ORD) Finding the Largest or Smallest Data Item (MAX, MIN, ORD-MAX, ORD-MIN) Finding the Length of Data Items (LENGTH) Finding the Date of Compilation (WHEN-COMPILED) Chapter 7. File Input/Output Overview File Organization and Input/Output Devices Sequential File Organization Indexed File Organization Relative File Organization File Organization on Sequential-Only Devices File Organization on Direct-Access Storage Devices COBOL Input/Output Coding Checking for Input/Output Errors Chapter 8. Processing QSAM Files COBOL Coding for QSAM Files ENVIRONMENT DIVISION Entries for QSAM Files DATA DIVISION Entries for QSAM Files Coding Input/Output Statements for QSAM Files Error Processing for QSAM Availability of QSAM Files Opening a QSAM File Adding Records to a QSAM File Updating a QSAM File Writing Your File to a Printer or Spooled Data Set

1.8.1.10 1.8.2 1.8.2.1 1.8.2.2 1.8.2.3 1.8.2.4 1.8.3 1.8.3.1 1.8.3.2 1.8.4 1.8.4.1 1.8.4.2 1.8.4.3 1.8.5 1.8.5.1 1.8.5.2 1.8.5.3 1.8.5.4 1.9 1.9.1 1.9.2 1.9.2.1 1.9.2.2 1.9.2.3 1.9.3 1.9.4 1.9.4.1 1.9.4.2 1.9.4.3 1.9.4.4 1.9.4.5 1.9.4.6 1.9.4.7 1.9.4.8 1.9.4.9 1.9.4.10 1.9.4.11 1.9.4.12 1.9.4.13 1.9.5 1.9.5.1

Closing a QSAM File QSAM Files under OS/390 Defining QSAM Files Retrieving QSAM Files Ensuring File Attributes Match Your Program Input/Output Buffer Allocation for QSAM Files QSAM Files under CMS Using FILEDEF to Identify Files to CMS Using LABELDEF to Identify Files to CMS Processing Labels for QSAM Files Standard Label Format Standard User Labels LABEL Declarative Processing QSAM ASCII Tape Files Request the ASCII Alphabet Define the Record Formats Define the ddname Process ASCII File Labels Chapter 9. Processing VSAM Files VSAM Terminology VSAM File Organization VSAM Sequential File Organization VSAM Indexed File Organization VSAM Relative-Record File Organization File Access Modes COBOL Coding for VSAM Files ENVIRONMENT DIVISION Entries for VSAM Files DATA DIVISION Entries for VSAM Files Coding Input/Output Statements for VSAM Files File Position Indicator Error Processing for VSAM Opening a File (ESDS, KSDS, or RRDS) Reading Records from a VSAM File Updating Records in a VSAM File Adding Records to a VSAM File Replacing Records in a VSAM File Deleting Records from a VSAM File Closing VSAM Files Protecting VSAM Files with a Password VSAM Data Sets under OS/390 Availability of VSAM Files

1.9.5.2 1.9.5.3 1.9.5.4 1.9.5.5 1.9.6 1.9.7 1.10 1.10.1 1.10.1.1 1.10.2 1.10.2.1 1.10.2.2 1.10.3 1.10.3.1 1.10.4 1.10.5 1.10.6 1.10.7 1.10.8 1.10.9 1.10.10 1.10.11 1.10.12 1.10.12.1 1.10.12.2 1.10.12.3 1.10.13 1.10.14 1.10.15 1.10.15.1 1.10.15.2 1.10.16 1.10.17 1.10.18 1.10.19 1.10.19.1 1.11 1.11.1 1.11.1.1 1.11.1.2

Defining VSAM Files under OS/390 Creating Alternate Indexes Job Control Language for VSAM Files VSAM RLS Mode Considerations VSAM Data Sets under CMS Considerations for VSAM Performance Chapter 10. File Sorting and Merging Basics of Sorting and Merging Windowed Date Fields The SORT Statement SORT Program Organization Setting the Sort Criteria Coding the Input Procedure Transferring Records to the Sort Program Coding the Output Procedure Restrictions on Input and Output Procedures The MERGE Statement Determining Whether the Sort or Merge Was Successful Prematurely Stopping a Sort or Merge Operation Preserving the Original Sequence of Records with Equal Keys Using Sort under OS/390 Using Sort under CMS Improving Sort Performance with FASTSRT FASTSRT Requirements for JCL (OS/390 Only) FASTSRT Requirements for Input and Output Files Informational Messages for FASTSRT Coding Considerations with NOFASTSRT Sorting Variable-Length Records Passing Control Statements to DFSORT Format of the Control Statements in IGZSRTCD Default Characteristics of the IGZSRTCD Data Set SORT Special Registers Storage Use During a Sort or Merge Operation Checkpoint/Restart during DFSORT under OS/390 Sorting under CICS CICS SORT Application Restrictions Chapter 11. Error Handling User-Requested Dumps Creating a Formatted Dump Creating a System Dump

1.11.2 1.11.3 1.11.3.1 1.11.4 1.11.4.1 1.11.4.2 1.11.4.3 1.11.4.4 1.11.4.5 1.11.5 1.11.6 2.0 2.1 2.1.1 2.1.1.1 2.1.1.2 2.1.2 2.1.2.1 2.1.2.2 2.1.3 2.1.4 2.1.4.1 2.1.4.2 2.1.5 2.1.5.1 2.1.5.2 2.1.5.3 2.1.5.4 2.1.5.5 2.1.5.6 2.1.5.7 2.1.5.8 2.1.6 2.1.6.1 2.1.6.2 2.1.6.3 2.1.7 2.1.7.1 2.2

STRING and UNSTRING Operations Arithmetic Operations Example of Checking for Division by Zero Input/Output Error Handling Techniques End-of-File Phrase (AT END) EXCEPTION/ERROR Declarative File Status Key VSAM Return Code (VSAM Files Only) INVALID KEY Phrase CALL Statements User-Written Error-Handling Routines Part 2. Compiling Your Program Chapter 12. Compiling under OS/390 Compiling with JCL Using Cataloged Procedures Writing Your Own JCL to Compile Programs Compiling under TSO Allocating Compilation Data Sets--ALLOCATE Command Requesting Compilation--CALL Command Requesting Compilation from a Problem Program Batch Compiling Specifying Options in a Batch Compilation Batch Compile Using the IGYWCL Cataloged Procedure Input and Output Files Logical Record Length and Block Size for Compiler Data Sets Defining the Source Code Data Set: SYSIN Defining the Output Data Set: SYSPRINT Directing Compiler Messages to Your Terminal: SYSTERM Specifying Libraries: SYSLIB Creating Object Code: SYSLIN or SYSPUNCH Creating an Associated Data File: SYSADATA Defining the Output IDL Data Set: SYSIDL Controlling Your Compilation Using Compiler-Directing Statements Using Compiler Options Conflicting Compiler Options Results of Compilation Compiler-Detected Errors and Messages Chapter 13. Compiling under CMS

2.2.1 2.2.1.1 2.2.1.2 2.2.2 2.2.2.1 2.2.2.2 2.2.3 2.2.3.1 2.2.3.2 2.2.3.3 2.2.3.4 2.2.3.5 2.3 2.3.1 2.3.1.1 2.3.1.2 2.3.1.3 2.3.2 2.3.3 2.3.3.1 2.3.3.2 2.3.3.3 2.3.3.4 2.3.3.5 2.3.3.6 2.3.3.7 2.3.3.8 2.3.3.9 2.3.3.10 2.3.3.11 2.3.3.12 2.3.3.13 2.3.3.14 2.3.3.15 2.3.3.16 2.3.3.17 2.3.3.18 2.3.3.19 2.3.3.20 2.3.3.21 2.3.3.22

Accessing and Invoking the Compiler Accessing the Compiler Using the CP LINK and ACCESS Commands Invoking the Compiler Using the COBOL2 Command Controlling Your Compilation Using Compiler-Directing Statements Using Compiler Options Results of Compilation Files the Compiler Creates after Compilation How Filenames are Determined How Compiler Options Affect Compiler Output Compiler-Detected Errors and Messages Error Messages from the COBOL2 Command Chapter 14. Compiler Options Compiler Options Summary Default Values for Compiler Options Performance Considerations Compiler Option Settings for COBOL 85 Standard Conformance Run-Time Option Settings for COBOL 85 Standard Conformance Compiler Option Descriptions ADATA ANALYZE ADV APOST AWO BUFSIZE CMPR2 COMPILE CURRENCY DATA DATEPROC DBCS DECK DISK/PRINT DLL DUMP DYNAM EXIT EXPORTALL FASTSRT FLAG FLAGMIG

2.3.3.23 2.3.3.24 2.3.3.25 2.3.3.26 2.3.3.27 2.3.3.28 2.3.3.29 2.3.3.30 2.3.3.31 2.3.3.32 2.3.3.33 2.3.3.34 2.3.3.35 2.3.3.36 2.3.3.37 2.3.3.38 2.3.3.39 2.3.3.40 2.3.3.41 2.3.3.42 2.3.3.43 2.3.3.44 2.3.3.45 2.3.3.46 2.3.3.47 2.3.3.48 2.3.3.49 2.3.3.50 2.3.3.51 2.3.3.52 2.3.3.53 2.3.3.54 2.3.3.55 2.3.4 3.0 3.1 3.1.1 3.1.1.1 3.1.1.2 3.1.1.3

FLAGSTD IDLGEN INTDATE LANGUAGE LIB LINECOUNT LIST MAP NAME NUMBER NUMPROC OBJECT OFFSET OPTIMIZE OUTDD PGMNAME QUOTE/APOST RENT RMODE SEQUENCE SIZE SOURCE SPACE SSRANGE TERMINAL TEST TRUNC TYPECHK VBREF WORD XREF YEARWINDOW ZWB Compiler-Directing Statements Part 3. Object-Oriented Programming Topics Chapter 15. Writing Object-Oriented Programs Writing a Class Definition Class IDENTIFICATION DIVISION: Required Class ENVIRONMENT DIVISION: Required Class DATA DIVISION: Optional

3.1.1.4 3.1.2 3.1.3 3.1.3.1 3.1.3.2 3.1.3.3 3.1.3.4 3.1.4 3.1.5 3.1.5.1 3.1.5.2 3.1.5.3 3.1.5.4 3.1.6 3.1.7 3.1.7.1 3.1.7.2 3.1.7.3 3.1.7.4 3.1.7.5 3.1.7.6 3.1.7.7 3.1.7.8 3.1.8 3.1.9 3.1.9.1 3.1.9.2 3.1.9.3 3.1.9.4 3.1.9.5 3.1.9.6 3.1.9.7 3.1.9.8 3.1.9.9 3.1.9.10 3.1.10 3.2 3.2.1 3.2.1.1 3.2.1.2 3.2.2

Class PROCEDURE DIVISION: Optional Complete Class Example Writing a Method Definition Method IDENTIFICATION DIVISION: Required Method ENVIRONMENT DIVISION: Optional Method DATA DIVISION: Optional Method PROCEDURE DIVISION: Optional Complete Class with Methods Example Writing a Client Definition Client IDENTIFICATION DIVISION: Required Client ENVIRONMENT DIVISION: Required Client DATA DIVISION: Optional Client PROCEDURE DIVISION: Optional Complete Client Example Writing a Subclass Definition Subclass IDENTIFICATION DIVISION: Required Subclass ENVIRONMENT DIVISION: Required Subclass DATA DIVISION: Optional Subclass PROCEDURE DIVISION: Optional Subclass Method IDENTIFICATION DIVISION: Optional Subclass Method ENVIRONMENT DIVISION: Optional Subclass Method DATA DIVISION: Optional Subclass Method PROCEDURE DIVISION: Optional Complete Subclass with Methods Example Writing a Metaclass Definition Metaclass IDENTIFICATION DIVISION: Required Metaclass ENVIRONMENT DIVISION: Required Metaclass DATA DIVISION: Optional Metaclass PROCEDURE DIVISION: Optional Metaclass Method IDENTIFICATION DIVISION: Optional Metaclass Method ENVIRONMENT DIVISION: Optional Metaclass Method DATA DIVISION: Optional Metaclass Method PROCEDURE DIVISION: Optional Changes to Class or Subclass Definitions Changes to the Client Program Complete Metaclass with Methods Example Chapter 16. Using System Object Model (SOM) SOM Interface Repository Accessing the IR Populating the IR SOM Environment Variables

3.2.3 3.2.4 3.2.4.1 3.2.4.2 3.2.4.3 3.2.4.4 3.3 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.3.2 3.3.3.3 3.3.3.4 3.3.3.5 3.3.3.6 3.3.3.7 3.3.4 3.3.4.1 3.3.4.2 3.3.4.3 3.3.5 3.3.6 3.4 Programs 3.4.1 3.4.1.1 3.4.1.2 3.4.1.3 3.4.1.4 3.4.2 3.4.2.1 3.4.2.2 3.4.2.3 3.4.2.4 4.0 4.1 4.1.1

Sample JCL for an Object-Oriented Application System Object Model (SOM) Services SOM Methods and Functions SOM Initialization Class Initialization Class Interface Evolution Chapter 17. Using SOM IDL-Based Class Libraries SOM Objects--a Refresher SOM IDL Mapping IDL to COBOL IDL Identifiers IDL Operations IDL Attributes Common IDL Types Complex Types Argument and Return Value Passing Conventions Operation Example Other SOM Topics Errors and Exceptions Initializers If You Need to Look at the IDL File Memory Management Helper Routines Source Code Chapter 18. Converting Procedure-Oriented Programs to Object-Oriented Wrapping a Procedure-Oriented Program Glass-top Coordination Boundary Interface Coordination Required Change to Procedural Code Coexistence Converting a Procedure-Oriented Program Identify Objects Analyze Data Flow and Usage Reallocate Code to Objects Write the Object-Oriented Code Part 4. Advanced Topics Chapter 19. Subprograms Static CALL Statement

4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.7.1 4.1.7.2 4.1.8 4.1.9 4.1.9.1 4.1.10 4.1.11 4.1.11.1 4.1.11.2 4.1.12 4.2 4.2.1 4.2.2 4.2.2.1 4.2.2.2 4.2.2.3 4.2.2.4 4.3 4.3.1 4.3.1.1 4.3.1.2 4.3.2 4.3.3 4.3.3.1 4.3.3.2 4.3.4 4.3.4.1 4.3.4.2 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.7.2 4.3.8

Dynamic CALL Statement Performance Considerations of Static and Dynamic Calls CALLs to and from Object-Oriented Programs CALL Statement Examples Subprogram Linkage Main Programs and Subprograms Program Termination Statements State of a Program when Reentered Recursive Calls Nested Programs Structure of Nested Programs NODYNAM Restrictions--CMS Only Using Procedure Pointers Rules for Using Procedure Pointers Calling a C Function-Pointer Calls to Alternate Entry Points Chapter 20. Building and Using Dynamic Link Libraries (DLLs) Overview of OS/390 DLL Support Using Dynamic Link Libraries CALLs to DLLs from non-DLLs Creating a DLL Load Module Creating a Load Module that references a DLL Load Module Sample JCL for Procedural DLL Application Chapter 21. Data Sharing Passing Data Describing Arguments in the Calling Program Describing Parameters in the Called Program LINKAGE SECTION PROCEDURE DIVISION Grouping Data to Be Passed Using Pointers to Process a Chained List Passing Return Code Information RETURN-CODE Special Register PROCEDURE DIVISION RETURNING . . . CALL . . . RETURNING Sharing Data Using the EXTERNAL Clause Sharing Files Between Programs (EXTERNAL Files) Advantages of EXTERNAL Files Example Using EXTERNAL Files Reentrant Programs

4.4 4.4.1 4.4.2 4.4.2.1 4.4.2.2 4.4.2.3 4.4.2.4 4.4.2.5 4.4.3 4.4.3.1 4.4.3.2 4.4.4 4.4.4.1 4.4.4.2 4.4.4.3 4.5 4.5.1 4.5.1.1 4.5.1.2 4.5.1.3 4.5.1.4 4.5.1.5 4.5.1.6 4.5.1.7 4.5.2 4.5.2.1 4.5.2.2 4.5.2.3 4.5.2.4 4.5.2.5 4.5.2.6 4.5.2.7 4.5.3 4.5.3.1 4.5.3.2 4.5.3.3 4.5.3.4 4.5.3.5 4.5.3.6 4.5.3.7

Chapter 22. Interrupts and Checkpoint/Restart Basics of Checkpoint/Restart Getting a Checkpoint Testing for a Successful Checkpoint Designing a Checkpoint Defining Checkpoint Record Data Sets Checkpoint Restrictions Messages Generated during Checkpoint Restarting a Program Automatic Restart Deferred Restart Sample Job Control Procedures for Checkpoint/Restart Example of Requesting a Step Restart Example of Resubmitting a Job for a Step Restart Example of Resubmitting a Job for a Checkpoint Restart Chapter 23. Debugging Techniques Using Source Language to Debug Tracing Program Logic (DISPLAY Statements) Handling Input/Output Errors (USE EXCEPTION/ERROR Declaratives) Validating Data (Class Test) Assessing Switch Problems (INITIALIZE or SET Statements) Improving Program Readability (Explicit Scope Terminators) Finding Input/Output Errors (File Status Keys) Generating Information about Procedures (USE FOR DEBUGGING Declaratives) Using Compiler Options for Debugging The FLAG Option The NOCOMPILE Option The SEQUENCE Option The XREF Option The MAP Option The SSRANGE Option The TEST Option Getting Useful Listing Components A Short Listing--the Bare Minimum A Listing of Your Source Code--for Historical Records Using Your Own Line Numbers Data Map Listing A PROCEDURE DIVISION Listing with Assembler Expansion (LIST Output) Program Signature Information Bytes A Condensed PROCEDURE DIVISION Listing

4.5.3.8 4.5.3.9 4.6 4.6.1 4.6.1.1 4.6.1.2 4.6.1.3 4.6.1.4 4.6.2 4.6.2.1 4.6.2.2 4.6.3 4.6.4 4.6.5 4.6.6 4.7 4.7.1 4.7.2 4.7.2.1 4.7.2.2 4.7.2.3 4.7.2.4 4.7.3 4.7.4 4.7.4.1 4.7.4.2 4.7.4.3 4.7.4.4 4.7.5 4.7.6 4.7.6.1 4.7.6.2 4.7.7 4.7.8 4.7.8.1 4.7.8.2 4.7.8.3 4.8 4.8.1

A Verb Cross-Reference Listing A Data-Name, Procedure-Name, and Program-Name Cross-Reference Listing Chapter 24. Program Tuning Coding Techniques and Considerations Programming Style Data Usage Planning the Use of Fixed-Point and Floating-Point Data Types Table Handling Optimization The OPTIMIZE Compiler Option Other Compiler Features that Affect Optimization Compiler Options Other Product Considerations Performance Tuning Worksheet Run-Time Performance Considerations Chapter 25. Techniques to Improve Programmer Productivity Structured Programming Practices COBOL Language for Structured Programming EVALUATE Statement Inline PERFORM Statement TEST BEFORE or TEST AFTER Loop COBOL Tools for Top-Down Coding Debug Tool Eliminating Repetitive Coding (The COPY Facility) Creating or Changing COPY Text Using Multiple COPY Libraries COPY Statement BASIS Statement Making a Change to Your Program (the REPLACE Statement) Simplifying Complex Coding and Other Programming Tasks Intrinsic Functions Language Environment Callable Services Finding Coding Errors Controlling the Content of the Output Listing Selective Source Listing Storage Mapping in the DATA DIVISION Object Code in the PROCEDURE DIVISION Chapter 26. The "Year 2000" Problem Date Processing Problems

4.8.2 4.8.2.1 4.8.2.2 4.8.2.3 4.8.2.4 4.8.2.5 4.8.2.6 4.8.3 4.8.3.1 4.8.4 4.8.5 4.9 4.9.1 4.9.2 4.9.2.1 4.9.3 4.9.3.1 4.9.3.2 4.9.3.3 4.9.4 4.9.4.1 4.9.4.2 4.9.4.3 4.9.4.4 4.9.4.5 4.9.4.6 4.9.4.7 4.9.4.8 4.9.5 4.9.5.1 4.9.6 4.9.6.1 4.9.6.2 4.9.6.3 4.10 4.10.1 4.10.1.1 4.10.1.2 4.10.1.3 4.10.1.4

Year 2000 Solutions The Full Field Expansion Solution The Internal Bridging Solution The Century Window Solution The Mixed Field Expansion and Century Window Solution The Century Encoding/Compression Solution The Integer Format Date Solution Performance Considerations Performance Comparison How to Get 4-digit Year Dates Using Callable Services with OS/VS COBOL and VS COBOL II Chapter 27. Using the Millennium Language Extensions Description Getting Started Implementing Date Processing Resolving Date-Related Logic Problems Basic Remediation Internal Bridging Full Field Expansion Programming Techniques Date Comparisons Arithmetic Expressions and Statements Sorting and Merging Other Date Formats Controlling Date Processing Explicitly Analyzing Date-Related Diagnostic Messages Using MLE Messages Other Potential Problems Principles Objectives Concepts Date Semantics Compatible Dates Treatment of Non-Dates Chapter 28. Target Environment Considerations COBOL Programming Considerations for CICS Developing a COBOL Program for CICS Coding Input/Output in CICS Compiler Options CICS Reserved Word Table

4.10.1.5 4.10.1.6 4.10.1.7 4.10.1.8 4.10.1.9 4.10.1.10 4.10.2 4.10.2.1 4.10.2.2 4.10.3 4.10.3.1 4.10.4 4.10.4.1 4.10.4.2 4.10.4.3 4.10.4.4 4.10.4.5 4.10.4.6 4.10.5 4.10.6

Using CICS HANDLE with COBOL Programs Coding Restrictions Translating CICS Commands into COBOL Compiling and Link-Editing CICS Code System Date under CICS Calls under CICS Differences between COBOL under CMS and OS/390 File Handling CMS Run-Time Restrictions COBOL Programming Considerations for DB2 Testing the Return Code COBOL Programming Considerations for IMS Recommended COBOL Compiler Options under IMS Running above the 16-Megabyte Line COBOL Coding Restrictions under IMS Using CEETDLI to Interface to IMS from COBOL for OS/390 & VM Recommended Link-Edit Attributes for COBOL Programs under IMS for Mixed COBOL for OS/390 & VM, COBOL for MVS & VM, VS COBOL II, and Interactively Accessing COBOL Programs with ISPF COBOL Programming Considerations for SQL/DS

OS/VS COBOL Applications

Você também pode gostar