Synergy DBL Statements

A statement is the smallest standalone unit in Synergy DBL that directs the computer to take a specific action.

Introduction to statements

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 - Get sequential binary data

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


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

Input and output statement qualifiers

ALLOC - Pre-allocate a number of blocks

BKTSIZ - Set bucket size

BLKSIZ - Set block size

BUFNUM - Set number of process local I/O buffers

BUFSIZ - Set buffer size

CONTIG - Allocate contiguity of a file

DEQ - Set number of blocks to add

DIRECTION - Set direction of a READS

FDL - Specify an FDL or XDL string or file specification

GETRFA - Return a record’s RFA

KEYNUM - Specify a key of reference

LOCK - Control record locking

MASK - Specify activation characters

MATCH - Define how a record is located

NOFILL - Prevent the data area from being padded with blanks

OPTIONS - Specify runtime options

POSITION - Define the file position

RECSIZ - Specify a record size for a file

RECTYPE - Define the type of records to write to a file

RFA - Locate record with the specified RFA

SHARE - Control file access

TEMPFILE - Define an intermediate file for output mode

WAIT - Specify wait time for an I/O statement to finish processing

Record locking

Record file addresses (RFAs)