[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cobol-dev] Cobol template for AS400
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><syntaxtemplate expanded="false"><category description="Reference of the COBOL language for AS400" expanded="false" name="Reference for AS400"><category description="Formats of IDENTIFICATION DIVISION" expanded="false" name="IDENTIFICATION DIVISION"><category description="Formats of paragraphs" expanded="false" name="Paragraphs"><template description="PROGRAM-ID paragraph" keyword="PROGRAM-ID" name="PROGRAM-ID paragraph">PROGRAM-ID. ${Program-Name}.
*> IS COMMON PROGRAM
*> IS INITIAL PROGRAM</template></category><template description="IDENTIFICATION DIVISION format" keyword="IDENTIFICATION_DIVISION" name="IDENTIFICATION DIVISION format">IDENTIFICATION DIVISION.
PROGRAM-ID. ${Program-Name}.</template><template description="END PROGRAM header" keyword="END_PROGRAM" name="END PROGRAM">END PROGRAM ${Program-Name}.</template></category><category description="Formats of ENVIRONMENT DIVISION" expanded="false" name="ENVIRONMENT DIVISION"><category description="Formats of CONFIGURATION SECTION" expanded="false" name="CONFIGURATION SECTION"><template description="CONFIGURATION SECTION format" keyword="CONFIGURATION_SECTION" name="CONFIGURATION SECTION format"> CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-AS400 WITH DEBUGGING MODE.
OBJECT-COMPUTER. IBM-AS400.
*> PROGRAM COLLATING SEQUENCE IS ${alphabet-name}
SPECIAL-NAMES.
*> ${environment-name-1} IS ${mnemonic-name-1}
*> ${environment-name-2} [IS ${mnemonic-name-2}]
*>> ON STATUS IS ${condition-name-1}
*>> OFF STATUS IS ${condition-name-2}
*> ALPHABET ${alphabet-name-1} IS STANDARD-1/STANDARD-2/NATIVE/EBCDIC/NLSSORT/
*>> [${literal-1} [THROUGH ${literal-2}]]...
*>> ${literal-1} ALSO [${literal-3}]...
*> CLASS ${class-name-1} IS [${literal-1} [THROUGH ${literal-2}]]...
*> CONSOLE IS DISPLAY/CRT
*> CRT STATUS is ${data-name-2}
*>>data-name-2:Must be described in the WORKING-STORAGE SECTION and must be a
*>>6-byte alphanumeric field or a 6-byte unsigned zoned integer.
*> CURRENCY SIGN IS ${literal-6}
*>> WITH PICTURE SYMBOL ${literal-7}
*> CURSOR IS ${data-name-1}
*>>data-name-1:Must be a 4- or 6-byte alphanumeric field or a 4- or 6-byte
*>>unsigned zoned integer field.
*> DECIMAL-POINT IS COMMA
*> FORMAT OF DATE/TIME IS
*>> ${literal-8} [SIZE IS integer-4 [LOCALE IS ${mnemonic-name-4}]]
*>> SIZE IS ${integer-4} LOCALE IS ${mnemonic-name-4}
*> LINKAGE TYPE IS ${environment-name-3}/PROGRAM/PROCEDURE FOR ${literal-7}
*>> USING ALL/${integer-1} THROUGH ${integer-2} ARE DESCRIBED
*> LOCALE ${locale-name-1}/${literal-4} IN LIBRARY ${literal-5}
*>> IS ${mnemonic-name-5}
*> .</template><template description="SOURCE-COMPUTER paragraph" keyword="SOURCE-COMPUTER" name="SOURCE-COMPUTER paragraph"> SOURCE-COMPUTER. ${Computer-Name}.
*> WITH DEBUGGING MODE</template><template description="OBJECT-COMPUTER paragraph" keyword="OBJECT-COMPUTER" name="OBJECT-COMPUTER paragraph"> OBJECT-COMPUTER. ${Computer-Name}.
*> PROGRAM COLLATING SEQUENCE IS ${Alphabet-name}</template></category><category description="Formats of INPUT-OUTPUT SECTION" expanded="false" name="INPUT-OUTPUT SECTION"><template description="INPUT-OUTPUT SECTION format" keyword="INPUT-OUTPUT_SECTION" name="INPUT-OUTPUT SECTION"> INPUT-OUTPUT SECTION.
*> FILE-CONTROL.
*>> file-control-entry
*> I-O-CONTROL.
*>> i-o-control-entry
</template><template description="FILE-CONTROL paragraph Sequential Files" keyword="FILE-CONTROL" name="FILE-CONTROL paragraph Sequential Files"> FILE-CONTROL. SELECT [OPTIONAL] ${file-name}
ASSIGN TO ${assignment-name-1/literal-1}
*> RESERVE ${integer} AREAS
*> ORGANIZATION IS SEQUENTIAL
*> PADDING CHARACTER IS ${data-name-6/literal-2}
***data-name-6:
*Must be defined in the Data Division as an alphanumeric 1 character data item
***literal-2:Must be a 1-character nonnumeric literal.
*> RECORD DELIMITER IS STANDARD-1/${assignment-name-2}
*> ACCESS MODE IS SEQUENTIAL
*> FILE STATUS IS ${data-name-1} [${data-name-5}]
***data-name-1:
*The status key data item must be defined in the Data Division as a 2-character
*alphanumeric item.
***data-name-5:
*For transaction files, the data item must be a 4-character alphanumeric item.
*For non-transaction files, the data item must be a 6-byte group item.</template><template description="I-O-CONTROL paragraph" keyword="I-O-CONTROL" name="I-O-CONTROL paragraph"> I-O-CONTROL.
*> COMMITMENT CONTROL FOR ${file-name-6}</template><template description="FILE-CONTROL paragraph Relative Files" keyword="FILE-CONTROL" name="FILE-CONTROL paragraph Relative Files"> FILE-CONTROL. SELECT [OPTIONAL] ${file-name}
ASSIGN TO ${assignment-name-1/literal-1}
*> RESERVE ${integer} AREAS
*> ORGANIZATION IS RELATIVE
*> ACCESS MODE IS
*>> SEQUENTIAL [RELATIVE KEY IS ${data-name-4}]
*>> RANDOM/DYNAMIC RELATIVE KEY IS ${data-name-4}
*> FILE STATUS IS ${data-name-1} [${data-name-5}]
***data-name-4:
*Must be defined as an unsigned integer data item whose description does not
*contain the PICTURE symbol P.
***data-name-1:
*The status key data item must be defined in the Data Division as a 2-character
*alphanumeric item.
***data-name-5:
*For transaction files, the data item must be a 4-character alphanumeric item.
*For non-transaction files, the data item must be a 6-byte group item.
</template><template description="FILE-CONTROL Paragraph Indexed Files" keyword="FILE-CONTROL" name="FILE-CONTROL Paragraph Indexed Files"> FILE-CONTROL. SELECT ${file-name}
ASSIGN TO ${assignment-name-1/literal-1}
*> RESERVE ${integer} AREAS
*> ORGANIZATION IS INDEXED
*> ACCESS MODE IS SEQUENTIAL/RANDOM/DYNAMIC
*> RECORD KEY IS EXTERNALLY-DESCRIBED-KEY/${data-name-2}
*>> WITH DUPLICATES
*> FILE STATUS IS ${data-name-1} [${data-name-5}]
***data-name-2:
*Data-name-2 is the RECORD KEY data item. It must be described as a
*fixed-length alphanumeric item within a record description entry associated
*with the file.
***data-name-1:
*The status key data item must be defined in the Data Division as a 2-character
*alphanumeric item.
***data-name-5:
*For transaction files, the data item must be a 4-character alphanumeric item.
*For non-transaction files, the data item must be a 6-byte group item.</template><template description="FILE-CONTROL Paragraph Sort or Merge Files" keyword="FILE-CONTROL" name="FILE-CONTROL Paragraph Sort or Merge Files"> FILE-CONTROL. SELECT ${file-name}
ASSIGN TO ${assignment-name-1/literal-1}</template><template description="FILE-CONTROL Paragraph Transaction Files" keyword="FILE-CONTROL" name="FILE-CONTROL Paragraph Transaction Files"> FILE-CONTROL. SELECT ${file-name}
ASSIGN TO ${assignment-name-1/literal-1}
*> ORGANIZATION IS TRANSACTION
*> ACCESS MODE IS
*>> SEQUENTIAL [RELATIVE KEY IS ${data-name-4}]
*>> DYNAMIC RELATIVE KEY IS ${data-name-4}
*> FILE STATUS IS ${data-name-1} [${data-name-5}]
*> CONTROL-AREA IS ${data-name-7}
</template></category><template description="ENVIRONMENT DIVISION format" keyword="ENVIRONMENT_DIVISION" name="ENVIRONMENT DIVISION format"> ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
*> SOURCE-COMPUTER.
*> OBJECT-COMPUTER.
*> SPECIAL-NAMES.
INPUT-OUTPUT SECTION.
*> FILE-CONTROL.
*> I-O-CONTROL.</template></category><category description="Formats of DATA DIVISION" expanded="false" name="DATA DIVISION"><category description="Formats of sections" expanded="false" name="Sections"><category description="Entries format" expanded="false" name="Entries of the File Section"><template description="File Description Entry Formatfile, Database" keyword="FD" name="File Description Entry Formatfile, Database"> FD ${file-name}
*> IS EXTERNAL
*> IS GLOBAL
*> BLOCK CONTAINS [${integer1} TO] ${integer2} CHARACTERS/RECORDS
*> RECORD CONTAINS ${integer3}/${integer6} TO ${integer7} CHARACTERS
*> LABEL RECORDS ARE STANDARD/OMITTED
*> VALUE OF ${system-name-1} IS ${data-name-1/literal-1}
*> DATA RECORDS ARE ${data-name-2}
.</template><template description="File Description Entry Disk" keyword="FD" name="File Description Entry Disk"> FD ${file-name}
*> IS EXTERNAL
*> IS GLOBAL
*> BLOCK CONTAINS [${integer1} TO] ${integer2} CHARACTERS/RECORDS
*> RECORD CONTAINS ${integer3}/${integer6} TO ${integer7} CHARACTERS/
*>> IS VARYING IN SIZE FROM ${integer-4} TO ${integer-5} CHARACTERS
*>> [DEPENDING ON ${data-name-1}]
*> LABEL RECORDS ARE STANDARD/OMITTED
*> VALUE OF ${system-name-1} IS ${data-name-1/literal-1}
*> DATA RECORDS ARE ${data-name-2}
.</template><template description="File Description Entry Diskette File" keyword="FD" name="File Description Entry Diskette File"> FD ${file-name}
*> IS EXTERNAL
*> IS GLOBAL
*> BLOCK CONTAINS [${integer1} TO] ${integer2} CHARACTERS/RECORDS
*> RECORD CONTAINS ${integer3}/${integer6} TO ${integer7} CHARACTERS
*> LABEL RECORDS ARE STANDARD/OMITTED
*> VALUE OF ${system-name-1} IS ${data-name-1/literal-1}
*> DATA RECORDS ARE ${data-name-2}
*> CODE-SET IS ${alphabet-name-1}
.</template><template description="File Description Entry Tapefile" keyword="FD" name="File Description Entry Tapefile"> FD ${file-name}
*> IS EXTERNAL
*> IS GLOBAL
*> BLOCK CONTAINS [${integer1} TO] ${integer2} CHARACTERS/RECORDS
*> RECORD CONTAINS ${integer3}/${integer6} TO ${integer7} CHARACTERS/
*>> IS VARYING IN SIZE FROM ${integer-4} TO ${integer-5} CHARACTERS
*>> [DEPENDING ON ${data-name-1}]
*> LABEL RECORDS ARE STANDARD/OMITTED
*> VALUE OF ${system-name-1} IS ${data-name-1/literal-1}
*> DATA RECORDS ARE ${data-name-2}
*> CODE-SET IS ${alphabet-name-1}
.</template><template description="File Description Entry Printer File" keyword="FD" name="File Description Entry Printer File"> FD ${file-name}
*> IS EXTERNAL
*> IS GLOBAL
*> BLOCK CONTAINS [${integer1} TO] ${integer2} CHARACTERS/RECORDS
*> RECORD CONTAINS ${integer3}/${integer6} TO ${integer7} CHARACTERS/
*> LABEL RECORDS ARE STANDARD/OMITTED
*> VALUE OF ${system-name-1} IS ${data-name-1/literal-1}
*> DATA RECORDS ARE ${data-name-2}
*> LINAGE IS ${data-name-3/integer-8} LINES
*>> WITH FOOTING AT ${data-name-4/integer-9}
*>> LINES AT TOP ${data-name-5/integer-10}
*>> LINES AT BOTTOM ${data-name-6/integer-11}
*> CODE-SET IS ${alphabet-name-1}
.</template><template description="Sort Description Entry Sort or Merge Files" keyword="SD" name="Sort Description Entry Sort or Merge Files"> SD ${file-name}
*> RECORD CONTAINS ${integer3}/${integer6} TO ${integer7} CHARACTERS/
*>> IS VARYING IN SIZE FROM ${integer-4} TO ${integer-5} CHARACTERS
*>> [DEPENDING ON ${data-name-1}]
*> DATA RECORDS ARE ${data-name-2}
.</template><template description="File Description Entry Transaction Files" keyword="FD" name="File Description Entry Transaction Files"> FD ${file-name}
*> IS EXTERNAL
*> IS GLOBAL
*> RECORD CONTAINS ${integer3}/${integer6} TO ${integer7} CHARACTERS
*> LABEL RECORDS ARE STANDARD/OMITTED
*> DATA RECORDS ARE ${data-name-2}
.</template></category><template description="FILE SECTION header" keyword="FILE_SECTION" name="FILE SECTION">FILE SECTION.</template><template description="WORKING-STORAGE SECTION header" keyword="WORKING-STORAGE_SECTION" name="WORKING-STORAGE SECTION">WORKING-STORAGE SECTION.</template><template description="LINKAGE SECTION header" keyword="LINKAGE_SECTION" name="LINKAGE SECTION">LINKAGE SECTION.</template></category><category description="Formats of a data item description" expanded="false" name="Data item descriptions"><category description="Formats of Clauses" expanded="false" name="Clauses"><template description="BLANK WHEN ZERO clause" keyword="BLANK_WHEN_ZERO" name="BLANK WHEN ZERO clause">BLANK WHEN ZERO</template><template description="JUSTIFIED clause" keyword="JUSTIFIED_RIGHT" name="JUSTIFIED clause">JUSTIFIED RIGHT</template><template description="OCCURS clause" keyword="OCCURS" name="OCCURS clause">OCCURS ${Integer} TIMES
*> ASCENDING KEY IS data-name
*> DESCENDING KEY IS data-name
*> INDEXED BY Index-Name</template><template description="OCCURS clause" keyword="OCCURS_DEPENDING_ON" name="OCCURS clause (DEPENDING ON)">OCCURS ${Integer-1} TO ${Integer-2} TIMES DEPENDING ON ${Data-Name}
*> ASCENDING KEY IS data-name
*> DESCENDING KEY IS data-name
*> INDEXED BY Index-Name</template><template description="PICTURE clause" keyword="PICTURE" name="PICTURE clause">PICTURE IS ${String}</template><template description="REDEFINES clause" keyword="REDEFINES" name="REDEFINES clause">REDEFINES ${Data-Name}</template><template description="SIGN clause" keyword="SIGN_LEADING" name="SIGN clause (LEADING)">SIGN IS LEADING
*> SEPARATE CHARACTER</template><template description="SIGN clause" keyword="SIGN_TRAILING" name="SIGN clause (TRAILING)">SIGN IS TRAILING
*> SEPARATE CHARACTER</template><template description="SYNCHRONIZED clause" keyword="SYNCHRONIZED_LEFT" name="SYNCHRONIZED clause (LEFT)">SYNCHRONIZED LEFT</template><template description="SYNCHRONIZED clause" keyword="SYNCHRONIZED_RIGHT" name="SYNCHRONIZED clause (RIGHT)">SYNCHRONIZED RIGHT</template><template description="USAGE clause" keyword="USAGE_BINARY" name="USAGE clause (BINARY)">USAGE IS BINARY</template><template description="USAGE clause" keyword="USAGE_BIT" name="USAGE clause (BIT)">USAGE IS BIT</template><template description="USAGE clause" keyword="USAGE_COMPUTATIONAL" name="USAGE clause (COMPUTATIONAL)">USAGE IS COMPUTATIONAL</template><template description="USAGE clause" keyword="USAGE_COMPUTATIONAL-5" name="USAGE clause (COMPUTATIONAL-5)">USAGE IS COMPUTATIONAL-5</template><template description="USAGE clause" keyword="USAGE_DISPLAY" name="USAGE clause (DISPLAY)">USAGE IS DISPLAY</template><template description="USAGE clause" keyword="USAGE_INDEX" name="USAGE clause (INDEX)">USAGE IS INDEX</template><template description="USAGE clause" keyword="USAGE_PACKED-DECIMAL" name="USAGE clause (PACKED-DECIMAL)">USAGE IS PACKED-DECIMAL</template><template description="VALUE clause" keyword="VALUE" name="VALUE clause">VALUE IS ${Literal}</template></category><template description="Define a data item" keyword="01" name="Data item"> ${level-number}
*> ${data-name-1}/FILLER
*> REDEFINES ${data-name-2}/LIKE ${data-name-3} [integer]/IS TYPEDEF
*> IS EXTERNAL
*> BLANK WHEN ZERO
*> FORMAT OF DATE/TIME/TIMESTAMP IS
*>> ${literal-8} [SIZE IS integer-4 [LOCALE IS ${mnemonic-name-4}]]
*>> SIZE IS ${integer-4} LOCALE IS ${mnemonic-name-4}
*> IS GLOBAL
*> JUSTIFIED RIGHT
*> OCCURS ${integer-2} TIMES
*>> ASCENDING/DESCENDING KEY IS ${data-name-2}
*>> INDEXED BY ${index-name-1}
*> OCCURS ${integer-1} TO ${integer-2} TIMES DEPENDING ON ${data-name-1}
*>> ASCENDING/DESCENDING KEY IS ${data-name-2}
*>> INDEXED BY ${index-name-1}
*> PICTURE IS ${character-string}
*>> SIZE IS ${integer-3} LOCALE IS ${mnemonic-name-1}
*> SIGN IS LEADING/TRAILING [SEPARATE CHARACTER]
*> VALUE IS ${literal}
*> SYNCHRONIZED LEFT/RIGHT
*> TYPE ${type-name-1}
*> USAGE IS BINARY/COMPUTATIONAL/COMPUTATIONAL-1/COMPUTATIONAL-2/
**> COMPUTATIONAL-3/COMPUTATIONAL-4/DISPLAY/DISPLAY-1/INDEX
**> PACKED-DECIMAL/POINTER/PROCEDURE-POINTER</template><template description="Define a data item" keyword="77" name="Data item (77)"> ${level-number}
*> ${data-name-1}/FILLER
*> REDEFINES ${data-name-2}/LIKE ${data-name-3} [integer]/IS TYPEDEF
*> IS EXTERNAL
*> BLANK WHEN ZERO
*> FORMAT OF DATE/TIME/TIMESTAMP IS
*>> ${literal-8} [SIZE IS integer-4 [LOCALE IS ${mnemonic-name-4}]]
*>> SIZE IS ${integer-4} LOCALE IS ${mnemonic-name-4}
*> IS GLOBAL
*> JUSTIFIED RIGHT
*> OCCURS ${integer-2} TIMES
*>> ASCENDING/DESCENDING KEY IS ${data-name-2}
*>> INDEXED BY ${index-name-1}
*> OCCURS ${integer-1} TO ${integer-2} TIMES DEPENDING ON ${data-name-1}
*>> ASCENDING/DESCENDING KEY IS ${data-name-2}
*>> INDEXED BY ${index-name-1}
*> PICTURE IS ${character-string}
*>> SIZE IS ${integer-3} LOCALE IS ${mnemonic-name-1}
*> SIGN IS LEADING/TRAILING [SEPARATE CHARACTER]
*> VALUE IS ${literal}
*> SYNCHRONIZED LEFT/RIGHT
*> TYPE ${type-name-1}
*> USAGE IS BINARY/COMPUTATIONAL/COMPUTATIONAL-1/COMPUTATIONAL-2/
**> COMPUTATIONAL-3/COMPUTATIONAL-4/DISPLAY/DISPLAY-1/INDEX
**> PACKED-DECIMAL/POINTER/PROCEDURE-POINTER</template><template description="Define a rename item" keyword="66" name="Rename item"> 66 ${data-name-1} RENAMES ${data-name-2} [THROUGH ${data-name-3}].
</template><template description="Define a condition item" keyword="88" name="Condition item"> 88 ${condition-name} VALUE IS ${literal-1} THROUGH ${literal-2}.</template><template description="Boolean Data" keyword="Boolean Data" name="Boolean Data Item"> ${level-number}
*> ${data-name-1}/FILLER
*> REDEFINES ${data-name-2}/LIKE ${data-name-3} [integer]/IS TYPEDEF
*> IS EXTERNAL
*> IS GLOBAL
*> JUSTIFIED RIGHT
*> OCCURS ${integer-2} TIMES
*>> ASCENDING/DESCENDING KEY IS ${data-name-2}
*>> INDEXED BY ${index-name-1}
*> OCCURS ${integer-1} TO ${integer-2} TIMES DEPENDING ON ${data-name-1}
*>> ASCENDING/DESCENDING KEY IS ${data-name-2}
*>> INDEXED BY ${index-name-1}
*> INDICATOR ${integer-3}
*> PICTURE IS 1
*> VALUE IS ${boolean-literal}
*> SYNCHRONIZED LEFT/RIGHT
*> TYPE ${type-name-1}
*> USAGE IS DISPLAY
.</template></category><template description="DATA DIVISION format" keyword="DATA DIVISION" name="DATA DIVISION format"> DATA DIVISION.
*>FILE SECTION.
*>> file-section-entries
*>WORKING-STORAGE SECTION.
*>> record-description-entry
*>> data-item-description-entry
*>LINKAGE SECTION.
*>> record-description-entry
*>> data-item-description-entry </template><template description="DATA DIVISION header" keyword="DATA DIVISION" name="DATA DIVISION header">DATA DIVISION.</template></category><category description="Formats of PROCEDURE DIVISION" expanded="false" name="PROCEDURE DIVISION"><category description="Formats of declaratives" expanded="false" name="Declaratives"><template description="DECLARATIVES header" keyword="DECLARATIVES" name="DECLARATIVES header">DECLARATIVES.
*> USE statement
END DECLARATIVES.</template><template description="USE statement" keyword="USE_AFTER_EXCEPTION" name="USE statement (AFTER EXCEPTION)">USE AFTER STANDARD EXCEPTION PROCEDURE ${File-Name}.</template></category><category description="Formats of statements" expanded="false" name="Statements"><category description="Formats of statement that starts from A - E" expanded="false" name="A - E"><template description="ACCEPT statement:data transfer" keyword="ACCEPT" name="ACCEPT statement:data transfer">ACCEPT ${identifier-1} FROM ${mnemonic-name/environment-name}
END-ACCEP</template><template description="ADD statement" keyword="ADD" name="ADD statement">ADD ${Identifier-1} TO ${Identifier-2} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-ADD</template><template description="ADD statement" keyword="ADD_GIVING" name="ADD statement (GIVING)">ADD ${Identifier-1} TO ${Identifier-2} GIVING ${Identifier-3} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-ADD</template><template description="ADD statement" keyword="ADD_CORRESPONDING" name="ADD statement (CORRESPONDING)">ADD CORRESPONDING ${Identifier-1} TO ${Identifier-2} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-ADD</template><template description="CALL statement:Program" keyword="CALL" name="CALL statement:Program"> CALL ${identifier-1}
*> CALL LINKAGE TYPE IS ${environment-name-1}/PROGRAM ${literal-1}
*> CALL PROGRAM ${literal-1}
**> IN LIBRARY ${identifier-5/literal-4}
**> USING BY REFERENCE ${file-name-1}/[ADDRESS OF] ${identifier-2}
**> USING BY CONTENT ${file-name-1/literal-2}/[ADDRESS OF/LENGTH OF] ${identifier-2}
**> [NOT] ON EXCEPTION ${imperative statement-1}
**> ON OVERFLOW ${imperative statement-3}
END-CALL</template><template description="CANCEL statement" keyword="CANCEL" name="CANCEL statement"> CANCEL ${identifier-1}
*> CANCEL LINKAGE TYPE IS ${environment-name-1}/PROCEDURE/PROGRAM ${literal-1}
*> CANCEL PROCEDURE/PROGRAM ${literal-1}
**> IN LIBRARY ${identifier-5/literal-4}</template><template description="CLOSE statement" keyword="CLOSE" name="CLOSE statement">CLOSE ${File-Name} [WITH LOCK]</template><template description="COMPUTE statement" keyword="COMPUTE" name="COMPUTE statement">COMPUTE ${Identifier} [ROUNDED] = ${Arithmetic-Expression}
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-COMPUTE</template><template description="DELETE statement" keyword="DELETE" name="DELETE statement"> DELETE ${file-name} RECORD FORMAT IS ${identifier-1/literal-1}
*> NULL-KEY-MAP IS ${identifier-2}
*> [NOT] INVALID KEY ${imperative-statement-1}
END-DELETE
</template><template description="DISPLAY statement:data transfer" keyword="DISPLAY" name="DISPLAY statement:data transfer"> DISPLAY ${identifier-1/literal-1} UPON ${mnemonic-name/environment-name}
WITH NO ADVANCING END-DISPLAY</template><template description="DIVIDE statement" keyword="DIVIDE" name="DIVIDE statement">DIVIDE ${Identifier-1} INTO ${Identifier-2} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-DIVIDE</template><template description="DIVIDE statement" keyword="DIVIDE_INTO_GIVING" name="DIVIDE statement (INTO GIVING)">DIVIDE ${Identifier-1} INTO ${Identifier-2} [ROUNDED]
GIVING ${Identifier-3} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-DIVIDE</template><template description="DIVIDE statement" keyword="DIVIDE_BY_GIVING" name="DIVIDE statement (BY GIVING)">DIVIDE ${Identifier-1} BY ${Identifier-2} GIVING ${Identifier-3}
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-DIVIDE</template><template description="DIVIDE statement" keyword="DIVIDE_INTO_REMAINDER" name="DIVIDE statement (INTO REMAINDER)">DIVIDE ${Identifier-1} INTO ${Identifier-2}
GIVING ${Identifier-3} [ROUNDED]
REMAINDER ${Identifier-4}
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-DIVIDE</template><template description="DIVIDE statement" keyword="DIVIDE_BY_REMAINDER" name="DIVIDE statement (BY REMAINDER)">DIVIDE ${Identifier-1} BY ${Identifier-2} GIVING ${Identifier-3} REMAINDER ${Identifier-4}
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-DIVIDE</template><template description="EVALUATE statement" keyword="EVALUATE" name="EVALUATE statement">E EVALUATE ${identifier-1/literal-1/expression-1}/TRUE/FALSE
[ALSO ${identifier-2/literal-2/expression-2}/TRUE/FALSE]
WHEN ANY/${condition-1}/TRUE/FALSE/
NOT ${identifier-3/literal-3/arith-expr-1} THROUGH ${identifier-4/literal-4/arith-expr-2}
[ALSO ANY/${condition-1}/TRUE/FALSE/
NOT ${identifier-3/literal-3/arith-expr-1} THROUGH ${identifier-4/literal-4/arith-expr-2}]
${imperative-stmt-1}
WHEN OTHER ${imperative-stmt-2}
END-EVALUATE</template><template description="EXIT statement" keyword="EXIT" name="EXIT statement">EXIT</template><template description="EXIT PERFORM statement" keyword="EXIT_PERFORM" name="EXIT PERFORM statement">EXIT PERFORM</template><template description="EXIT PROGRAM statement" keyword="EXIT_PROGRAM" name="EXIT PROGRAM statement">EXIT PROGRAM [AND CONTINUERUN UNIT]</template><template description="ACCEPT Statement:System Info Transfer" keyword="ACCEPT" name="ACCEPT Statement:System Info Transfer">ACCEPT ${identifier-1} FROM DATE [YYYYMMDD]/DAY [YYYYDDD]/DAY-OF-WEEK/TIME
END-ACCEPT</template><template description="ACCEPT Statement:Feedback" keyword="ACCEPT" name="ACCEPT Statement:Feedback"> ACCEPT ${identifier-1} FROM mnemonic-name [FOR ${file-name-1}]
END-ACCEPT</template><template description="ACCEPT Statement:Local Data Area" keyword="ACCEPT" name="ACCEPT Statement:Local Data Area">ACCEPT ${identifier-1} FROM ${mnemonic-name} [FOR ${identifier-2/literal-1}]
END-ACCEPT</template><template description="ACCEPT Statement:PIP Data Area" keyword="ACCEPT" name="ACCEPT Statement:PIP Data Area"> ACCEPT ${identifier-1} FROM ${mnemonic-name}
*> ON EXCEPTION imperative-statement-1
*> NOT ON EXCEPTION imperative-statement-1
*> END-ACCEPT</template><template description="ACCEPT Statement:Attribute Data" keyword="ACCEPT" name="ACCEPT Statement:Attribute Data"> ACCEPT ${identifier-1} FROM ${mnemonic-name}
*> FOR ${identifier-2/literal-1} [FOR ${file-name-1}]
*> END-ACCEPT</template><template description="ACCEPT Statement:Data Area" keyword="ACCEPT" name="ACCEPT Statement:Data Area"> ACCEPT ${identifier-1} FROM ${mnemonic-name}
FOR ${identifier-2/literal-1}
*> IN LIBRARY ${identifier-3/literal-2}
*> AT ${identifier-4/integer-1}
*> WITH LOCK
*> ON EXCEPTION ${imperative-statement-1}
*> NOT ON EXCEPTION ${imperative-statement-2}
END-ACCEPT</template><template description="CALL statement:Procedure" keyword="CALL" name="CALL statement:Procedure"> CALL ${identifier-1}
*> CALL LINKAGE TYPE IS ${environment-name-1}/PROCEDURE ${literal-1}
*> CALL PROCEDURE ${literal-1}
**> IN LIBRARY ${identifier-5/literal-4}
**> USING BY REFERENCE OMITTED/${file-name-1}/[ADDRESS OF] ${identifier-2}
**> USING BY CONTENT OMITTED/${file-name-1/literal-2}/[ADDRESS OF/LENGTH OF] ${identifier-2}
**> USING BY VALUE ${literal-3}/[ADDRESS OF/LENGTH OF] ${identifier-2}/
**>> ${float-literal-1/integer-1} SIZE IS ${integer-2}
**> RETURNING INTO [ADDRESS OF] ${identifier-4}
**> [NOT] ON EXCEPTION ${imperative statement-1}
**> ON OVERFLOW ${imperative statement-3}
END-CALL</template></category><category description="Formats of statement that starts from F - J" expanded="false" name="F - J"><template description="GO TO statement" keyword="GO_TO" name="GO TO statement">GO TO ${Procedure-Name}</template><template description="GO TO statement" keyword="GO_TO_DEPENDING_ON" name="GO TO statement (DEPENDING ON)">GO TO ${Procedure-Name-1} ${Procedure-Name-2} DEPENDING ON ${Identifier}</template><template description="IF statement" keyword="IF" name="IF">IF ${Condition} THEN
${Statement-1}
ELSE
${Statement-2}
END-IF</template><template description="INITIALIZE statement" keyword="INITIALIZE" name="INITIALIZE statement">INITIALIZE ${Identifier}</template><template description="INITIALIZE statement" keyword="INITIALIZE_REPLACING" name="INITIALIZE statement (REPLACING)"> INITIALIZE ${identifier-1}
REPLACING ALPHABETIC/ALPHANUMERIC/NUMERIC/ALPHANUMERIC-EDITED/NUMERIC-EDITED/DBCS/DBCS-EDITED/NATIONAL
DATA BY ${Identifier-2}</template><template description="INSPECT statement" keyword="INSPECT_TALLING" name="INSPECT statement (TALLING)">INSPECT ${identifier-1} TALLYING ${identifier-2} FOR
*> CHARACTERS BEFORE/AFTER [INITIAL] ${identifier-4/literal-2}
*> ALL/LEADING ${identifier-3/literal-1} BEFORE/AFTER [INITIAL] ${identifier-4/literal-2}</template><template description="INSPECT statement" keyword="INSPECT_REPLACING" name="INSPECT statement (REPLACING)">INSPECT ${identifier-1} REPLACING
*> CHARACTERS BY ${identifier-5/literal-3} BEFORE/AFTER [INITIAL] ${identifier-4/literal-2}
*> ALL/LEADING/FIRST ${identifier-3/literal-1} BY ${identifier-5/literal-3} BEFORE/AFTER [INITIAL] ${identifier-4/literal-2}</template><template description="INSPECT statement" keyword="INSPECT_CONVERTING" name="INSPECT statement (CONVERTING)"> INSPECT ${identifier-1} CONVERTING ${identifier-6/literal-4} TO ${identifier-7/literal-5}
*> BEFORE/AFTER [INITIAL] ${identifier-4/literal-2}</template><template description="GOBACK Statement" keyword="GOBACK" name="GOBACK Statement">GOBACK </template><template description="INSPECT statement:tallying & replacing" keyword="INSPECT" name="INSPECT statement:tallying & replacing">INSPECT ${identifier-1} TALLYING ${identifier-2} FOR
*> CHARACTERS BEFORE/AFTER INITIAL ${identifier-4/literal-2}
*> ALL/LEADING ${identifier-3/literal-1} BEFORE/AFTER INITIAL ${identifier-4/literal-2}
REPLACING
*> CHARACTERS BY ${identifier-5/literal-3} BEFORE/AFTER INITIAL ${identifier-4/literal-2}
*> ALL/LEADING/FIRST ${identifier-3/literal-1} BY ${identifier-5/literal-3} BEFORE/AFTER INITIAL ${identifier-4/literal-2}</template></category><category description="Formats of statement that starts from K - O" expanded="false" name="K - O"><template description="MERGE statement" keyword="MERGE_OUTPUT_PROCEDURE" name="MERGE statement (OUTPUT PROCEDURE)">MERGE ${File-Name}
ON ASCENDING ${Data-Name}
*> ON DESCENDING Data-Name
*> COLLATING SEQUENCE IS Alphabet-Name
USING ${File-Name-2} ${File-Name-3}
OUTPUT PROCEDURE IS ${Procedure-Name}</template><template description="MERGE statement" keyword="MERGE_GIVING" name="MERGE statement (GIVING)">MERGE ${File-Name}
ON ASCENDING ${Data-Name}
*> ON DESCENDING Data-Name
*> COLLATING SEQUENCE IS Alphabet-Name
USING ${File-Name-2} ${File-Name-3}
GIVING ${File-Name-4}</template><template description="MOVE statement" keyword="MOVE" name="MOVE statement">MOVE ${Identifier-1} TO ${Identifier-2}</template><template description="MOVE statement" keyword="MOVE_CORRESPONDING" name="MOVE statement (CORRESPONDING)">MOVE CORRESPONDING ${Identifier-1} TO ${Identifier-2}</template><template description="MULTIPLY statement" keyword="MULTIPLY" name="MULTIPLY statement">MULTIPLY ${Identifier-1} BY ${Identifier-2}
*> ON SIZE ERROR
*> statement
*> NOT ON SIZE ERROR
*> statement
*>END-MULTIPLY</template><template description="MULTIPLY statement" keyword="MULTIPLY_GIVING" name="MULTIPLY statement (GIVING)">MULTIPLY ${Identifier-1} BY ${Identifier-2} GIVING ${Identifier-3} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-MULTIPLY</template><template description="OPEN statement" keyword="OPEN_INPUT" name="OPEN statement (INPUT)">OPEN INPUT ${File-Name}</template><template description="OPEN statement" keyword="OPEN_OUTPUT" name="OPEN statement (OUTPUT)">OPEN OUTPUT ${File-Name}</template><template description="OPEN statement" keyword="OPEN_I-O" name="OPEN statement (I-O)">OPEN I-O ${File-Name}</template><template description="OPEN statement" keyword="OPEN_EXTEND" name="OPEN statement (EXTEND)">OPEN EXTEND ${File-Name}</template></category><category description="Formats of statement that starts from P - T" expanded="false" name="P - T"><template description="PERFORM statement" keyword="PERFORM" name="PERFORM statement">PERFORM ${Procedure-Name} [THROUGH ${procedure-name-2}]</template><template description="in-line PERFORM statement" keyword="PERFORM" name="in-line PERFORM statement">PERFORM
${Statement}
END-PERFORM</template><template description="PERFORM statement" keyword="PERFORM_TIMES" name="PERFORM statement (TIMES)">PERFORM ${Procedure-Name} [THROUGH ${procedure-name-2}] ${Integer} TIMES
</template><template description="in-line PERFORM statement" keyword="PERFORM_TIMES" name="in-line PERFORM statement (TIMES)">PERFORM ${Integer} TIMES
${Statement}
END-PERFORM</template><template description="PERFORM statement" keyword="PERFORM_TEST_BEFORE_UNTIL" name="PERFORM statement (TEST BEFORE UNTIL)">PERFORM ${Procedure-Name} [THROUGH ${procedure-name-2}] WITH TEST BEFORE UNTIL ${Condition}</template><template description="in-line PERFORM statement" keyword="PERFORM_TEST_BEFORE_UNTIL" name="in-line PERFORM statement (TEST BEFORE UNTIL)">PERFORM WITH TEST BEFORE UNTIL ${Condition}
${Statement}
END-PERFORM</template><template description="PERFORM statement" keyword="PERFORM_TEST_BEFORE_VARYING" name="PERFORM statement (TEST BEFORE VARYING)">PERFORM ${Procedure-Name} [THROUGH ${procedure-name-2}] WITH TEST BEFORE
VARYING ${Identifier} FROM ${Initial-Value} BY ${Increment-Value}
UNTIL ${Condition}
*> AFTER ${Identifier2} FROM ${Initial-Value2} BY ${Increment-Value2}
*> UNTIL condition-2</template><template description="in-line PERFORM statement" keyword="PERFORM_TEST_BEFORE_VARYING" name="in-line PERFORM statement (TEST BEFORE VARYING)">PERFORM WITH TEST BEFORE
VARYING ${Identifier} FROM ${Initial-Value} BY ${Increment-Value}
UNTIL ${Condition}
*> AFTER ${Identifier2} FROM ${Initial-Value2} BY ${Increment-Value2}
*> UNTIL ${Condition2}
${Statement}
END-PERFORM</template><template description="READ statement:Sequential Retrieval/Access" keyword="READ_RECORD" name="READ statement:Sequential Retrieval/Access"> READ ${file-name}
*> NEXT RECORD INTO ${identifier-1}
*> WITH NO LOCK
*> FORMAT IS ${identifier-2}
*> NULL-KEY-MAP IS ${identifier-5}
*> NULL-MAP IS ${identifier-6}
*> [NOT] AT END ${imperative-statement-1}
*> END-READ</template><template description="READ statement:Sequential Retrieval/Dynamic Access" keyword="READ_RECORD" name="READ statement:Sequential Retrieval/Dynamic Access"> READ ${file-name}
*> NEXT/FIRST/LAST/PRIOR RECORD INTO ${identifier-1}
*> WITH NO LOCK
*> FORMAT IS ${identifier-2}
*> NULL-KEY-MAP IS ${identifier-5}
*> NULL-MAP IS ${identifier-6}
*> [NOT] AT END ${imperative-statement-1}
*> END-READ</template><template description="READ statement:Random Retrieval" keyword="READ" name="READ statement:Random Retrieval"> READ ${file-name}
*> RECORD INTO ${identifier-1}
*> WITH NO LOCK
*> KEY IS ${data-name-1}
*> FORMAT IS ${identifier-2}
*> NULL-KEY-MAP IS ${identifier-5}
*> NULL-MAP IS ${identifier-6}
*> [NOT] AT END ${imperative-statement-1}
*> [NOT] INVALID KEY ${imperative-statement-1}
*> END-READ</template><template description="RELEASE statement" keyword="RELEASE" name="RELEASE statement">RELEASE ${Record-Name}
*> FROM Identifier</template><template description="RETURN statement" keyword="RETURN" name="RETURN statement">RETURN ${File-Name} RECORD
*> INTO Identifier
*> AT END
*> Statement
*> NOT AT END
*> Statement
*>END-RETURN</template><template description="REWRITE statement" keyword="REWRITE" name="REWRITE statement">REWRITE ${Record-Name}
*> FROM ${Identifier}
*> FORMAT IS ${identifier-2}
*> NULL-KEY-MAP IS ${identifier-5}
*> NULL-MAP IS ${identifier-6}
*> INVALID KEY
*> ${Statement}
*> NOT INVALID KEY ${statement}
*>END-REWRITE</template><template description="SEARCH statement:Serial Search" keyword="SEARCH" name="SEARCH statement:Serial Search">SEARCH ${identifier-1}
*> VARYING ${identifier-2/index-name-1}
*> AT END ${imperative-statement-1}
*> WHEN ${condition-1} ${imperative-statement-2}/NEXT SENTENCE
*> END-SEARCH </template><template description="SEARCH statement:Binary Search" keyword="SEARCH_ALL" name="SEARCH statement:Binary Search">SEARCH ALL ${identifier-1}
*> AT END ${imperative-statement-1}
*> WHEN ${condition-1} ${imperative-statement-2}/NEXT SENTENCE
*> END-SEARCH </template><template description="SET statement" keyword="SET" name="SET statement">SET ${Index-Name} TO ${Identifier}</template><template description="SET statement" keyword="SET_UP_BY" name="SET statement (UP BY)">SET ${Index-Name} UP BY ${Identifier}</template><template description="SET statement" keyword="SET_DOWN_BY" name="SET statement (DOWN BY)">SET ${Index-Name} DOWN BY ${Identifier}</template><template description="SET statement" keyword="SET_ON" name="SET statement (ON)">SET ${Mnemonic-Name} TO ON</template><template description="SET statement" keyword="SET_OFF" name="SET statement (OFF)">SET ${Mnemonic-Name} TO OFF</template><template description="SET statement" keyword="SET_TRUE" name="SET statement (TRUE)">SET ${Condition-Name} TO TRUE</template><template description="SORT statement" keyword="SORT_INPUT_OUTPUT" name="SORT statement (INPUT OUTPUT)">SORT ${File-Name}
ON ASCENDING/DESCENDING KEY ${Data-Name}
*> WITH DUPLICATES IN ORDER
*> COLLATING SEQUENCE IS Alphabet-Name
*> INPUT PROCEDURE IS ${Procedure-Name-1} [THROUGH ${procedure-name-2}]
*> OUTPUT PROCEDURE IS ${Procedure-Name-2} [THROUGH ${procedure-name-4}]
</template><template description="SORT statement" keyword="SORT_USING_GIVNG" name="SORT statement (USING GIVING)">SORT ${File-Name-1}
ON ASCENDING KEY ${Data-Name}
*> ON DESCENDING KEY Data-Name
*> WITH DUPLICATES IN ORDER
*> COLLATING SEQUENCE IS Alphabet-Name
USING ${File-Name-2}
GIVING ${File-Name-3}</template><template description="START statement" keyword="START" name="START statement">START ${File-Name} [WITH NO LOCK] KEY ${Condition}
*> FORMAT IS ${identifier-1}
*> NULL-KEY-MAP IS ${identifier-2}
*> INVALID KEY
*> Statement
*> NOT INVALID KEY
*> Statement
*>END-START</template><template description="STOP statement" keyword="STOP" name="STOP statement">STOP ${Literal}</template><template description="STOP statement" keyword="STOP_RUN" name="STOP statement (RUN)">STOP RUN</template><template description="STRING statement" keyword="STRING" name="STRING statement">STRING ${Identifier-1} DELIMITED BY ${Identifier-2}
INTO ${Identifier-3}
*> WITH POINTER Identifier
*> ON OVERFLOW
*> Statement
*> NOT ON OVERFLOW
*> statement
*>END-STRING</template><template description="SUBTRACT statement" keyword="SUBTRACT" name="SUBTRACT statement">SUBTRACT ${Identifier-1} FROM ${Identifier-2} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-SUBTRACT</template><template description="SUBTRACT statement" keyword="SUBTRACT_GIVING" name="SUBTRACT statement (GIVING)">SUBTRACT ${Identifier-1} FROM ${Identifier-2} GIVING ${Identifier-3} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-SUBTRACT</template><template description="SUBTRACT statement" keyword="SUBTRACT_CORRESPONDING" name="SUBTRACT statement (CORRESPONDING)">SUBTRACT CORRESPONDING ${Identifier-1} FROM ${Identifier-2} [ROUNDED]
*> ON SIZE ERROR
*> Statement
*> NOT ON SIZE ERROR
*> Statement
*>END-SUBTRACT</template><template description="READ statement:Transaction (Nonsubfile)" keyword="READ" name="READ statement:Transaction (Nonsubfile)"> READ ${file-name} RECORD INTO ${identifier-1}
*> FORMAT IS ${identifier-2}
*> TERMINAL IS ${identifier-3}
*> INDICATORS ARE ${identifier-4}
*> NO DATA ${imperative-statement-1}
*> [NOT] AT END ${imperative-statement-3}
*> END-READ</template><template description="READ Statement:Transaction (Subfile Sequential)" keyword="READ" name="READ Statement:Transaction (Subfile Sequential)"> READ SUBFILE ${file-name} NEXT MODIFIED RECORD INTO ${identifier-1}
*> FORMAT IS ${identifier-2}
*> TERMINAL IS ${identifier-3}
*> INDICATORS ARE ${identifier-4}
*> [NOT] AT END ${imperative-statement-3}
*> END-READ</template><template description="READ statement:Transaction (Subfile Random)" keyword="READ" name="READ statement:Transaction (Subfile Random)"> READ SUBFILE ${file-name} RECORD INTO ${identifier-1}
*> FORMAT IS ${identifier-2}
*> TERMINAL IS ${identifier-3}
*> INDICATORS ARE ${identifier-4}
*> [NOT] INVALID KEY ${imperative-statement-3}
*> END-READ</template><template description="REWRITE Statement:Transaction (Subfile)" keyword="REWRITE" name="REWRITE Statement:Transaction (Subfile)">REWRITE SUBFILE ${Record-Name}
*> FROM ${Identifier}
*> FORMAT IS ${identifier-2}
*> TERMINAL IS ${identifier-3}
*> INDICATORS ARE ${identifier-4}
*> INVALID KEY
*> ${Statement}
*> NOT INVALID KEY ${statement}
*>END-REWRITE</template><template description="SET Statement:Pointer Data Item" keyword="SET" name="SET Statement:Pointer Data Item">SET ${identifier-4}/ADDRESS OF ${identifier-5} TO ${identifier-6}/ADDRESS OF ${identifier-7}/NULL/NULLS </template><template description="SET Statement:Procedure-Pointer Data Item" keyword="SET" name="SET Statement:Procedure-Pointer Data Item">SET ${procedure-pointer-data-item-1} TO ${procedure-pointer-data-item-2}/NULL/NULLS/
**> ENTRY ${identifier-1} IN LIBRARY ${identifier-2}
**> ENTRY [LINKAGE TYPE IS ${environment-name-1}/PROGRAM/PROCEDURE] ${literal-1} IN LIBRARY ${identifier-2}
**> ENTRY [PROGRAM/PROCEDURE] ${literal-1} IN LIBRARY ${identifier-2}</template></category><category description="Formats of statement that starts from U - Z" expanded="false" name="U - Z"><template description="UNSTRING statement" keyword="UNSTRING" name="UNSTRING statement">UNSTRING ${Identifier-1} DELIMITED BY ${Identifier-2}
INTO ${Identifier-3}
*> DELIMITER IN Identifier
*> COUNT IN Identifier
*> WITH POINTER Identifier
*> TALLYING IN Identifier
*> ON OVERFLOW
*> Statement
*> NOT ON OVERFLOW
*> Statement
*>END-UNSTRING</template><template description="WRITE statement:Sequential Files" keyword="WRITE" name="WRITE statement:Sequential Files">WRITE ${Record-Name}
*> FROM ${Identifier}
*> BEFORE/AFTER [ADVANCING] PAGE/${mnemonic-name-1}/${identifier-2} LINES
*> NULL-MAP IS ${identifier-9}
*> AT END-OF-PAGE
*> ${Statement}
*> NOT AT END-OF-PAGE
*> ${Statement}
*>END-WRITE</template><template description="WRITE statement:Indexed and Relative Files" keyword="WRITE_ADVANCING" name="WRITE statement:Indexed and Relative Files">WRITE ${record-name-1}
*> FROM ${identifier-1}
*> FORMAT IS ${{identifier-2}
*> NULL-KEY-MAP IS ${identifier-8}
*> NULL-MAP IS ${identifier-9}
*> [NOT] INVALID KEY ${imperative-statement-1}
*> END-WRITE</template></category></category><category description="Formats of functions" expanded="false" name="Functions"><category description="Formats of function that starts from A - E" expanded="false" name="A - E"><template description="ACOS function" keyword="ACOS" name="ACOS function">FUNCTION ACOS (${Argument})</template><template description="ANNUITY function" keyword="ANNUITY" name="ANNUITY function">FUNCTION ANNUITY (${Argument-1} ${Argument-2})</template><template description="ASIN function" keyword="ASIN" name="ASIN function">FUNCTION ASIN (${Argument})</template><template description="ATAN function" keyword="ATAN" name="ATAN function">FUNCTION ATAN (${Argument})</template><template description="CHAR function" keyword="CHAR" name="CHAR function">FUNCTION CHAR (${Argument})</template><template description="COS function" keyword="COS" name="COS function">FUNCTION COS (${Argument})</template><template description="CURRENT-DATE function" keyword="CURRENT-DATE" name="CURRENT-DATE function">FUNCTION CURRENT-DATE</template><template description="DATE-OF-INTEGER function" keyword="DATE-OF-INTEGER" name="DATE-OF-INTEGER function">FUNCTION DATE-OF-INTEGER</template><template description="DAY-OF-INTEGER function" keyword="DAY-OF-INTEGER" name="DAY-OF-INTEGER function">FUNCTION DAY-OF-INTEGER</template></category><category description="Formats of function that starts from F - J" expanded="false" name="F - J"><template description="FACTORIAL function" keyword="FACTORIAL" name="FACTORIAL function">FUNCTION FACTORIAL (${Argument})</template><template description="INTEGER function" keyword="INTEGER" name="INTEGER function">FUNCTION INTEGER (${Argument})</template><template description="INTEGER-OF-DATE function" keyword="INTEGER-OF-DATE" name="INTEGER-OF-DATE function">FUNCTION INTEGER-OF-DATE (${Argument})</template><template description="INTEGER-OF-DAY function" keyword="INTEGER-OF-DAY" name="INTEGER-OF-DAY function">FUNCTION INTEGER-OF-DAY (${Argument})</template><template description="INTEGER-OF-PART function" keyword="INTEGER-OF-PART" name="INTEGER-OF-PART function">FUNCTION INTEGER-OF-PART (${Argument})</template></category><category description="Formats of function that starts from K - O" expanded="false" name="K - O"><template description="LENG function" keyword="LENG" name="LENG function">FUNCTION LENG (${Argument})</template><template description="LENGTH function" keyword="LENGTH" name="LENGTH function">FUNCTION LENGTH (${Argument})</template><template description="LOG function" keyword="LOG" name="LOG function">FUNCTION LOG (${Argument})</template><template description="LOG10 function" keyword="LOG10" name="LOG10 function">FUNCTION LOG10 (${Argument})</template><template description="LOWER-CASE function" keyword="LOWER-CASE" name="LOWER-CASE function">FUNCTION LOWER-CASE (${Argument})</template><template description="MAX function" keyword="MAX" name="MAX function">FUNCTION MAX (${Argument-1} ${Argument-2})</template><template description="MEAN function" keyword="MEAN" name="MEAN function">FUNCTION MEAN (${Argument-1} ${Argument-2})</template><template description="MEDIAN function" keyword="MEDIAN" name="MEDIAN function">FUNCTION MEDIAN (${Argument-1} ${Argument-2})</template><template description="MIDRANGE function" keyword="MIDRANGE" name="MIDRANGE function">FUNCTION MIDRANGE (${Argument-1} ${Argument-2})</template><template description="MIN function" keyword="MIN" name="MIN function">FUNCTION MIN (${Argument-1} ${Argument-2})</template><template description="MOD function" keyword="MOD" name="MOD function">FUNCTION MOD (${Argument-1} ${Argument-2})</template><template description="NUMVAL function" keyword="NUMVAL" name="NUMVAL function">FUNCTION NUMVAL (${Argument})</template><template description="NUMVAL-C function" keyword="NUMVAL-C" name="NUMVAL-C function">FUNCTION NUMVAL-C (${Argument})</template><template description="ORD function" keyword="ORD" name="ORD function">FUNCTION ORD (${Argument})</template><template description="ORD-MAX function" keyword="ORD-MAX" name="ORD-MAX function">FUNCTION ORD-MAX (${Argument-1} ${Argument-2})</template><template description="ORD-MIN function" keyword="ORD-MIN" name="ORD-MIN function">FUNCTION ORD-MIN (${Argument-1} ${Argument-2})</template></category><category description="Formats of function that starts from P - T" expanded="false" name="P - T"><template description="PRESENT-VALUE function" keyword="PRESENT-VALUE" name="PRESENT-VALUE function">FUNCTION PRESENT-VALUE (${Argument-1} ${Argument-2})</template><template description="RANDOM function" keyword="RANDOM" name="RANDOM function">FUNCTION RANDOM</template><template description="RANGE function" keyword="RANGE" name="RANGE function">FUNCTION RANGE (${Argument-1} ${Argument-2})</template><template description="REM function" keyword="REM" name="REM function">FUNCTION REM (${Argument-1} ${Argument-2})</template><template description="REVERSE function" keyword="REVERSE" name="REVERSE function">FUNCTION REVERSE (${Argument})</template><template description="SIN function" keyword="SIN" name="SIN function">FUNCTION SIN (${Argument})</template><template description="SQRT function" keyword="SQRT" name="SQRT function">FUNCTION SQRT (${Argument})</template><template description="STANDARD-DEVIATION function" keyword="STANDARD-DEVIATION" name="STANDARD-DEVIATION function">FUNCTION STANDARD-DEVIATION (${Argument-1} ${Argument-2})</template><template description="STORED-CHAR-LENGTH function" keyword="STORED-CHAR-LENGTH" name="STORED-CHAR-LENGTH function">FUNCTION STORED-CHAR-LENGTH (${Argument})</template><template description="SUM function" keyword="SUM" name="SUM function">FUNCTION SUM (${Argument-1} ${Argument-2})</template><template description="TAN function" keyword="TAN" name="TAN function">FUNCTION TAN (${Argument})</template></category><category description="Formats of function that starts from U - Z" expanded="false" name="U - Z"><template description="UCS2-OF function" keyword="UCS2-OF" name="UCS2-OF function">FUNCTION UCS2-OF (${Argument})</template><template description="UPPER-CASE function" keyword="UPPER-CASE" name="UPPER-CASE function">FUNCTION UPPER-CASE (${Argument})</template><template description="UTF8-OF function" keyword="UTF8-OF" name="UTF8-OF function">FUNCTION UTF8-OF (${Argument})</template><template description="VARIANCE function" keyword="VARIANCE" name="VARIANCE function">FUNCTION VARIANCE (${Argument-1} ${Argument-2})</template><template description="WHEN-COMPILED function" keyword="WHEN-COMPILED" name="WHEN-COMPILED function">FUNCTION WHEN-COMPILED</template></category></category><category description="Phrases" expanded="false" name="Phrases"><template description="AT END phrase" keyword="AT_END" name="AT END phrase">AT END ${Statement}</template><template description="INVALID KEY phrase" keyword="INVALID_KEY" name="INVALID KEY phrase">INVALID KEY ${Statement}</template><template description="ON SIZE ERROR phrase" keyword="ON_SIZE_ERROR" name="ON SIZE ERROR phrase">ON SIZE ERROR ${Statement}</template></category><template description="PROCEDURE DIVISION format" keyword="PROCEDURE_DIVISION" name="PROCEDURE DIVISION format">Procedure Division Format 1 - with Sections and Paragraphs
PROCEDURE DIVISION
*> USING BY REFERENCE/VALUE ${data-name-1}...
*> RETURNING ADDRESS OF ${data-name-2}
.
DECLARATIVES.
*> ${section-name} [${segment-number}] SECTION. USE ${statement}.
*>> ${paragraph-name}. ${sentence}...
END DECLARATIVES.
*> ${section-name} [${segment-number}] SECTION.
*>> ${paragraph-name}. ${sentence}...
</template></category><category description="Common" expanded="false" name="Common"><category description="Formats of Statements" expanded="false" name="Statements"><template description="COPY statement" keyword="COPY" name="COPY statement">COPY ${Text-Name}.
*> OF Library-Name
*> REPLACING Identifier-1 BY Identifier-2</template><template description="REPLACE statement" keyword="REPLACE" name="REPLACE statement">REPLACE ==${Pseudo-Text-1}== BY ==${Pseudo-Text-2}==.</template><template description="REPLACE statement" keyword="REPLACE_OFF" name="REPLACE statement (OFF)">REPLACE OFF.</template></category></category><template description="COBOL Source Program Format" keyword="COBOL Source Program Format" name="COBOL Source Program Format"> IDENTIFICATION DIVISION. PROGRAM-ID. ${program-name-1/literal-1}
*> IS INITIAL PROGRAM.
*> identification-division-content
ENVIRONMENT DIVISION.
*> environment-division-content
DATA DIVISION.
*> data-division-content
PROCEDURE DIVISION.
*> procedure-division-content
*> nested program
END PROGRAM ${ program-name-1/literal-1}</template><template description="COBOL Source Nested Program Format" keyword="COBOL Source Nested Program Format" name="COBOL Source Nested Program Format"> IDENTIFICATION DIVISION. PROGRAM-ID. ${program-name-1/literal-1}
*> IS COMMON/INITIAL PROGRAM.
*> identification-division-content
ENVIRONMENT DIVISION.
*> environment-division-content
DATA DIVISION.
*> data-division-content
PROCEDURE DIVISION.
*> procedure-division-content
*> nested program
END PROGRAM ${program-name-1/literal-1}</template></category></syntaxtemplate>