HP OpenVMS Systems Documentation | 
	
HP COBOL
 | 
| Previous | Contents | Index | 
In Figures 11-14 and 11-15, the output from the sample program is shown.
Figure 11-14 MENU-SCREEN Output (Alpha, I64)
      +------------------------------------------------------------------------------+ | Daily Calendar | | | | | | || | | | | Show appointments for a day | | | | Schedule an appointment | | | | Cancel an appointment | | | | Print your appointments | | | | | | | | | | | | Use the arrow keys to move the cursor among menu items. | | Press <Return> when the cursor is at the desired item. | | Press <F10> to exit. | | | | || | | | +------------------------------------------------------------------------------+  | 
Figure 11-15 SCHEDULE-SCREEN Output (Alpha, I64)
      +------------------------------------------------------------------------------+ | Schedule Appointment | | | | | | | | Description of Appointment: | |Meeting with Bill and Susan | | | | | | Date of Appointment (DD/MM/YY): 01/03/94 | | | | Time of Appointment (HH:MM mm): 11:00 AM | | | | | | | | | | Use Cursor Keys to move within the fields. | | Press <Tab> to enter next field. | | Press <Return> when finished. | | | | | | | | | +------------------------------------------------------------------------------+  | 
COBOL programs can communicate with each other, as well as with non-COBOL programs. Program-to-program communication is conducted by using one (or combinations) of the following:
This chapter includes the following information about interprogram communication:
A multiple COBOL program run unit consists of either of the following:
Separately compiled programs can be concatenated in one source file, or
can be written as separate source files.
12.1.1 Examples of COBOL Run Units
Example 12-1 shows a run unit with three separately compiled programs, none of which have contained programs. MAIN-PROGRAM ((1)) calls separate program SUB1 ((2)), that calls separate program SUB2 ((3)).
| Example 12-1 Run Unit with Three Separately Compiled Programs | 
|---|
      
  IDENTIFICATION DIVISION.               IDENTIFICATION DIVISION.
  PROGRAM-ID. MAIN-PROGRAM. (1)           PROGRAM-ID.  SUB1.       (2)
  .                                      .
  .                                      .
  .                                      .
  CALL SUB1.                             CALL SUB2.
  .                                      .
  .                                      .
  .                                      .
  STOP RUN.                              EXIT PROGRAM.
  END PROGRAM MAIN-PROGRAM               END PROGRAM SUB1.
                     IDENTIFICATION DIVISION.
                     PROGRAM-ID.  SUB2.      (3)
                     .
                     .
                     .
                     EXIT PROGRAM.
                     END PROGRAM SUB2.
 | 
A separately compiled program has a nesting level number of 1. If this program contains other source programs, it is the outermost containing program. A contained program has a nesting level number greater than 1.  | 
  
Example 12-2 shows a run unit with one main program ((4)) and two contained programs (SUB1 ((5)) is a directly contained program of MAIN-PROGRAM; SUB2 ((6)) is an indirectly contained program of MAIN-PROGRAM).
| Example 12-2 Run Unit with a Main Program and Two Contained Programs | 
|---|
      
                IDENTIFICATION DIVISION.
                PROGRAM-ID.  MAIN-PROGRAM. (4)
                .
                .
                .
                CALL SUB1.
                .
                .
                .
                STOP RUN.
                IDENTIFICATION DIVISION.
                PROGRAM-ID.  SUB1.       (5)
                .
                .
                .
                CALL SUB2.
                EXIT PROGRAM.
                IDENTIFICATION DIVISION.
                PROGRAM-ID.  SUB2.       (6)
                .
                .
                .
                EXIT PROGRAM.
                END PROGRAM  SUB2.
                END PROGRAM  SUB1.
                END PROGRAM MAIN-PROGRAM.
 | 
Example 12-3 shows a run unit with three separately compiled programs ((7), (10), and (11)). One of the separately compiled programs, MAIN-PROGRAM ((7)), has two directly contained programs, SUB1 and SUB2 ((8) and (9)).
| Example 12-3 Run Unit with Three Separately Compiled Programs, One with Two Contained Programs | 
|---|
      
                IDENTIFICATION DIVISION.
                PROGRAM-ID.  MAIN-PROGRAM. (7)
                .
                .
                .
                CALL SUB1.
                CALL SUB2.
                .
                STOP RUN.
                IDENTIFICATION DIVISION.
                PROGRAM-ID.  SUB1.        (8)
                .
                .
                .
                CALL SUB3.
                EXIT PROGRAM.
                END PROGRAM SUB1.
                IDENTIFICATION DIVISION.
                PROGRAM-ID.  SUB2.       (9)
                .
                .
                .
                EXIT PROGRAM.
                END PROGRAM  SUB2.
                END PROGRAM MAIN-PROGRAM.
                IDENTIFICATION DIVISION.
                PROGRAM-ID.  SUB3.       (10)
                .
                .
                .
                CALL SUB4.
                .
                .
                .
                STOP RUN.
                IDENTIFICATION DIVISION.
                PROGRAM-ID.  SUB4.       (11)
                .
                .
                .
                EXIT PROGRAM.
 | 
| Previous | Next | Contents | Index |