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.