You are previewing PROGRAMMING IN COBOL/400: 2nd Edition.
O'Reilly logo
PROGRAMMING IN COBOL/400: 2nd Edition

Book Description

Based on the best-selling, COBOL text by Robert and Nancy Stern.

* Increased coverage of ILE COBOL and subfiles.

Table of Contents

  1. Copyright
  2. ACKNOWLEDGMENTS
  3. PREFACE
    1. INTENDED AUDIENCE
    2. OBJECTIVES OF THIS BOOK
    3. HOW THIS BOOK DIFFERS FROM PROGRAMMING IN COBOL/400, FIRST EDITION
    4. PROGRAMMING IN COBOL/400 WEB SITE
  4. 1. PHYSICAL FILES
    1. 1.1. CHAPTER OBJECTIVES
    2. 1.2. HIERARCHY OF DATA
    3. 1.3. INTERNAL BINARY REPRESENTATION OF DATA
    4. 1.4. DATA TYPES
    5. 1.5. ALPHANUMERIC (CHARACTER) FIELDS
    6. 1.6. NUMERIC FIELDS
    7. 1.7. ZONED DECIMAL FORMAT
    8. 1.8. PACKED DECIMAL FORMAT
    9. 1.9. PACKING NUMERIC DATA
    10. 1.10. CONVERTING ZONED DECIMAL FORMAT TO PACKED DECIMAL FORMAT
    11. 1.11. CONVERTING PACKED DECIMAL FORMAT TO ZONED DECIMAL FORMAT
    12. 1.12. DATE FORMAT
    13. 1.13. DATA FILES
    14. 1.14. ACCESS PATHS
    15. 1.15. HOW DATA ARE ORGANIZED AND RETRIEVED IN AN ARRIVAL SEQUENCE (NONKEYED) PHYSICAL FILE
    16. 1.16. HOW DATA ARE ORGANIZED AND RETRIEVED IN A KEYED SEQUENCE PHYSICAL FILE
    17. 1.17. CREATING A PHYSICAL FILE
    18. 1.18. CASE PROBLEM: CREATING A PHYSICAL FILE
    19. 1.19. DETERMINE THE RECORD FORMAT FOR THE PHYSICAL FILE
    20. 1.20. DATA DESCRIPTION SPECIFICATIONS (DDS) FOR AN ARRIVAL SEQUENCE FILE
    21. 1.21. DDS FOR A KEYED SEQUENCE FILE
    22. 1.22. COMPILE SOURCE DDS INTO A FILE OBJECT
    23. 1.23. DISPLAYING THE FIELD ATTRIBUTES OF A PHYSICAL FILE
    24. 1.24. ENTERING DATA INTO A PHYSICAL FILE WITH DFU
    25. 1.25. DISPLAYING THE CONTENTS OF PHYSICAL FILE RECORDS
    26. 1.26. PRINTING OR DISPLAYING RECORDS WITH THE COPY FILE (CPYF) COMMAND
    27. 1.27. USING THE CHANGE PHYSICAL FILE (CHGPF) COMMAND
    28. 1.28. END-OF-CHAPTER AIDS
      1. 1.28.1. CHAPTER SUMMARY
      2. 1.28.2. KEY TERMS
    29. 1.29. CHAPTER SELF-TEST
      1. 1.29.1. TRUE-FALSE QUESTIONS
      2. 1.29.2. FILL-IN-THE BLANKS
    30. 1.30. CHAPTER REVIEW QUESTIONS
      1. 1.30.1. GENERAL QUESTIONS
      2. 1.30.2. PROGRAMMING ASSIGNMENTS
  5. 2. AN INTRODUCTION TO PROGRAMMING IN COBOL/400
    1. 2.1. CHAPTER OBJECTIVES
    2. 2.2. TYPES OF COMPUTER PROGRAMS
    3. 2.3. OPERATING SYSTEM SOFTWARE
    4. 2.4. APPLICATION PROGRAMS
    5. 2.5. MACHINE LANGUAGE PROGRAMS
    6. 2.6. SYMBOLIC PROGRAMS
    7. 2.7. AN INTRODUCTION TO COBOL
      1. 2.7.1. COBOL IS A BUSINESS-ORIENTED LANGUAGE
    8. 2.8. COBOL IS A STANDARD LANGUAGE
    9. 2.9. COBOL IS AN ENGLISH-LIKE LANGUAGE
    10. 2.10. COBOL IS A USER-FRIENDLY LANGUAGE
    11. 2.11. A HISTORY OF COBOL AND THE ANS VERSIONS
      1. 2.11.1. WHEN IT BEGAN
    12. 2.12. THE AMERICAN NATIONAL STANDARDS (ANS) VERSIONS OF COBOL
    13. 2.13. ILE COBOL AND THE ANS COBOL 1985 STANDARD
    14. 2.14. THE APPLICATIONS PROGRAM DEVELOPMENT PROCESS
    15. 2.15. DETERMINE THE PROGRAM SPECIFICATIONS
    16. 2.16. DESIGN THE PROGRAM USING PROGRAM PLANNING TOOLS
    17. 2.17. CODE AND ENTER THE PROGRAM
    18. 2.18. COMPILE THE PROGRAM INTO A PROGRAM OBJECT
    19. 2.19. TEST THE PROGRAM
    20. 2.20. DEBUGGING PHASES
    21. 2.21. DEBUGGING TECHNIQUES
    22. 2.22. DOCUMENT THE PROGRAM
    23. 2.23. CASE PROBLEM
    24. 2.24. PROBLEM DEFINITION
    25. 2.25. INPUT LAYOUT
    26. 2.26. OUTPUT LAYOUT
    27. 2.27. PLANNING THE PROGRAM'S DESIGN
    28. 2.28. INTERPRETING THE FLOWCHART IN FIGURE 2.10
    29. 2.29. INTERPRETING THE PSEUDOCODE IN FIGURE 2.11
    30. 2.30. THE PROGRAM ILLUSTRATED
    31. 2.31. THE COBOL CODING SHEET
    32. 2.32. THE MAIN BODY OF A COBOL PROGRAM
    33. 2.33. COLUMN 7: FOR COMMENTS, CONTINUING NONNUMERIC LITERALS, AND STARTING A NEW PAGE
    34. 2.34. BLANK LINES FOR SEPARATING ENTRIES
    35. 2.35. AREAS A AND B
    36. 2.36. AN OVERVIEW OF THE FOUR DIVISIONS
    37. 2.37. TYPES OF COBOL ENTRIES AND THEIR MARGIN RULES
    38. 2.38. THE IDENTIFICATION DIVISION
    39. 2.39. THE IDENTIFICATION DIVISION INSTRUCTION FORMAT
    40. 2.40. UNDERSTANDING INSTRUCTION FORMATS AS THEY APPEAR IN REFERENCE MANUALS
    41. 2.41. CODING THE IDENTIFICATION DIVISION
    42. 2.42. THE ENVIRONMENT DIVISION
    43. 2.43. CONFIGURATION SECTION
    44. 2.44. INPUT-OUTPUT SECTION
    45. 2.45. THE DATA DIVISION
    46. 2.46. USING THE APOSTROPHE IN COBOL PROGRAMS
    47. 2.47. THE PROCEDURE DIVISION
    48. 2.48. SCOPE TERMINATORS
    49. 2.49. LOOPING WITH THE PERFORM STATEMENT
    50. 2.50. CREATING AN EXECUTABLE PROGRAM OBJECT
    51. 2.51. END-OF-CHAPTER AIDS
      1. 2.51.1. CHAPTER SUMMARY
      2. 2.51.2. The ENVIRONMENT DIVISION.
      3. 2.51.3. The DATA DIVISION.
      4. 2.51.4. The PROCEDURE DIVISION.
      5. 2.51.5. KEY TERMS
    52. 2.52. CHAPTER SELF-TEST
      1. 2.52.1. TRUE-FALSE QUESTIONS
      2. 2.52.2. FILL-IN-THE-BLANKS
    53. 2.53. CHAPTER REVIEW QUESTIONS
      1. 2.53.1. GENERAL QUESTIONS
    54. 2.54. PROGRAMMING ASSIGNMENTS
  6. 3. DEFINING FILES AND PROCESSING DATA
    1. 3.1. CHAPTER OBJECTIVES
    2. 3.2. SPECIFYING ARRIVAL SEQUENCE AND KEYED SEQUENCE FILES FOR PROCESSING
    3. 3.3. THE SELECT STATEMENT
    4. 3.4. THE SELECT STATEMENT FOR AN ARRIVAL SEQUENCE FILE
    5. 3.5. THE SELECT STATEMENT FOR A KEYED SEQUENCE FILE
    6. 3.6. THE ASSIGN CLAUSE
    7. 3.7. THE ORGANIZATION CLAUSE
    8. 3.8. THE ACCESS CLAUSE
    9. 3.9. THE RECORD KEY CLAUSE
    10. 3.10. DEFINING FILES
    11. 3.11. THE DATA DIVISION
    12. 3.12. VARIABLE AND CONSTANT DATA
    13. 3.13. FORMING DATA-NAMES
    14. 3.14. In COBOL/400, user-defined names must conform to the following rules:
    15. 3.15. USE PREFIXES OR SUFFIXES WHERE APPROPRIATE
    16. 3.16. THE FILE SECTION OF THE DATA DIVISION
    17. 3.17. FILE DESCRIPTION ENTRIES
    18. 3.18. DEFINING A RECORD WITH RECORD DESCRIPTION ENTRIES
    19. 3.19. USING LEVEL NUMBERS TO DEFINE FIELDS WITHIN A RECORD
    20. 3.20. ELEMENTARY AND GROUP FIELDS
    21. 3.21. INVALID USE OF LEVEL NUMBERS
    22. 3.22. PICTURE (PIC) CLAUSES
    23. 3.23. TYPE OF DATA
    24. 3.24. SIZE OF DATA FIELDS
    25. 3.25. FORMAT OF THE PIC CLAUSE
    26. 3.26. THE USE OF THE IMPLIED DECIMAL POINT IN PIC CLAUSES
    27. 3.27. PACKED-DECIMAL OR COMPUTATIONAL-3 (COMP-3)
    28. 3.28. MULTIPLE-RECORD TYPES IN DISK FILES
    29. 3.29. RECORD DESCRIPTION ENTRIES FOR PRINTER FILES
    30. 3.30. USE OF RESERVED WORD FILLER IN RECORD DESCRIPTION ENTRIES
    31. 3.31. THE WORKING-STORAGE SECTION OF THE DATA DIVISION
    32. 3.32. USING AN END-OF-FILE INDICATOR
    33. 3.33. THE PROCEDURE DIVISION
    34. 3.34. DEFINING PARAGRAPHS
    35. 3.35. STATEMENTS AND SENTENCES WITHIN PARAGRAPHS
    36. 3.36. THE SEQUENCE OF INSTRUCTIONS IN A PROGRAM
    37. 3.37. STATEMENTS TYPICALLY CODED IN THE MAIN MODULE
    38. 3.38. OPEN STATEMENT
    39. 3.39. READ STATEMENT
    40. 3.40. THE NOT AT END CLAUSE
    41. 3.41. PERFORM . . . UNTIL STATEMENT: A STRUCTURED PROGRAMMING TECHNIQUE
    42. 3.42. CORRECTLY SEQUENCING INSTRUCTIONS IN A MODULE
    43. 3.43. END-OF-JOB PROCESSING: THE CLOSE AND STOP RUN STATEMENTS
    44. 3.44. CLOSE STATEMENT
    45. 3.45. STOP RUN STATEMENT
    46. 3.46. AN INTRODUCTION TO THE MOVE AND WRITE STATEMENTS
    47. 3.47. SIMPLIFIED MOVE STATEMENT
    48. 3.48. WRITE STATEMENT
    49. 3.49. EXTERNALLY DESCRIBED FILES
    50. 3.50. THE SELECT STATEMENT FOR AN EXTERNALLY DESCRIBED FILE
    51. 3.51. THE ASSIGN CLAUSE
    52. 3.52. THE RECORD KEY CLAUSE
    53. 3.53. FORMAT 2 COPY STATEMENT
    54. 3.54. USING THE ALIAS KEYWORD
    55. 3.55. END-OF-CHAPTER AIDS
      1. 3.55.1. CHAPTER SUMMARY
      2. 3.55.2. KEY TERMS
    56. 3.56. CHAPTER SELF-TEST
      1. 3.56.1. TRUE-FALSE QUESTIONS
      2. 3.56.2. FILL-IN-THE BLANKS
    57. 3.57. CHAPTER REVIEW QUESTIONS
      1. 3.57.1. GENERAL QUESTIONS
    58. 3.58. DEBUGGING EXERCISE 1
    59. 3.59. DEBUGGING EXERCISE 2
    60. 3.60. PRACTICE PROGRAM
    61. 3.61. PROGRAMMING ASSIGNMENTS
  7. 4. PRINTING REPORTS
    1. 4.1. CHAPTER OBJECTIVES
    2. 4.2. TYPES OF REPORTS
    3. 4.3. DETAIL REPORTS
    4. 4.4. EXCEPTION REPORTS
    5. 4.5. SUMMARY OR GROUP REPORTS
    6. 4.6. THE PRINTER SPACING CHART
    7. 4.7. PRINTING HEADINGS, DETAIL LINES, AND TOTAL LINES
    8. 4.8. DEFINING MULTIPLE RECORD TYPES FOR PRINTER FILES
    9. 4.9. VALUE CLAUSES FOR WORKING-STORAGE ENTRIES
    10. 4.10. THE WRITE . . . FROM STATEMENT
    11. 4.11. THE ADVANCING OPTION FOR SPACING LINES
    12. 4.12. OVERPRINTING
    13. 4.13. ADVANCING THE PAPER TO A NEW PAGE USING THE PAGE OPTION
    14. 4.14. PRINTING THE CURRENT SYSTEM DATE ON A REPORT
    15. 4.15. USING THE RESERVED WORD CURRENT-DATE FIELD.
    16. 4.16. USING THE RESERVED WORD DATE FIELD.
    17. 4.17. EDITING PRINTED OUTPUT
    18. 4.18. EDITING FUNCTIONS
    19. 4.19. PRINTING DECIMAL POINTS
    20. 4.20. SUPPRESSING LEADING ZEROS
    21. 4.21. BE SURE TO SIZE THE REPORT-ITEM CORRECTLY
    22. 4.22. PRINTING DOLLAR SIGNS AND COMMAS
    23. 4.23. PRINTING ASTERISKS (*) FOR CHECK PROTECTION
    24. 4.24. PRINTING PLUS OR MINUS SIGNS
    25. 4.25. PRINTING DEBIT AND CREDIT SYMBOLS FOR ACCOUNTING APPLICATIONS
    26. 4.26. PRINTING SPACES OR ZEROS AS SEPARATORS WITHIN FIELDS
    27. 4.27. DE-EDITING
    28. 4.28. EDITING USING FLOATING STRINGS
    29. 4.29. BLANK WHEN ZERO OPTION
    30. 4.30. THE JUSTIFIED RIGHT OPTION
    31. 4.31. PRINTING QUOTATION MARKS
    32. 4.32. CONTROLLING THE SPACING OF PRINTED REPORTS
      1. 4.32.1. USING A PROGRAMMED LINE COUNTER FOR END-OF-PAGE CONTROL
    33. 4.33. PRINTING THE HEADINGS ON THE FIRST PAGE
    34. 4.34. LINE COUNTING FOR SINGLE-SPACED REPORTS
    35. 4.35. LINE COUNTING FOR DOUBLE-SPACED REPORTS
    36. 4.36. USING A LINE LIMIT FIELD TO DETERMINE THE NUMBER OF LINES TO PRINT
    37. 4.37. PRINTING PAGE NUMBERS
    38. 4.38. USING THE READ . . . INTO STATEMENT IN PLACE OF READ AND MOVE STATEMENTS
    39. 4.39. CASE PROBLEM
    40. 4.40. END-OF-CHAPTER AIDS
      1. 4.40.1. CHAPTER SUMMARY
      2. 4.40.2. KEY TERMS
    41. 4.41. CHAPTER SELF-TEST
      1. 4.41.1. TRUE-FALSE QUESTIONS
      2. 4.41.2. FILL-IN-THE BLANKS
    42. 4.42. PRACTICE PROGRAM
    43. 4.43. CHAPTER REVIEW QUESTIONS
      1. 4.43.1. GENERAL QUESTIONS
    44. 4.44. PROGRAMMING ASSIGNMENTS
  8. 5. DESIGNING STRUCTURED PROGRAMS
    1. 5.1. CHAPTER OBJECTIVES
    2. 5.2. WRITING WELL-DESIGNED PROGRAMS
    3. 5.3. PROGRAMS SHOULD USE A TOP-DOWN MODULAR APPROACH
    4. 5.4. PROGRAMS SHOULD BE STRUCTURED
    5. 5.5. PROGRAM LOGIC SHOULD BE MAPPED OUT USING A PLANNING TOOL
    6. 5.6. HIERARCHY CHARTS FOR TOP-DOWN PROGRAMMING
    7. 5.7. NAMING MODULES OR PARAGRAPHS
    8. 5.8. MODULARIZING PROGRAMS USING PERFORM STATEMENTS
    9. 5.9. DESIGNING THE LOGIC BEFORE CODING A PROGRAM
    10. 5.10. FLOWCHARTS
    11. 5.11. PSEUDOCODE: STANDARD AND STRUCTURED
    12. 5.12. THE FOUR LOGICAL CONTROL STRUCTURES
    13. 5.13. SEQUENCE
    14. 5.14. SELECTION
    15. 5.15. ITERATION
    16. 5.16. THE INFINITE LOOP: AN ERROR TO BE AVOIDED
    17. 5.17. CASE STRUCTURE
    18. 5.18. STRUCTURED PROGRAMMING CODING GUIDELINES
      1. 5.18.1. CODE EACH CLAUSE ON A SEPARATE LINE
    19. 5.19. INDENT LINES WITHIN A SENTENCE
    20. 5.20. CASE PROBLEM
    21. 5.21. END-OF-CHAPTER AIDS
      1. 5.21.1. CHAPTER SUMMARY
      2. 5.21.2. KEY TERMS
    22. 5.22. CHAPTER SELF-TEST
      1. 5.22.1. TRUE-FALSE QUESTIONS
      2. 5.22.2. FILL-IN-THE BLANKS
    23. 5.23. CHAPTER REVIEW QUESTIONS
      1. 5.23.1. GENERAL QUESTIONS
    24. 5.24. PRACTICE PROGRAM #1
    25. 5.25. PRACTICE PROGRAM #2
    26. 5.26. PROGRAMMING ASSIGNMENTS
  9. 6. MOVING DATA AND TEXT MANIPULATION
    1. 6.1. CHAPTER OBJECTIVES
    2. 6.2. THE INSTRUCTION FORMATS OF THE MOVE STATEMENT
    3. 6.3. The two instruction formats for the MOVE statement are
    4. 6.4. NUMERIC MOVE
    5. 6.5. WHEN SENDING AND RECEIVING FIELDS HAVE THE SAME PIC CLAUSES
    6. 6.6. WHEN SENDING AND RECEIVING FIELDS HAVE DIFFERENT PIC CLAUSES
    7. 6.7. AVOIDING TRUNCATION
    8. 6.8. MOVING NUMERIC LITERALS TO NUMERIC FIELDS
      1. 6.8.1. NUMERIC LITERALS
      2. 6.8.2. Valid Numeric Literals
    9. 6.9. MOVING SIGNED NUMBERS
    10. 6.10. ALPHANUMERIC OR NONNUMERIC MOVE
    11. 6.11. MOVING LITERALS TO ALPHANUMERIC (NONNUMERIC) FIELDS
      1. 6.11.1. ALPHANUMERIC (NONNUMERIC) LITERALS
    12. 6.12. A GROUP MOVE IS CONSIDERED AN ALPHANUMERIC (NONNUMERIC) MOVE
    13. 6.13. DECIMAL DATA ERROR
    14. 6.14. MOVING FIGURATIVE CONSTANTS
    15. 6.15. SUMMARY OF MOVE OPERATIONS
    16. 6.16. MOVING DATA WITH TEXT MANIPULATION
      1. 6.16.1. REFERENCING SEGMENTS OF A FIELD
    17. 6.17. TEXT MANIPULATION WITH THE STRING STATEMENT
    18. 6.18. GENERAL RULES FOR USING THE STRING
    19. 6.19. CASE PROBLEM
    20. 6.20. END-OF-CHAPTER AIDS
      1. 6.20.1. CHAPTER SUMMARY
      2. 6.20.2. KEY TERMS
    21. 6.21. CHAPTER SELF-TEST
      1. 6.21.1. TRUE-FALSE QUESTIONS
      2. 6.21.2. FILL-IN-THE BLANKS
    22. 6.22. CHAPTER REVIEW QUESTIONS
      1. 6.22.1. GENERAL QUESTIONS
    23. 6.23. DEBUGGING EXERCISES
    24. 6.24. PRACTICE PROGRAM
    25. 6.25. PROGRAMMING ASSIGNMENTS
  10. 7. COMPUTING IN COBOL: THE ARITHMETIC VERBS
    1. 7.1. CHAPTER OBJECTIVES
    2. 7.2. THE FOUR BASIC ARITHMETIC OPERATIONS
    3. 7.3. ADD STATEMENT
    4. 7.4. FIELDS USED IN AN ADD
    5. 7.5. USING FORMAT 1 OF THE ADD STATEMENT
    6. 7.6. USING FORMAT 2 OF THE ADD STATEMENT
    7. 7.7. USING FORMAT 3 OF THE ADD STATEMENT
    8. 7.8. DECIDING WHETHER TO USE THE TO OR GIVING FORMAT
    9. 7.9. ADDING MORE THAN TWO FIELDS
    10. 7.10. PRODUCING MORE THAN ONE SUM
    11. 7.11. SUBTRACT STATEMENT
    12. 7.12. DECIDING WHICH FORMAT TO USE
    13. 7.13. MULTIPLY STATEMENT
    14. 7.14. EXAMPLE OF ARITHMETIC OPERATIONS THAT USE THE MULTIPLY OPERATION
    15. 7.15. STORING INTERMEDIATE RESULTS
    16. 7.16. DIVIDE STATEMENT
    17. 7.17. USE OF THE REMAINDER CLAUSE IN THE DIVIDE OPERATION
      1. 7.17.1. USING REMAINDER CLAUSE WITH DIVIDE STATEMENT
    18. 7.18. OPTIONS AVAILABLE WITH ARITHMETIC VERBS
      1. 7.18.1. ROUNDED OPTION
    19. 7.19. HOW ROUNDING IS ACCOMPLISHED
    20. 7.20. ON SIZE ERROR OPTION
    21. 7.21. AVOIDING SIZE ERRORS
    22. 7.22. DIVIDING BY ZERO CAUSES A SIZE ERROR
    23. 7.23. NOT ON SIZE ERROR CLAUSE
    24. 7.24. DETERMINING THE SIZE OF RECEIVING FIELDS
    25. 7.25. USING SCOPE TERMINATORS
    26. 7.26. THE COMPUTE STATEMENT
    27. 7.27. SPACING RULES WITH A COMPUTE
    28. 7.28. THE COMPUTE WITH AND WITHOUT ROUNDING
    29. 7.29. ORDER OF EVALUATION
    30. 7.30. COMPARING COMPUTE TO ARITHMETIC VERBS
    31. 7.31. SIGNED NUMBERS IN ARITHMETIC OPERATIONS FOR FIELDS THAT CAN BE NEGATIVE
    32. 7.32. RULES FOR PERFORMING ARITHMETIC WITH SIGNED NUMBERS
    33. 7.33. ENTERING A SIGN SEPARATE FROM THE DATA
    34. 7.34. CLEARING FIELDS USING THE INITIALIZE STATEMENT
    35. 7.35. LIKE CLAUSE
    36. 7.36. DISPLAY STATEMENT
    37. 7.37. CASE PROBLEM # 1
    38. 7.38. CASE PROBLEM # 2
    39. 7.39. END-OF-CHAPTER AIDS
      1. 7.39.1. CHAPTER SUMMARY
      2. 7.39.2. KEY TERMS
    40. 7.40. CHAPTER SELF-TEST
      1. 7.40.1. TRUE-OR-FALSE QUESTIONS
      2. 7.40.2. FILL-IN-THE BLANKS
    41. 7.41. CHAPTER REVIEW QUESTIONS
      1. 7.41.1. GENERAL QUESTIONS
    42. 7.42. DEBUGGING EXERCISES
    43. 7.43. PRACTICE PROGRAM
    44. 7.44. PROGRAMMING ASSIGNMENTS
  11. 8. DECISION-MAKING USING THE IF AND EVALUATE STATEMENTS
    1. 8.1. CHAPTER OBJECTIVES
    2. 8.2. LOGICAL CONTROL STRUCTURES
    3. 8.3. THE IF CONDITIONAL STATEMENT
    4. 8.4. THE INSTRUCTION FORMAT FOR AN IF STATEMENT
    5. 8.5. A SIMPLE IF STATEMENT
    6. 8.6. AN IF STATEMENT WITH ELSE CLAUSE
    7. 8.7. RELATIONAL OPERATORS
    8. 8.8. NUMERIC FIELDS SHOULD NOT CONTAIN BLANKS
    9. 8.9. HOW COMPARISONS ARE PERFORMED
    10. 8.10. EBCDIC COLLATING SEQUENCE
    11. 8.11. ENDING CONDITIONAL SENTENCES WITH A PERIOD OR AN END-IF SCOPE TERMINATOR
    12. 8.12. THE CONTINUE CLAUSE
    13. 8.13. NESTED CONDITIONAL IF STATEMENT
    14. 8.14. COMPOUND CONDITIONAL
    15. 8.15. OR IN A COMPOUND CONDITIONAL
    16. 8.16. LIMITATIONS ON A COMPOUND CONDITIONAL
    17. 8.17. IMPLIED OPERANDS
    18. 8.18. AND IN A COMPOUND CONDITIONAL
    19. 8.19. USING AND AND OR IN THE SAME STATEMENT
    20. 8.20. ORDER OF EVALUATION OF COMPOUND CONDITIONALS
    21. 8.21. THE EVALUATE STATEMENT: THE CASE STRUCTURE
    22. 8.22. DATA VALIDATION
    23. 8.23. THE SIGN TEST
    24. 8.24. TESTING FOR REASONABLENESS
    25. 8.25. THE CLASS TEST
    26. 8.26. CHECKING FOR MISSING DATA
    27. 8.27. ALPHABETIC CLASS TEST
    28. 8.28. NEGATING CONDITIONALS
      1. 8.28.1. NEGATING SIMPLE CONDITIONALS
      2. 8.28.2. NEGATING COMPOUND CONDITIONALS
    29. 8.29. CONDITION-NAMES: CHECKING CODED FIELDS FOR VALID CONTENTS
    30. 8.30. SET STATEMENT
    31. 8.31. CASE PROBLEM
    32. 8.32. END-OF-CHAPTER AIDS
      1. 8.32.1. CHAPTER SUMMARY
      2. 8.32.2. KEY TERMS
    33. 8.33. CHAPTER SELF-TEST
      1. 8.33.1. TRUE-OR-FALSE QUESTIONS
      2. 8.33.2. FILL-IN-THE BLANKS
      3. 8.33.3. GENERAL QUESTIONS
      4. 8.33.4. PRACTICE PROGRAM
    34. 8.34. REVIEW QUESTIONS
      1. 8.34.1. GENERAL QUESTIONS
      2. 8.34.2. DEBUGGING EXERCISES
    35. 8.35. PROGRAMMING ASSIGNMENTS
  12. 9. ITERATION: BEYOND THE BASIC PERFORM
    1. 9.1. CHAPTER OBJECTIVES
    2. 9.2. THE SIMPLE PERFORM REVIEWED
    3. 9.3. IN-LINE PERFORM STATEMENT
    4. 9.4. MODULARIZING PROGRAMS USING PERFORM STATEMENTS
    5. 9.5. NESTED PERFORM: A PERFORM WITHIN A PERFORM
    6. 9.6. EXECUTING A GROUP OF PARAGRAPHS WITH A SIMPLE PERFORM
    7. 9.7. ITERATION USING OTHER TYPES OF PERFORMS
    8. 9.8. ITERATION USING THE PERFORM . . . UNTIL STATEMENT
    9. 9.9. CODING A LOOP WITH A PERFORM ... UNTIL: AN EXAMPLE
    10. 9.10. A PERFORM ... UNTIL TESTS FOR THE CONDITION FIRST
    11. 9.11. AVOIDING THE INFINITE LOOP
    12. 9.12. ITERATION USING THE PERFORM ... TIMES STATEMENT
    13. 9.13. CODING A LOOP WITH A PERFORM ... TIMES: AN EXAMPLE
    14. 9.14. USING A VARIABLE FIELD IN A PERFORM . . . TIMES STATEMENT
    15. 9.15. THE PERFORM ... VARYING STATEMENT
    16. 9.16. USING NESTED PERFORM ... VARYING STATEMENTS
    17. 9.17. PERFORM ... VARYING: EXAMPLE 2
    18. 9.18. THE PERFORM WITH TEST AFTER OPTION
    19. 9.19. WHICH ITERATION STATEMENT TO USE
    20. 9.20. END-OF-CHAPTER-AIDS
      1. 9.20.1. CHAPTER SUMMARY
      2. 9.20.2. KEY TERMS
    21. 9.21. CHAPTER SELF-TEST
      1. 9.21.1. TRUE-FALSE QUESTIONS
      2. 9.21.2. FILL-IN-THE BLANKS
    22. 9.22. CHAPTER REVIEW QUESTIONS
      1. 9.22.1. GENERAL QUESTIONS
      2. 9.22.2. DEBUGGING EXERCISES
      3. 9.22.3. PRACTICE PROGRAM
    23. 9.23. PROGRAMMING ASSIGNMENTS
  13. 10. THE COPY AND CALL STATEMENTS
    1. 10.1. CHAPTER OBJECTIVES
    2. 10.2. THE COPY STATEMENT
    3. 10.3. ENTRIES THAT CAN BE COPIED
    4. 10.4. THE FULL FORMAT FOR THE COPY STATEMENT
    5. 10.5. CASE PROBLEM CPCH10A
    6. 10.6. MODULAR PROGRAMMING
    7. 10.7. THE CALL STATEMENT
    8. 10.8. LINKAGE TYPE PHRASE
    9. 10.9. IN LIBRARY PHRASE
    10. 10.10. USING PHASE
    11. 10.11. THE BY CONTENT CLAUSE
    12. 10.12. GROUPING DATA TO BE PASSED
    13. 10.13. CALLED PROGRAM REQUIREMENTS
    14. 10.14. DYNAMIC (EXTERNAL) AND STATIC BINDING
    15. 10.15. DYNAMIC (EXTERNAL) PROGRAM CALLS
    16. 10.16. STATIC PROGRAM CALLS
    17. 10.17. THE CREATE BOUND COBOL (CRTBNDCBL) COMMAND
    18. 10.18. CASE PROBLEM CPCH10B
    19. 10.19. CASE PROBLEM CPCH10C
    20. 10.20. END-OF-CHAPTER AIDS
      1. 10.20.1. CHAPTER SUMMARY
      2. 10.20.2. KEY TERMS
    21. 10.21. CHAPTER SELF-TEST
      1. 10.21.1. TRUE-FALSE QUESTIONS
      2. 10.21.2. FILL-IN-THE BLANKS
    22. 10.22. CHAPTER REVIEW QUESTIONS
      1. 10.22.1. GENERAL QUESTIONS
      2. 10.22.2. PRACTICE PROGRAM
    23. 10.23. PROGRAMMING ASSIGNMENTS
  14. 11. LOGICAL FILES
    1. 11.1. CHAPTER OBJECTIVES
    2. 11.2. LOGICAL FILES
    3. 11.3. USING A SIMPLE LOGICAL FILE TO ENSURE THE DATA FILE IS IN THE CORRECT SEQUENCE
    4. 11.4. USING A LOGICAL FILE IN A COBOL/400 PROGRAM
    5. 11.5. SELECTING SPECIFIC FIELDS WITH A LOGICAL FILE
    6. 11.6. SELECTING AND OMITTING RECORDS USING LOGICAL FILES
    7. 11.7. ORED COMPARISIONS
    8. 11.8. ANDED COMPARISONS
    9. 11.9. CREATING A LOGICAL FILE
    10. 11.10. LOGICAL FILE WITH MULTIPLE-RECORD FORMATS
    11. 11.11. JOIN LOGICAL FILES
    12. 11.12. JOIN LOGICAL FILE CONCEPTS
    13. 11.13. HOW TO CODE JOIN FILES
    14. 11.14. EXAMPLE 1: JOINING TWO FILES AND USING DEFAULT VALUES FOR UNMATCHED RECORDS
    15. 11.15. EXAMPLE 2: JOINING TWO FILES AND SEQUENCING MULTIPLE MATCHES FROM A SECONDARY FILE
    16. 11.16. EXAMPLE 3: JOINING FOUR FILES
    17. 11.17. JOIN LOGICAL FILE KEYWORD DEFINITIONS
    18. 11.18. END-OF-CHAPTER AIDS
      1. 11.18.1. CHAPTER SUMMARY
      2. 11.18.2. KEY TERMS
    19. 11.19. CHAPTER SELF-TEST
      1. 11.19.1. TRUE-FALSE QUESTIONS
      2. 11.19.2. FILL-IN-THE BLANKS
    20. 11.20. CHAPTER REVIEW QUESTIONS
      1. 11.20.1. GENERAL QUESTIONS
    21. 11.21. PROGRAMMING ASSIGNMENTS
  15. 12. CONTROL BREAK PROCESSING
    1. 12.1. CHAPTER OBJECTIVES
    2. 12.2. DETAIL AND SUMMARY REPORTS
    3. 12.3. CASE PROBLEM #1: AN EXAMPLE OF A CONTROL BREAK PROCEDURE
    4. 12.4. USING A LOGICAL FILE IN A CONTROL BREAK PROGRAM
    5. 12.5. THE CONTROL BREAK PROCEDURE
    6. 12.6. PROGRAM REQUIREMENTS FOR SINGLE-LEVEL CONTROL BREAK PROCESSING
    7. 12.7. FORCING A CONTROL BREAK WHEN THERE ARE NO MORE RECORDS
    8. 12.8. REFINEMENTS TO IMPROVE THE QUALITY OF A CONTROL BREAK REPORT
    9. 12.9. PRINTING A FINAL TOTAL
    10. 12.10. GROUP SUPPRESSION OF A CONTROL FIELD
    11. 12.11. PRINTING THE CONTROL FIELD WITH THE CONTROL BREAK TOTAL LINE
    12. 12.12. EXECUTING THE CONTROL BREAK MODULE FROM THE MAIN MODULE AFTER AN END-OF-FILE CONDITION HAS BEEN MET
    13. 12.13. CASE PROBLEM #2: MULTIPLE-LEVEL CONTROL BREAKS
    14. 12.14. STARTING A NEW PAGE AFTER EACH CONTROL BREAK
    15. 12.15. END-OF-CHAPTER-AIDS
      1. 12.15.1. CHAPTER SUMMARY
      2. 12.15.2. KEY TERMS
    16. 12.16. CHAPTER SELF-TEST QUESTIONS
      1. 12.16.1. TRUE-FALSE QUESTIONS
      2. 12.16.2. FILL-IN-THE BLANKS
    17. 12.17. CHAPTER REVIEW QUESTIONS
      1. 12.17.1. GENERAL QUESTIONS
      2. 12.17.2. DEBUGGING EXERCISES
      3. 12.17.3. PRACTICE PROGRAM
    18. 12.18. PROGRAMMING ASSIGNMENTS
  16. 13. RANDOM FILE ACCESS FOR KEYED FILES
    1. 13.1. CHAPTER OBJECTIVES
    2. 13.2. ACCESSING A KEYED FILE RANDOMLY
    3. 13.3. THE SELECT STATEMENT
    4. 13.4. THE READ STATEMENT
    5. 13.5. INVALID KEY CLAUSE
    6. 13.6. READING DATA RANDOMLY AS NEEDED: AN EXAMPLE
    7. 13.7. UPDATING A KEYED FILE RANDOMLY
    8. 13.8. OPENING A KEYED FILE AS I-O
    9. 13.9. REWRITE A RECORD TO UPDATE IT
    10. 13.10. THE INVALID KEY CLAUSE
    11. 13.11. DELETING RECORDS FROM A KEYED FILE
    12. 13.12. CASE PROBLEM: A FULL UPDATE PROCEDURE
    13. 13.13. ADDING NEW RECORDS TO A KEYED FILE
    14. 13.14. UPDATING OR CHANGING EXISTING RECORDS IN A KEYED FILE
    15. 13.15. DELETING RECORDS FROM A KEYED FILE
    16. 13.16. UPDATING A KEYED FILE WITH MULTIPLE TRANSACTION RECORDS FOR EACH KEYED RECORD
    17. 13.17. PROCESSING A KEYED FILE WITHIN LIMITS
    18. 13.18. THE START STATEMENT
    19. 13.19. CHECKING FOR THE UPPER LIMIT
    20. 13.20. ACCESSING A KEYED FILE DYNAMICALLY THE ACCESS IS DYNAMIC CLAUSE
    21. 13.21. THE READ ... NEXT RECORD INSTRUCTION
    22. 13.22. A REVIEW OF INVALID KEY CLAUSES
    23. 13.23. THE FILE STATUS CLAUSE
    24. 13.24. EXCEPTION HANDLING WITH THE USE STATEMENT
    25. 13.25. END-OF-CHAPTER AIDS
      1. 13.25.1. CHAPTER SUMMARY
      2. 13.25.2. KEY TERMS
    26. 13.26. CHAPTER SELF-TEST
      1. 13.26.1. TRUE-OR-FALSE QUESTIONS
      2. 13.26.2. FILL-IN-THE BLANKS
    27. 13.27. CHAPTER REVIEW QUESTIONS
      1. 13.27.1. GENERAL QUESTIONS
    28. 13.28. DEBUGGING EXERCISES
    29. 13.29. PRACTICE PROGRAM #1
    30. 13.30. PRACTICE PROGRAM #2
    31. 13.31. PROGRAMMING ASSIGNMENTS
  17. 14. INTERACTIVE PROGRAMMING
    1. 14.1. CHAPTER OBJECTIVES
    2. 14.2. BATCH VERSUS INTERACTIVE PROCESSING
      1. 14.2.1. BATCH PROCESSING
    3. 14.3. INTERACTIVE PROCESSING
    4. 14.4. DISPLAY FILES
    5. 14.5. TYPES OF RECORD FORMATS USED IN DISPLAY FILES
    6. 14.6. MENU FORMAT
    7. 14.7. INFORMATIONAL OR QUERY FORMAT
    8. 14.8. DATA ENTRY FORMAT
    9. 14.9. List or Work With Format
    10. 14.10. ELEMENTS OF A RECORD FORMAT
    11. 14.11. ATTRIBUTES
    12. 14.12. SETTING ATTRIBUTES WITH THE COLOR KEYWORD
    13. 14.13. SETTING ATTRIBUTES WITH THE DSPATR KEYWORD
    14. 14.14. CASE PROBLEM: AN INTERACTIVE QUERY PROGRAM
      1. 14.14.1. PROBLEM DEFINITION
    15. 14.15. DEFINING THE DDS FOR A DISPLAY FILE
    16. 14.16. DEFINING THE FILE-LEVEL KEYWORDS FOR THE DISPLAY FILE
    17. 14.17. USING INDICATORS IN INTERACTIVE PROGRAMS
    18. 14.18. DEFINING THE DDS FOR RECORD FORMAT SCREEN1
    19. 14.19. USING COLOR TO DEFINE ATTRIBUTES
    20. 14.20. DATE KEYWORD
    21. 14.21. DEFINING THE DDS FOR RECORD FORMAT SCREEN2
    22. 14.22. EDITING NUMERIC FIELDS
    23. 14.23. EDTCDE KEYWORD
    24. 14.24. DISPLAYING NEGATIVE VALUES
    25. 14.25. ZERO SUPPRESSION
    26. 14.26. DISPLAYING DOLLAR SIGNS
    27. 14.27. USING EDIT WORDS
    28. 14.28. CREATING THE DISPLAY FILE OBJECT
    29. 14.29. THE INTERACTIVE PROGRAM
    30. 14.30. ESTABLISHING A TRANSACTION FILE
    31. 14.31. THE ASSIGN CLAUSE
    32. 14.32. DEFINING INDICATORS IN A SEPARATE INDICATOR AREA
    33. 14.33. THE CONTROL-AREA CLAUSE
    34. 14.34. PROCESSING DISPLAY FILE INPUT/OUTPUT (I/O) OPERATIONS
      1. 14.34.1. WRITE STATEMENT
    35. 14.35. READ OPERATION
    36. 14.36. PROCEDURE DIVISION SPECIFICATIONS
    37. 14.37. TERMINATING A WORKSTN PROGRAM
    38. 14.38. CASE PROBLEM: AN INTERACTIVE FILE MAINTENANCE
    39. 14.39. DATA VALIDATION TECHNIQUES FOR DISPLAY FILES
    40. 14.40. COBOL/400 FILE MAINTANANCE PROGRAM
    41. 14.41. THE MOVE CORRESPONDING STATEMENT
    42. 14.42. END-OF-CHAPTER AIDS
      1. 14.42.1. CHAPTER SUMMARY
      2. 14.42.2. Key Terms
    43. 14.43. CHAPTER SELF-TEST
      1. 14.43.1. TRUE-OR-FALSE QUESTIONS
      2. 14.43.2. FILL-IN-THE BLANKS
    44. 14.44. CHAPTER REVIEW QUESTIONS
      1. 14.44.1. GENERAL QUESTIONS
      2. 14.44.2. PRACTICE PROGRAM
    45. 14.45. PROGRAMMING ASSIGNMENTS
  18. 15. SINGLE-LEVEL ARRAYS AND TABLES
    1. 15.1. CHAPTER OBJECTIVES
    2. 15.2. AN INTRODUCTION TO SINGLE-LEVEL OCCURS CLAUSES
      1. 15.2.1. WHY OCCURS CLAUSES ARE USED
      2. 15.2.2. DEFINING FIELDS WITH AN OCCURS CLAUSE
      3. 15.2.3. RELATIVE SUBSCRIPTING
    3. 15.3. USING AN OCCURS CLAUSE IN WORKING-STORAGE
    4. 15.4. USING LIKE CLAUSE WITH OCCURS CLAUSE
    5. 15.5. VALIDATING INPUT DATA
    6. 15.6. RULES FOR USE OF THE OCCURS CLAUSE
      1. 15.6.1. LEVELS 02–49
    7. 15.7. DEFINING ELEMENTARY OR GROUP ITEMS WITH AN OCCURS CLAUSE
    8. 15.8. ACCESSING WORKING-STORAGE AREAS DEFINED BY AN OCCURS CLAUSE
    9. 15.9. PROCESSING DATA STORED IN AN ARRAY
      1. 15.9.1. USING OCCURS WITH VALUE AND REDEFINES CLAUSES
    10. 15.10. PRINTING DATA STORED IN AN ARRAY
    11. 15.11. PRINTING SUBSCRIPTED VARIABLES IN A VARIETY OF WAYS
    12. 15.12. USING AN OCCURS CLAUSE FOR TABLE HANDLING
    13. 15.13. WHY TABLES ARE USED
    14. 15.14. STORING THE TABLE IN WORKING-STORAGE
    15. 15.15. USING THE READ ... INTO TO LOAD A TABLE
    16. 15.16. VALIDATING DATA
    17. 15.17. LOOKING UP DATA IN A TABLE: FINDING A MATCH
    18. 15.18. USE OF THE SEARCH STATEMENT FOR TABLE AND ARRAY PROCESSING
      1. 15.18.1. FORMAT OF THE SEARCH STATEMENT
    19. 15.19. USING THE SEARCH ... AT END FOR DATA VALIDATION
    20. 15.20. THE INDEXED BY CLAUSE AND THE SEARCH STATEMENT
    21. 15.21. HOW AN INDEX DIFFERS FROM A SUBSCRIPT
    22. 15.22. MODIFYING THE CONTENTS OF AN INDEX
      1. 15.22.1. THE SET STATEMENT
      2. 15.22.2. INITIALIZING AN INDEX BEFORE USING THE SEARCH
    23. 15.23. USING TWO WHEN CLAUSES FOR AN EARLY EXIT FROM A SEARCH
    24. 15.24. WHEN PART-NUMBERS DO NOT NEED TO BE STORED
    25. 15.25. SEARCHING FOR MULTIPLE MATCHES
    26. 15.26. INTERNAL VERSUS EXTERNAL TABLES
    27. 15.27. LOOKING UP TABLE DATA FOR ACCUMULATING TOTALS
    28. 15.28. THE SEARCH ... VARYING OPTION FOR PROCESSING PARALLEL TABLES
    29. 15.29. DEFINITION OF A SERIAL SEARCH
    30. 15.30. THE BINARY SEARCH
    31. 15.31. DEFINITION OF A BINARY SEARCH
    32. 15.32. THE SEARCH ALL STATEMENT
    33. 15.33. ASCENDING OR DESCENDING KEY WITH THE SEARCH ALL STATEMENT
    34. 15.34. END-OF-CHAPTER AIDS
      1. 15.34.1. CHAPTER SUMMARY
      2. 15.34.2. KEY TERMS
    35. 15.35. CHAPTER SELF-TEST
      1. 15.35.1. TRUE-OR-FALSE QUESTIONS
      2. 15.35.2. FILL-IN-THE-BLANKS QUESTIONS
    36. 15.36. CHAPTER REVIEW QUESTIONS
      1. 15.36.1. GENERAL QUESTIONS
    37. 15.37. DEBUGGING EXERCISES
    38. 15.38. PRACTICE PROGRAM
    39. 15.39. PROGRAMMING ASSIGNMENTS
  19. 16. MULTIPLE-LEVEL ARRAYS AND TABLES
    1. 16.1. CHAPTER OBJECTIVES
    2. 16.2. DOUBLE-LEVEL OCCURS CLAUSE
    3. 16.3. DEFINING A DOUBLE-LEVEL, OR TWO-DIMENSIONAL, ARRAY
    4. 16.4. USING SUBSCRIPTS WITH DOUBLE-LEVEL OCCURS ENTRIES
    5. 16.5. ACCESSING A DOUBLE-LEVEL, OR TWO-DIMENSIONAL, ARRAY
    6. 16.6. THE PERFORM ... VARYING WITH THE AFTER OPTION
    7. 16.7. USING NESTED PERFORMS
    8. 16.8. USING PERFORM ... VARYING ... AFTER
    9. 16.9. USING A DOUBLE-LEVEL, OR TWO-DIMENSIONAL, ARRAY FOR ACCUMULATING TOTALS
    10. 16.10. LOADING INPUT DATA INTO A DOUBLE-LEVEL, OR TWO-DIMENSIONAL, ARRAY
    11. 16.11. PERFORMING A LOOK-UP USING A DOUBLE-LEVEL OCCURS
      1. 16.11.1. PERFORMING A FULL TABLE LOOK-UP
    12. 16.12. THE IDENTIFIER USED WITH THE SEARCH REFERS TO THE LOWEST-LEVEL OCCURS ENTRY
    13. 16.13. SEARCHING ONLY PART OF A TABLE
    14. 16.14. VARYING ONLY ONE INDEX
    15. 16.15. SEARCHING ELEMENTS IN AN ARRAY
    16. 16.16. SEARCHING AN ARRAY UNTIL A MATCH IS FOUND
    17. 16.17. SEARCHING AN ENTIRE ARRAY FOR MULTIPLE MATCHES
    18. 16.18. TRIPLE-LEVEL OCCURS CLAUSES AND MORE
    19. 16.19. END-OF-CHAPTER AIDS
      1. 16.19.1. CHAPTER SUMMARY
      2. 16.19.2. KEY TERMS
    20. 16.20. CHAPTER SELF-TEST
      1. 16.20.1. TRUE-OR-FALSE QUESTIONS
      2. 16.20.2. FILL-IN-THE BLANKS
      3. 16.20.3. GENERAL QUESTIONS
    21. 16.21. DEBUGGING EXERCISES
    22. 16.22. PRACTICE PROGRAM
    23. 16.23. PROGRAMMING ASSIGNMENTS
  20. 17. SUBFILE PROGRAMMING
    1. 17.1. CHAPTER OBJECTIVES
    2. 17.2. LIST SCREEN OR WORK WITH SCREEN
    3. 17.3. SUBFILE RECORD FORMATS
    4. 17.4. DESIGNING SCREEN FORMATS FOR AN INTERACTIVE SUBFILE PROGRAM
    5. 17.5. THE PROMPT RECORD FORMAT-SFLPROMPT
    6. 17.6. DEFINING SUBFILE RECORD FORMATS
    7. 17.7. THE SUBFILE RECORD FORMAT—SFLRECORD
    8. 17.8. THE SUBFILE CONTROL-RECORD FORMAT-SFLCONTROL
    9. 17.9. LOADING THE SUBFILE
    10. 17.10. CASE PROBLEM #1—LOAD-ALL SUBFILE
    11. 17.11. THE LOAD-ALL SUBFILE PROGRAM
    12. 17.12. ESTABLISHING A SUBFILE TRANSACTION FILE
    13. 17.13. ACCESS IS DYNAMIC CLAUSE
    14. 17.14. THE RELATIVE KEY CLAUSE
    15. 17.15. THE CONTROL-AREA CLAUSE
    16. 17.16. FILE STATUS CLAUSE
    17. 17.17. DEFINING INDICATORS AND FUNCTION KEYS IN SEPARATE AREAS
    18. 17.18. QUALIFICATION OF NAMES
    19. 17.19. WRITING TO A SUBFILE TRANSACTION FILE
    20. 17.20. PROCEDURE DIVISION SPECIFICATIONS
      1. 17.20.1. 100-INITIALIZATION-RTN
      2. 17.20.2. 200-PROCESS-SCREEN-RECORD-RTN
      3. 17.20.3. 210-CLEAR-SUBFILE.
      4. 17.20.4. 220-LOAD-SUBFILE and 225-READ-EMPLOYEE-RECORD-RTN.
      5. 17.20.5. 230-DISPLAY-SUBFILE.
      6. 17.20.6. 300-TERMINATION-RTN.
    21. 17.21. EXPANDING SUBFILE
    22. 17.22. SINGLE-PAGE-AT-A-TIME SUBFILE
    23. 17.23. CASE PROBLEM #2: AN INTERACTIVE SUBFILE UPDATE
    24. 17.24. UPDATING RECORDS IN A SUBFILE
    25. 17.25. END-OF-CHAPTER AIDS
      1. 17.25.1. CHAPTER SUMMARY
      2. 17.25.2. KEY TERMS
    26. 17.26. CHAPTER SELF-TEST
      1. 17.26.1. TRUE-OR-FALSE QUESTIONS
      2. 17.26.2. FILL-IN-THE BLANKS
    27. 17.27. CHAPTER REVIEW QUESTIONS
      1. 17.27.1. GENERAL QUESTIONS
      2. 17.27.2. PRACTICE PROGRAM
    28. 17.28. PROGRAMMING ASSIGNMENTS
  21. A. THE 5250 KEYBOARD
    1. A.1. THE 5250 KEYBOARD
      1. A.1.1. COMMON ENGRAVED KEYS
      2. A.1.2. DISTINCT 5250 KEYS
      3. A.1.3. USING FUNCTION KEYS
  22. B. COBOL CHARACTER SET AND RESERVED WORDS
    1. B.1. EBCDIC CHARACTER SET
    2. B.2. COBOL CHARACTERS
    3. B.3. RESERVED WORDS
    4. B.4. USING THE APOSTROPHE FOR ALPHANUMERIC LITERALS
  23. C. CRTBNDCBL COMMAND AND PROCESS STATEMENT
    1. C.1. CRTBNDCBL COMMAND
      1. C.1.1. OPTION 14 ON WORK WITH MEMBERS USING PDM SCREEN
      2. C.1.2. PROMPTING THE CRTCBNCBL COMMAND
      3. C.1.3. SUBMITTING THE CRTCBNCBL COMMAND FROM THE COMMAND LINE
      4. C.1.4. PARAMETERS OF THE CRTCBNCBL COMMAND
    2. C.2. PROCESS STATEMENT