System-Supplied Subroutines and Functions

The following external subroutines are part of Synergy DBL. For information on calling subroutines, functions, and data reference operations, along with details about argument typing, see Understanding Routines. Routines that are part of the Synergy DBL APIs are documented separately.

^A - Access data as alpha

%ABS - Return the absolute value of an expression

ACCHR - Define additional activation characters

ACESC - Define additional activation characters

^ADDR - Obtain the address of a data element

^ARG - Access a parameter as alpha

^ARGA - Access a parameter as alpha

^ARGDIM - Return the dimension number of an argument

^ARGN - Access a parameter as numeric

^ARGNUM - Return the parameter position

^ARGPRECISION - Return the precision of an implied-decimal argument

^ARGTYPE - Return the data type of a parameter

^AS - Convert an expression to another type

ASCII - Convert a decimal value into an ASCII character

ASCR5 - Convert ASCII characters into RAD50 characters

ASTRST - Restore the contents of work areas used as the result of an AST

ASTSAV - Save the contents of work areas used as the result of an AST

%ATRIM - Return an alpha stripped of trailing blanks

%ATRIMTOSTRING - Return a string stripped of trailing blanks

^B - Interpret a string as a binary number

BEGFL - Position to first record

%BIN - Return a binary string representation of a numeric value

%BIT_IS_CLR - Evaluate if a bit is clear

%BIT_IS_SET - Evaluate if a bit is set

%BKSTR - Return the position of the last occurrence of a substring

BREAK - Issue a break to the channel

BTOD - Convert binary values to decimal data

%CHAR - Return an ASCII character for a numeric expression

CHNOPN - Check whether a channel is in use

%CHOPEN - Determine if an I/O channel is open

CMDLN - Return the command line that started your program

%CNV_IP - Convert native integer data to portable form

%CNV_PI - Convert portable integer data to native form

COMPRESS - Compress a data string

COPY - Copy file contents to another file

%CPUTIME - Return the accumulated CPU time

CPUTM - Return the accumulated CPU time

CREMBX - Create a mailbox

CVTIIV - Pass an integer value to a field

CVTIZV - Pass an integer value to a zoned numeric value

^D - Access data as decimal or implied-decimal

DACHR - Disable activation characters

DAESC - Disable activation characters

DATA_DECRYPT - Decrypt ciphertext data

DATA_ENCRYPT - Encrypt plaintext data

DATA_SALTIV - Generate a salt and/or initialization vector

^DATATYPE - Return the data type

%DATE - Return the date

%DATECOMPILED - Return the compilation date and time

%DATETIME - Return the date and time

%DATETIME_FROM_I8 - Convert microseconds to DateTime format

%DATETIME_TO_I8 - Convert DateTime to microseconds

DBL$ subroutines

DBL$DEVCLT - Return the class and type of a device

%DBL$EXECUTE_IMAGE_ROUTINE - Execute a routine in a shared image

DBL$SETKRF - Set the key of reference for the next operation on an ISAM file

DBL$SNDOPR - Send a message to the system operator

%DECIMAL - Convert integer or implied-decimal to decimal

%DECML - Convert an ASCII character to its decimal value

^DECR - Decrement an argument in a complex path

^DEFINED - Determine if a field, parameter, or macro has been defined

DELET - Delete the specified file

DELMBX - Mark a permanent mailbox for deletion

^DESCR - Pass an argument by descriptor

DFLAG - Set runtime option flags

DTOB - Convert decimal data to binary values

EMPBUF - Write out modified I/O buffers

ENDFL - Position the file pointer after the last record of a file

ENVRN - Identify the current operating system and runtime

%ERLIN - Return the line number of the statement that caused an error

%ERNUM - Return the number of the most recently trapped error

%ERR_TRACEBACK - Generate error traceback

ERRMOD - Return the module in which the most recent error occurred

%ERROR - Return the number of the most recently trapped error

ERTXT - Return an error message

EXEC - Execute a non-Synergy program

EXITE - Exit the routine with a specific error

