• Aucun résultat trouvé

GENERAL FORMAT Formatl

Dans le document Language Reference (Page 83-92)

FROM {mnemOnic-name}J

GENERAL FORMAT Formatl

{ identifier-l } [, identifier-2 ]

ADD l i teral-l , l i teral-2 •.. TO identifier-m [ROUNDED]

Format 2

Format 3

[.identifier-n

[ROUNDED~...

[;ON SIZE ERROR imperative-statement]

{

identifier-l} {identifier-2} [, identifier-3 ] l i teral-l ' l i teral-2 , l i teral-3 ...

GIVING identifier-m [ROUNDED] [identifier-n [ROUHDED]] _ ••

[ ; ON SIZE ERROR imperative-statement]

{

CORRESPONDING}

identifier-l TO identifier-2 CORR

ON ~ ERROR imperative-statement]

[ROUNDED]

Language Reference Manual 3 - 69

The ALTER Statement

FUNCTION

The ALTER statement modifies a predetermined sequence of operations.

GENERAL FORMAT

~ procedure-name-l TO [PROCEED TO] procedure-name-2

[, procedure-name-3 TO [PROCEED TO] procedure-name-4 ] ..•

SYNTAX RULES

1. Each procedure-name-l, procedure-name-3, ... , is the name of a paragraph that contains a single sentence consisting of a GO TO statement without the DEPENDING phrase.

2. Each procedure-name-2, procedure-name-4, ... , is the name of a paragraph or section in the Procedure Division.

GENERAL RULES

1. Execution of the ALTER statement modifies the GO TO statement in the paragraph named procedure-name-l, procedure-name-3, ... , so that subsequent executions of the modified GO TO statements cause transfer of control to procedure-name-2, procedure-name-4, ... , respectively. Modified GO TO statements in independent segments may, under some circumstances, be returned to their initial states (see Independent Segments in Chapter 8).

2. A GO TO statement in a section whose segment-number is greater than or equal to 50 must not be referred to by an ALTER statement in a section with a different segment-number.

All other uses of the ALTER statement are valid and are performed even if procedure-name-l, procedure-name-3 is in an overlayable fixed segment.

Language Reference Manual 3 - 71

The DISPLAY Statement

FUNCTION

The DISPLAY statement causes data to be transferred from specified data items to the CRT screen.

GENERAL FORMATS Format 1

DISPLAY{

i~entifier-l

} [ ,{ identifier-2}] ... [ { mnemonic-name} ]

Ilteral-l literal-2 UPON CONSOLE

SYNTAX RULES

1. The mnemonic-name in Format-l must be associated with the console in the SPECIAL-NAMES paragraph in the Environment Division.

2. Each literal may be any figurative constant, except ALL.

Language Reference Manual 3 -73

4. If the data item (or the portion of the data-item not yet transferred) is the same size as the data record, the data item (or the portion not yet transferred) is transferred.

5. If the data item (or the portion of the data item not yet transferred) is not the same size as the data record, one of the following applies:

a. If the size of the data item (or the portion of the data item not yet transferred) exceeds the size of the data record, the data item (or the portion not yet transferred) is transferred to the data record, beginning with the leftmost character and continuing until the data record is filled, an additional data record is then requested.

h. If the size of the data record exceeds the size of the data item (or the portion of the data item not yet transferred), the data item (or the portion not yet transferred) is transferred to the data record beginning with the leftmost character and continuing until the final character of the data item has been transferred. The remaining characters in the data record are space filled.

6. When operands in a DISPLAY statement are USAGE COMP or USAGE

I

COMP-3 such operands are converted to USAGE DISPLAY. The size of the sending item is the sum of the sizes associated with the operands (after possible conversion) and the values of the operand are transferred in the sequence in which they are encountered.

Language Reference Manual 3 -75

The DIVIDE Statement

FUNCTION

The DMDE statement divides one numeric data item into others and sets the values of data items equal to the quotient.

GENERAL FORMAT

Fonnatl

{ identifier-l}

literal-l !!!Q identifier-2 [ROUNDED]

[, identifier-3 [ ROUNDED]] ••• [;ON SIZE ERROR imperative-statement]

Fonnat2

{ identifier-l}

literal-l INTO {identifier-2 } literal-2

GIVING identifier-3 [ROUNDED] [. identifier-4 lROUHDBD1] •••

[;ON SIZE ERROR imperative-statement]

Fonnat3

{ identifier-l}

literal-l ! ! {

identifier-2 } literal-2

~ identifier-3 [ROUHDED] [. identifier-4 lROUHDBD1] •••

(;ON §!!! !!!QB imperative-statement]

Language Reference Manual 3 -77

2. When Format 1 is used, the value ofidentifier-l or literal-l is divided into the value ofidentifier-2. The value of the dividend (identifier-2) is replaced by this quotient; similarly for identifier-lor literal-l and literal-3, etc.

3. When Format 2 is used, the value of identifier-lor literal-l is divided into identifier-2 or literal-2 and the result is stored in identifier-3, identifier-4 etc.

4. When Format 3 is used, the value of identifier-lor literal-l is divided by the value of identifier-2 or literal-2 and the result is stored in identifier-3, identifier-4 etc.

5. Formats 4 and 5 are used when a remainder from the division operation is desired, namely identifier-4. The remainder in COBOL is defined as the result of subtracting the product of the quotient (identifier-3) and the divisor from the dividend. Ifidentifier-3 is defined as a numeric edited item, the quotient used to calculate the remainder is an intermediate field which contains the unedited quotient. If ROUNDED is used, the quotient used to calculate the remainder is an intermediate field which contains the quotient of the DIVIDE statement, truncated rather than rounded.

6. In Formats 4 and 5, the accuracy of the REMAINDER data item (identifier-4) is defined by the calculation described above. Appropriate decimal alignment truncation (not rounding) will be performed for the content of the data item referenced by identifier-4, as needed.

7. When the ON SIZE ERROR phrase is used in Formats 4 and 5, the following rules pertain:

a. If the size error occurs on the quotient, no remainder calculation is meaningful. Thus, the contents of the data items referenced by both identifier-3 and identifier-4 will remain unchanged.

b. If the size error occurs on the remainder, the contents of the data item referenced by identifier-4 remains unchanged, However, as with other instances of multiple results of arithmetic statements, the user will have to do his own analysis to recognize which situation has actually occurred.

Language Reference Manual 3 -79

The EXIT Statement

FUNCTION

The EXIT statement provides a common end point for a series of procedures.

GENERAL FORMAT

!!!.'l.

SYNTAX RULES

1. The EXIT statement must appear in a sentence by itself.

2. The EXIT sentence must be the only sentence in the paragraph.

GENERAL RULE

An EXIT statement serves only to enable the user to assign a procedure-name to a given point in a program. Such an EXIT statement has no other effect on the compilation or execution of the program.

Language Reference Manual 3 -81

GENERAL RULES

1. When a GO TO statement, represented by Format 1 is executed, control is transferred to procedure-name-1 or to another procedure-name if the GO TO statement has been modified by an ALTER statement.

2. If procedure-name-1 is not specified in Format 1, an ALTER statement, referring to this GO TO statement, must be executed prior to the execution of this GO TO statement.

3. When a GO TO statement represented by Format 2 is executed, control is transferred to procedure-name-1, procedure-name-2, etc., depending on the value of the identifier being 1, 2, ... , n. If the value of the identifier is anything other than the positive or unsigned integers 1, 2, ... , n, then no transfer occurs and control passes to the next statement in the normal sequence for execution.

Language Reference Manual 3 - 83

b. If the condition is true and the NEXT SENTENCE phrase is specified instead of statement-l, the ELSE phrase, if specified, is ignored and control passes to the next executable sentence.

c. If the condition is false, statement-lor its surrogate NEXT SENTENCE is ignored, and statement-2, if specified, is executed. If statement-2 contains a procedure branching or conditional statement, control is explicitly transferred in accordance with the rules of that statement. If statement-2 does not contain a procedure branching or conditional statement, control passes to the next executable sentence. If the ELSE statement-2 phrase is not specified, statement-l is ignored and control passes to the next executable sentence.

d. If the condition is false, and the ELSE NEXT SENTENCE phrase is specified, statement-l is ignored, if specified, and control passes to the next executable sentence.

2. statement-l and/or statement-2 may contain an IF statement. In this case the IF statement is said to be nested.

IF statements within IF statements may be considered as paired IF and ELSE combinations, proceeding from left to right. Thus, any ELSE encountered is considered to apply to the immediately preceding IF that has not been already paired with an ELSE.

Language Reference Manual 3 -85

Format 3

INSPECT identifier 1 TALLYING

, identifier-2

[{mQ!!. } ~ REPLACING

SYNTAX RULES

Dans le document Language Reference (Page 83-92)