HP OpenVMS Systems Documentation | 
	
HP COBOL
 | 
	
| Previous | Contents | Index | 
      
WORKING-STORAGE SECTION.
01  TEXT-STRING           PIC X(30).
01  INPUT-MESSAGE         PIC X(60).
01  NAME-ADDRESS-RECORD.
    03  CIVIL-TITLE       PIC X(5).
    03  LAST-NAME         PIC X(10).
    03  FIRST-NAME        PIC X(10).
    03  STREET            PIC X(15).
    03  CITY              PIC X(15).
* Assume CITY ends with "/"
    03  STATE             PIC XX.
    03  ZIP               PIC 9(5).
01 PTR                    PIC 99.
01 HOLD-PTR               PIC 99.
01 LINE-COUNT             PIC 99.
 | 
      
DISPLAY " ".
DISPLAY NAME-ADDRESS-RECORD.
MOVE SPACES TO TEXT-STRING.
STRING CIVIL-TITLE DELIMITED BY " "
   " " DELIMITED BY SIZE
   FIRST-NAME DELIMITED BY " "
   " " DELIMITED BY SIZE
   LAST-NAME DELIMITED BY SIZE
     INTO TEXT-STRING.
DISPLAY TEXT-STRING.
DISPLAY STREET.
MOVE SPACES TO TEXT-STRING.
STRING CITY DELIMITED BY "/"
  ", " DELIMITED BY SIZE
  STATE DELIMITED BY SIZE
  " " DELIMITED BY SIZE
  ZIP DELIMITED BY SIZE
     INTO TEXT-STRING.
DISPLAY TEXT-STRING.
 | 
      Mr. Smith Irwin 603 Main St. Merrimack/ NH03054 Mr. Irwin Smith 603 Main St. Merrimack, NH 03054 Miss Lambert Alice 1229 Exeter St.Boston/ MA03102 Miss Alice Lambert 1229 Exeter St. Boston, MA 03102 Mrs. Gilbert Rose 8 State Street New York/ NY10002 Mrs. Rose Gilbert 8 State Street New York, NY 10002 Mr. Cowherd Owen 1064 A St. Washington/ DC20002 Mr. Owen Cowherd 1064 A St. Washington, DC 20002  | 
      
    MOVE 0 TO LINE-COUNT.
    MOVE 1 TO PTR.
GET-WORD.
    IF LINE-COUNT NOT < 4
      DISPLAY "   " TEXT-STRING
      GO TO GOT-WORDS.
    ACCEPT INPUT-MESSAGE.
    DISPLAY INPUT-MESSAGE.
SAME-WORD.
    MOVE PTR TO HOLD-PTR.
    STRING INPUT-MESSAGE DELIMITED BY SPACE
      ", " DELIMITED BY SIZE
      INTO TEXT-STRING
      WITH POINTER PTR
      ON OVERFLOW
    STRING "                 " DELIMITED BY SIZE
          INTO TEXT-STRING
          WITH POINTER HOLD-PTR
        DISPLAY "   " TEXT-STRING
    MOVE SPACES TO TEXT-STRING
        ADD 1 TO LINE-COUNT
        MOVE 1 TO PTR
        GO TO SAME-WORD.
    GO TO GET-WORD.
GOT-WORDS.
    EXIT.
 | 
      This example demonstrates how This, example, demonstrates, the STRING statement can how, the, STRING, statement, construct text strings can, construct, text, using the POINTER phrase strings, using, the, POINTER, phrase,  | 
The SUBTRACT statement subtracts one, or the sum of two or more, numeric items from one or more items. It stores the difference in one or more items.
num
is a numeric literal or the identifier of an elementary numeric item.rsult
is the identifier of an elementary numeric item. However, in Format 2, rsult can be an elementary numeric edited item. It is the resultant identifier.stment
is an imperative statement executed when a size error condition has occurred.stment2
is an imperative statement executed when no size error condition has occurred.grp-1
is the identifier of a group item.grp-2
is the identifier of a group item.
CORR is an abbreviation for CORRESPONDING.
Each of the examples assume these data descriptions and initial values.
INITIAL VALUES
      
     03  ITEMA  PIC S99 VALUE -85.             -85
     03  ITEMB  PIC 99 VALUE 2.                  2
     03  ITEMC  VALUE "123".
         05  ITEMD  OCCURS 3 TIMES             1 2 3
                 PIC 9.
     03  ITEME  PIC S99 VALUE -95.             -95
 | 
      SUBTRACT 2 ITEMB FROM ITEMA. ITEMA = -89  | 
      
SUBTRACT 14 FROM ITEMA, ITEME                  ITEMA = -99
  ON SIZE ERROR                                ITEME = -95
    MOVE 0 TO ITEMB.                           ITEMB = 0
 | 
      
SUBTRACT 14 FROM ITEMA                         ITEMA = -99
  ON SIZE ERROR
    MOVE 9 TO ITEMB.
  NOT ON SIZE ERROR
    MOVE 1 TO ITEMB.                           ITEMB =  1
 | 
      
SUBTRACT 1 FROM ITEMB ITEMD (ITEMB).           ITEMB = 1
                                               ITEMD (1) = 0
 | 
      
SUBTRACT ITEME ITEMD (ITEMB) FROM ITEMA        ITEMB = 8
     GIVING ITEMB.
 | 
      
SUBTRACT 10 ITEMB FROM ITEMD (ITEMB)         ITEMD (2) = 2
  ON SIZE ERROR                              ITEMA = 0
      MOVE 0 TO ITEMA
  END-SUBTRACT.
SUBTRACT 1 FROM ITEMA.                     ITEMA = -1
 | 
      
IF ITEMB < 3 AND > 1
   SUBTRACT 1 FROM ITEMD(ITEMB)
      ON SIZE ERROR
         MOVE 0 TO ITEMA
   END-SUBTRACT
   DISPLAY 'yes'
ELSE
   DISPLAY 'no'.
 | 
The SUPPRESS statement causes the Report Writer Control System (RWCS) to inhibit the presentation of a report group.
The SUPPRESS statement can appear only in a USE BEFORE REPORTING Declarative procedure.
      
PROCEDURE DIVISION.
DECLARATIVES.
DET SECTION.
    USE BEFORE REPORTING DETAIL-LINE.
DETA-1.
    IF SORTED-NAME = NAME
        ADD A TO B
        SUPPRESS PRINTING.
    IF NAME = SPACES SUPPRESS PRINTING.
END DECLARATIVES.
MAIN SECTION.
    .
    .
    .
 | 
| Previous | Next | Contents | Index |