[an error occurred while processing this directive]
HP OpenVMS Systems Documentation |
HP COBOL
|
Previous | Contents | Index |
ITEMA Value |
ITEMB Description |
ITEMB Contents |
|
---|---|---|---|
a. | ABCD | PIC X(4) | ABCD |
b. | ABCD | PIC X(6) | ABCDss |
c. | ABCD | PIC X(6) JUST | ssABCD |
d. | ABCs | PIC X(6) JUST | ssABCs |
e. | ABCD | PIC XXX | ABC |
f. | ABCD | PIC XX JUST | CD |
ITEMA Value |
ITEMB Description |
ITEMB Contents |
|
---|---|---|---|
a. | 063080s | XX/99/XX | 06/30/80 |
b. | 30JUN80 | 99BAAAB99 | 30sJUNs80 |
c. | 6374823 | XXXBXXX/XX/X | 637s482/3s/s |
d. | 123456s | 0XB0XB0XB0XB | 01s02s03s04s |
ITEMA PICTURE |
ITEMA Value |
ITEMB PICTURE |
ITEMB Value |
|
---|---|---|---|---|
a. | Z,ZZZ.99- | 1,234.56- | 999.999- | 234.560- |
b. | ZZZ,ZZZ.99- | ss1,234.56- | $$$,$$$.99- | s$1,234.56- |
c. | $$$,$$$.99CR | s$1,234.56CR | $$$,$$$.99- | s$1,234.56- |
d. | $$$,$$$.99DB | s$1,234.56DB | ZZZ,ZZZ.99CR | ss1,234.56CR |
e. | +++++.99 | +1234.56 | ZZZZZ.99+ | s1234.56+ |
f. | ++++++.99 | s-1234.56 | ZZZZZZ.99- | ss1234.56- |
g. | ----- .99 | -1234.56 | ZZZZZ.99DB | s1234.56DB |
h. | ------ .99 | ss1234.56 | $$,$$$.99 | $1,234.56 |
i. | $$$$.99- | $123.45- | /XXBXXBXXBXX/ | /$1s23s.4s5-/ |
j. | $$$$.99- | $123.45- | /99B99B99B99/ | /00s00s01s23/ |
The MULTIPLY statement multiplies two numeric operands and stores the product in one or more data 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 an on size error condition has occurred.stment2
is an imperative statement executed when no on size error condition has occurred.
Each of the examples assume these data descriptions and beginning values:
INITIAL VALUES
03 ITEMA PIC S99 VALUE 4. 4 03 ITEMB PIC S99 VALUE -35. -35 03 ITEMC PIC S99 VALUE 10. 10 03 ITEMD PIC S99 VALUE 5. 5 |
MULTIPLY 2 BY ITEMB. ITEMB = -70 |
MULTIPLY 3 BY ITEMB ON SIZE ERROR ITEMB = -35 MOVE 0 TO ITEMC. ITEMC = 0 |
MULTIPLY 2 BY ITEMB ON SIZE ERROR ITEMB = -70 MOVE 0 TO ITEMC NOT ON SIZE ERROR MOVE 1 TO ITEMC. ITEMC = 1 |
MULTIPLY 4 BY ITEMA ITEMB ITEMC ON SIZE ERROR MOVE 1 TO ITEMD END-MULTIPLY MULTIPLY 2 BY ITEMA ITEMB ITEMC ON SIZE ERROR ADD 1 TO ITEMD END-MULTIPLY. |
After First MULTIPLY |
After Second MULTIPLY |
---|---|
ITEMA = 16 | ITEMA = 32 |
ITEMB = -35 | ITEMB = -70 |
ITEMC = 40 | ITEMC = 80 |
ITEMD = 1 | ITEMD = 1 |
If the initial value of ITEMB had been -20, a SIZE ERROR condition
would not have occurred during the first MULTIPLY. However, the second
MULTIPLY would have caused the condition:
After First MULTIPLY |
After Second MULTIPLY |
---|---|
ITEMA = 16 | ITEMA = 32 |
ITEMB = -80 | ITEMB = -80 |
ITEMC = 40 | ITEMC = 80 |
ITEMD = 5 | ITEMD = 6 |
Previous | Next | Contents | Index |