This chapter describes coding S-COBOL programs, and S-COBOL structures.
Follow these guidelines when coding programs using S-COBOL
-KYWD- 12-*----20---*---- /* commentline
-KYWD- 12-*----20---*----
/*commentline
-KYWD- 12-*----20---*----30---*--
Program code /*comment
| Comparison |
Relational Operator |
|---|---|
|
Greater than |
IS GREATER THAN |
|
Not greater than |
IS NOT GREATER THAN |
|
Less than |
IS LESS THAN IS < |
|
Not less than |
IS NOT LESS THAN |
|
Equal to |
IS EQUAL TO |
|
Not equal to |
IS NOT EQUAL TO |
|
Greater than or equal to |
>= |
|
Less than or equal to |
<= |
| Abbreviated Syntax |
S-COBOL/COBOL Equivalent |
|---|---|
|
A = B |
MOVE B TO A |
|
A B = C |
MOVE C TO A B |
|
A = B + C |
COMPUTE A = B + C |
conditionalverb [AT] END ON filename
INVALID [KEY] ON filename
statementblock
ENTRY literal . . [USING identifier1, ..., identifierN]
ESCAPE
Format 1:
EVALUATE identifier1
WHEN valuexpression1
statementblock
[ .
.
WHEN valuexpressionN
statementblockN]
[WHEN OTHER
statementblock]
Format 2 (decision table):
EVALUATE identifier1[, ..., identifierN]
WHEN valuexpression1[, ..., valuexpressionN]
statementblock
[ .
.
WHEN valuexpressionN+1[, ..., valuexpressionN+N]
statementblock]
[WHEN OTHER
statementblock]
EXIT PROGRAM
Format 1:
IF condition1
statementblock
[ ELSE-IF|ELSE IF condition2
statementblock
.
.
ELSE-IF|ELSE IF conditionN
statementblock]
[ELSE
statementblock]
Format 2:
COBOLimperativestatement
... COBOLconditionalclause
statementblock
ELSE-IF|ELSE IF condition1
statementblock
[ .
.
ELSE-IF|ELSE IF conditionN
statementblock]
[ELSE
statementblock]
Format 1:
PERFORM paragraphname
Format 2:
PERFORM paraname (argument1[[,] argument2[,] ...[,] argumentN]) . . paraname ([+|-]argument1[[,] [+|-]argument2[,] ...[,] [+|-]argumentN])
Format 1:
REPEAT
statementblock
UNTIL|WHILE condition
[statementblock]
Format 2:
REPEAT VARYING|LINKING indexname|identifier1
... [FROM indexexpression]|[arithexpression]
... [BY literal]|[identifier2]
[statementblock]
UNTIL|WHILE condition
[statementblock]
Format 3:
REPEAT VARYING|LINKING indexname|identifier1
... [FROM indexexpression][arithexpr1]
... [BY literal]|[identifier2]
... [DOWN] TO|THRU arithexpr2
statementblock
Format 4:
REPEAT VARYING|LINKING clause1
.
.
[... VARYING|LINKING clauseN]
statementblock1
[UNTIL|WHILE condition
statementblock]
When the SAGE-TRACE-FLAG is tested, APS generates:
WORKING-STORAGE SECTION.
.
.
02 SAGE-TRACE-FLAG PIC X VALUE "T".
.
.
PROCEDURE DIVISION.
.
.
paragraphname
IF SAGE-TRACE-FLAG = TRUE
DISPLAY "EXEC:--paragraphname--".
.
.
Format 1:
SEARCH identifier1 VARYING indexname|identifier2
... [[AT] END]
statementblock
[WHEN searchcondition1
statementblock
.
.
[WHEN searchconditionN
statementblock]]
Format 2:
SEARCH ALL identifier [[AT] END]
statementblock
WHEN searchcondition
statementblock
STOP RUN
S-COBOL source input:
WS
01 [viewname] INCLUDE logicalviewname [(userfieldlist)]
.
.
SUPRA suprastatement
... suprastatement continuation
... .
... .
COBOL source output:
WORKING-STORAGE SECTION.
01 [viewname] INCLUDE logicalviewname [(userfieldlist)]
.
.
suprastatement
suprastatement continuation
.
.
TRUE|FALSE dataname1 [dataname2 [... datanameN]]
APS generates in Working-Storage:
01 GENERATED-FLAGS.
02 TRUX PIC X VALUE 'T'.
88 ALWAYS VALUE 'T'.
88 NEVER VALUE 'F'.
02 FALSX PIC X VALUE 'F'.
UNTIL|WHILE condition1 [AND|OR condition2
... [... AND|OR conditionN]]
statementblock
USERNAME paragraphname
Copyright © 2002 Micro Focus International Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.