^F - Access variable as implied-decimal data type

%FALSE - Return a value of zero

FATAL - Chain to another program if a fatal error occurs

FILL - Fill a variable with a pattern

FILNM - Return the file specification of the open channel

FLAGS - Set runtime option flags

FORK - Split the current process

FREE - Release record locks on a channel

FSTAT - Return the value of the last floating point call

%FSTAT - Return the value of the last floating point call

FXSUBR - Dispatch to a floating-point function

GETCM - Load the contents of a common area into a variable

%GETCRC - Return internal CRC of a GRFA

GETDFN - Return the default file specification

GETFA - Return file attributes

GETFNM - Return the file specification of the open channel

GETLOG - Translate an environment variable

GETRFA - Retrieve the current position in a file

GLINE - Get a line of input

GTPPN - Return information about the current process

%HANDLE_FROM_STRING - Create a memory handle from a string

%HEX - Return a hexadecimal string representation of a numeric value

^I - Access data as integer

^ID - Indicate that a language element is an identifier

%IMPLIED - Convert an expression to zoned numeric implied-decimal

^INCR - Increment an argument in a complex path

INITPORT - Initialize a serial port

%INSTR - Search for a substring within a string

%INT - Return the whole number in a numeric expression

%INTEGER - Convert an expression to an integer value

%IO_ERROR - Return error numbers on specific channel

ISAMC - Create an ISAM file

ISCLR - Clear an ISAM file

ISCONFIG - Modify ISAM file configuration parameters

%ISINFO - Return numeric ISAM file status and key information

%ISINFOA - Return alpha ISAM file status and key information

ISKEY - Retrieve ISAM key information

%ISLITERAL - Determine whether argument is a literal

ISSTS - Return status information about an ISAM file

JBNAM - Provide the image name of the calling program

%JBNO - Return the job number for the current process

%JPERIOD - Return the Julian period value for a date

%KEYVAL - Extract the value of an index file’s key from a record

KILL - Terminate the calling program

%LEN - Return the length of the data area

%LINE - Return the current line number

LOCALIZE - Localize currency

^M - Map a structure to a data area

^MARRAY - Create an array by mapping a field or structure over a handle

%MEM_PROC - Implement memory management functions

MODNAME - Get the name of a routine

MONEY - Specify the currency symbol

^NAMEOF - Return string name of variable, type, or member

%NDATE - Return a numeric date

%NUMARGS - Return the number of arguments passed to a routine

^O - Interpret a string as an octal number

%OCT - Return an octal string representation of a numeric value

OPENELB - Make an ELB’s subroutines available to executing program

%OPTION - Determine if a system option is set

%PACKED - Convert a numeric expression to packed decimal data

PAINT - Redefine the paint character

%PAINT - Return the code for the current paint character

PAK - Compress numeric data

PARSE - Extract components of a file specification

^PASSED - Determine whether an argument was passed

^PASSTHRU - Access a parameter as its calling type

POSRFA - Restore the saved position in an ISAM file

PURGE - Delete previous versions of a file

PUTCM - Put the contents of a variable into a common area

QSORT - Perform an in-memory sort

R5ASC - Convert a RAD50 word into ASCII

RANDM - Generate a random number

RCFLG - Control the receive option flags

RCVID - Change the default name referenced by RECV

%RDLEN - Return the length of the last record read

%RDTRM - Return the terminating character of the last record read

%RECNUM - Return the number of the last record processed

^REF - Pass an argument by reference

RENAM - Rename a file

%RFA - Return a record’s address

%RND - Round a value to the nearest whole number

%ROUND - Round a value to the nearest whole number

%RSIZE - Return the size of the last record read

RSTAT - Return information about the last record read

RSTATD - Return numeric information about the last record read

%RTERM - Return terminating character of the last record read

RUNJB - Issue a system command or start a concurrent process

%RVSTR - Search for the last occurrence of a substring within a string

S_BLD - Construct a formatted string

S_DETAB - Expand tabs

S_MATCH - Match a string

