Statement syntax

ACCEPT - Receive a character from a specified channel

ADDHANDLER - Register a method as an event handler for an event

AWAIT - Wait for an asynchronous task to complete

BEGIN‑END - Begin and end a compound statement

CALL - Call an internal subroutine

CASE‑ENDCASE - Select a statement from a set of statements

CLASS‑ENDCLASS - Define a class

CLEAR - Clear a variable

CLOSE - Close a channel

COMMON‑ENDCOMMON - Define a shared data record

DATA - Add a local stack variable declaration

DECR - Decrement a numeric variable

DELEGATE‑ENDDELEGATE - Declare a delegate

DELETE - Delete a record from an ISAM file

DETACH - Disconnect program from terminal

DISPLAY - Send output to a device or file

DO FOREVER - Repeatedly execute a statement

DO‑UNTIL - Repeatedly execute a statement

END - End a routine

ENDPARAMS - End parameter list

ENUM - Declare an enumeration

EVENT - Declare an event

EXIT - Terminate a BEGIN‑END block

EXITLOOP - Terminate a loop

EXITTRY - Exit a TRY statement

EXTERNAL FUNCTION‑ENDEXTERNAL - Declare an external function

FIND - Find a record

FLUSH - Flush all buffers

FOR‑DO - Repeatedly execute a statement

FOR‑FROM‑THRU - Repeatedly execute a statement

FOR‑UNTIL‑DO - Repeatedly execute a statement (alternate)

FOREACH - Iterate sequentially through elements in a collection

FORMS - Process ASCII control codes

FRETURN - Return a value to the calling routine

FUNCTION‑ENDFUNCTION - Define a function

GET - Receive data from a channel

GETS - BUFSIZ

GLOBAL‑ENDGLOBAL - Define a global data section

GOTO - Transfer program control

GROUP‑ENDGROUP - Define a group

IF - Conditionally execute a statement

IF‑THEN‑ELSE - Conditionally execute one of two statements (alternate)

IMPORT - Import namespaces

INCR - Increment a numeric variable

INIT - Initialize a named data structure to its default values

INTERFACE‑ENDINTERFACE - Declaring an interface

LAMBDA - Declare a lambda function

LITERAL‑ENDLITERAL - Define a literal

LOCASE - Convert uppercase characters to lowercase

LPQUE - Queue a file for printing by the system

MAIN‑ENDMAIN - Explicitly define a main routine

MERGE - Combine two or more files

METHOD‑ENDMETHOD - Define a method

MRETURN - Return control from a method

NAMESPACE‑ENDNAMESPACE - Define a namespace

NEXTLOOP - Terminate current loop iteration

NOP - Perform no operation

OFFERROR - Disable runtime errors traps

ONERROR - Enable trapping of runtime errors

OPEN - Open a channel

PROC‑END - Begin and end the procedure division

PROPERTY‑ENDPROPERTY - Declaring a property

PURGE - Purge a channel

PUT - Write fixed‑length data

PUTS - Write sequential fixed‑length data

RAISEEVENT - Execute all registered event handlers

READ - Read a specified record

READS - Read the next sequential record

RECORD‑ENDRECORD - Define a data record

RECV - Receive a message

REMOVEHANDLER - Unregister a registered event handler

REPEAT - Repeatedly execute a statement

RETURN - Return control from a subroutine

SEND - Send a message

SET - Assign a value to a set of variables

SLEEP - Suspend program execution

SORT - Sort a file

STOP - Terminate program execution

STORE - Store a record to an ISAM file

STRUCTURE‑ENDSTRUCTURE - Define how data is laid out

SUBROUTINE‑ENDSUBROUTINE - Define an external subroutine

THROW - Throw an exception

TRY‑CATCH‑FINALLY‑ENDTRY - Handle exceptions

UNLOCK - Release a record lock on a channel

UPCASE - Convert lowercase characters to uppercase

USING‑ENDUSING - Conditionally execute a statement

USING‑RANGE - Conditionally execute a statement with a range

WHILE - Repeatedly execute a statement

WRITE - Write a record to a file

WRITES - Write the next sequential record to a channel

XCALL - Call an external subroutine or function

XRETURN - Return control to a calling routine

YIELD - Signal an iterator block