Perform a paragraph.
PERFORM paragraphname
Perform a paragraph and pass arguments.
PERFORM paragraphname (actualargument1[[,]
... actualargument2[,] ... actualargumentN])
.
.
.
PARA paragraphname ([+|-]formalargument1[[,]
... [+|-]formalargument2[,] ... [+|-]formalargumentN])
|
+|- |
A plus (+) or minus (-) sign preceding a formalargument passes values between actual arguments and formal arguments, as follows: |
|
With a plus sign (+), PERFORM passes the actualargument value to formalargument after the paragraph executes. The program does not return the formalargument value to actualargument. |
|
|
With a minus sign (-), PERFORM passes the formalargument value to the actualargument after the paragraph executes. |
|
|
If there is no plus or minus sign, the PERFORM passes the actualargument to its corresponding formalargument. After the paragraph executes, PERFORM passes the formalargument back to its corresponding actualargument. |
|
|
actualargu-ment |
Values you send to or receive from a formalargument in the paragraph; can be literals, identifiers, arithmetic expressions, variables, or index names. |
|
formal-argument |
Values you receive from or send to an actualargument in the PERFORM statement. |
|
paragraph-name |
Name of paragraph to perform. |
PERFORM PARA-1( 'ABC', ABC-FLD, RESULT)
.
.
.
PARA-1( +ARG1, +ARG2, -'Y')
MOVE 'ABC' TO ARG-1
MOVE ABC-FLD TO ARG2
PERFORM PARA-1 THRU .......
MOVE 'Y' TO RESULT
000100 NTRY . . . 003010 IF CLASS = 'HALF-TIME' 003020 PERFORM GET-SALARY( 20, 003021 ... HOURLY-RATE, WEEKLY-PAY) 003030 ELSE 003040 PERFORM GET-SALARY( 40, 003041 ... HOURLY-RATE, WEEKLY-PAY) 003050 WEEKLY-PAY = WEEKLY-PAY * TAX 003060 COMPUTE MEDICAL-DEDUC = 003061 ... HOURLY-RATE * 1.50 . . . 005010 PARA GET-SALARY( +HOURS-WORKED, 005011 ... PAY-RATE,-TOT-PAY) 005020 TOT-PAY = HOURS-WORKED * PAY-RATE .