S_PARSE - Parse a string and return information about it

S_SERVER_THREAD_INIT - Initialize a thread for xfServer

S_SERVER_THREAD_SHUTDOWN - Ensure xfServer connection is closed

S_WRAP - Wrap a string

SDMS_SEL - Set file type access behavior

SERIAL - Return the registration string of the license server

%SET_PRIORITY_CLASS - Set the priority class for a process

SETCTL - Modify the operation of control characters

SETDFN - Set the default filename path and extension

SETLOG - Set the value of an environment variable

SHELL - Execute the system command processor or create a subprocess

^SIZE - Return the size of an expression

SORT - Provide a callable interface to DBLSORT

SPAWN - Execute a command or program

%STRING - Convert a value to a string

%STRING_FROM_HANDLE - Create a string from a memory handle

STTY - Control terminal settings

%SUCCESS - Determine if low-order bit is on or off

%SYN_ATEXIT - Register a routine to be called when a service shuts down

%SYN_CHARTOSTR - Convert C-style character pointer to alpha

%SYN_DEBUG - Identify if dbr is running in debug mode

%SYN_ESCAPE_HANDLE - Escape characters in a string in a handle

%SYN_FREECHN - Get the next available channel

%SYN_GETDIR - Get the current directory path

%SYN_GETSTATE - Retrieve a Synergy state option

SYN_REPORTEVENT - Write entries to the event log

%SYN_SETDIR - Set the current directory path

%SYN_SETSTATE - Set a Synergy state option

%SYN_SYSERRTXT - Get the formatted system error message

%SYN_UNAME - Get the current username

%SYN_UNESCAPE_HANDLE - Unescape escape codes in a string in a handle

%SYN_XNAME - Get a function name from its segment address

%SYNMSW_GETFILENAME - Prompt user for filename

%SYNMSW_MSGBOX - Pop up a Windows-style message box

%SYNMSW_PRINTQUERY - Retrieve printer characteristics

%SYNMSW_PRINTSETUP - Display a Print Setup dialog box

%SYSERR - Return the status code from the last system call

%SYSID - Return the ID of the system where the source is being compiled

TFLSH - Flush the terminal buffer

TIME - Return the current system time

%TIMEZONE - Return the time zone of the current machine

%TNMBR - Return the terminal number

TRACEBACK - Print the current traceback

%TRIM - Return the length of a variable without trailing blanks

%TRIMZ - Return the length of a variable without trailing blanks

%TRUE - Return a value of one

%TRUNC - Truncate a numeric expression

%TRUNCATE - Truncate a numeric expression

TT_NAME_TO_NUMBER - Convert a terminal name to its number

TT_NUMBER_TO_NAME - Convert a terminal number to its name

TTBRDCST - Enable a program to trap broadcast messages

TTCHAR - Return type, lines, and width of a terminal

TTFLGS - Set terminal-oriented flags

TTMBX - Associate a mailbox with a channel opened to a terminal device

%TTNAME - Return the terminal name

%TTSTS - Determine whether input is pending

^TYPEOF - Return System.Type object

%UCHAR - Return a UTF-16 character from an integer expression

UNPAK - Decompress numeric data

%UNSIGNED - Return the unsigned binary value of a numeric expression

^VAL - Pass an argument by value or declare a value type function

^VARARGARRAY - Access and pass VARARGS undeclared arguments

^VARIANT - Return the value of an internal compiler variable

%VERSN - Return the Synergy DBL version number and operating system

VMCMD - Execute a DCL command

VMMSG - Get the text of an OpenVMS system message

%VMS - Indicate if a program is being compiled on OpenVMS

%WAIT - Suspend program execution

%WKDAY - Return the day of the week

^X - Interpret a string as a hexadecimal number

%XADDR - Return the address of a routine

XARGS - Return information about arguments passed to external routine

XSTAT - Get return value from last routine called

XSUBR - Invoke an external routine with the specified arguments

^XTRNL - Provides the value of a link-time symbol

%ZONED - Convert expression to decimal in zoned numeric representation