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.
%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
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
%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$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
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
^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
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
^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
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
%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_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
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
%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
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