CONTENTS Title Page Copyright Page Preface 1 Value Expressions and Boolean Expressions 1.1 Value Expressions 1.1.1 Literals 1.1.1.1 Character String Literals 1.1.1.2 Numeric Literals 1.1.2 Qualified Field Names 1.1.2.1 Elementary and REDEFINES Field Names 1.1.2.2 COMPUTED BY Fields 1.1.2.3 Group Field Names 1.1.2.4 Query Names 1.1.2.5 Qualifying Field Names 1.1.3 Variables 1.1.3.1 Global Variables 1.1.3.2 Local Variables 1.1.3.3 Null Values and Variables 1.1.4 Date Value Expressions 1.1.5 Prompting Value Expressions 1.1.6 Values from a Table 1.1.7 Statistical Expressions 1.1.8 Arithmetic Expressions 1.1.9 Concatenated Expressions 1.1.10 Conditional Value Expressions 1.1.10.1 CHOICE Value Expression 1.1.10.2 IF THEN ELSE Value Expression 1.1.11 FORMAT Value Expression 1.1.12 FROM Value Expression 1.2 Boolean Expressions 1.2.1 Relational Operators 1.2.2 Boolean Operators 2 Using DEC DATATRIEVE Variables 2.1 Declaring Variables 2.2 Local Variables 2.3 Global Variables 2.3.1 Predefined Global Variables 2.3.1.1 PAGE_COUNT 2.3.1.2 PAGE_NUMBER 2.3.1.3 STATEMENT_COUNT 2.4 Displaying Variables 2.5 Using Variables to Assign Values to Fields 2.6 Changing the Value of a Variable 2.7 Using Context Variables 3 DEC DATATRIEVE Functions 3.1 Functions Grouped by Type 3.1.1 Function Value Expressions 3.1.1.1 Functions Using Numeric Data 3.1.1.2 Trigonometric Functions 3.1.1.3 Functions Using Alphanumeric Data 3.1.1.4 Functions Using Dates 3.1.2 Functions for Keypad Definitions 3.1.3 Functions Handling Bits 3.1.4 Functions Relating to Processes 3.1.4.1 Functions for Timing Processes 3.1.4.2 Functions for Using Logical Names 3.1.4.3 Function for Using Symbols 3.1.4.4 Other Functions Relating to Processes 3.1.5 Functions Relating to Oracle Rdb Dbkeys 3.2 Mathematical Functions Using G-FLOATING Format Numbers 3.3 Functions Listed Alphabetically 3.4 Optimizing Function Execution FN$ABS FN$ATAN FN$BIT_AND FN$BIT_EXTRACT FN$BIT_NOT FN$BIT_OR FN$BIT_XOR FN$STR_CHARN FN$COMMAND_KEYBOARD FN$COS FN$CREATE_LOG FN$DATE FN$DAY FN$DBKEY_LENGTH FN$DCL FN$DEFINE_KEY FN$DELETE_KEY FN$DELETE_LOG FN$DELETE_LOGICAL FN$DELETE_SYMBOL FN$EXP FN$FLOOR FN$FORMAT_DBKEY FN$GET_SYMBOL FN$HEX FN$HEX_TO_DEC FN$HOUR FN$HUNDREDTH FN$ICHAR FN$INIT_TIMER FN$JULIAN FN$KEYPAD_MODE FN$KEYTABLE_ID FN$LASTREC_DBKEY FN$LN FN$LOAD_KEYDEFS FN$LOG10 FN$MINUTE FN$MOD FN$MODI FN$MONTH FN$NINT FN$OPENS_LEFT FN$PROCESS_INFO FN$PROMPT_KEYBOARD FN$SECOND FN$SETDEF FN$SETDEFPROT FN$SET_LOGICAL FN$SET_SYMBOL FN$SHOW_KEY FN$SHOW_KEYDEFS FN$SHOW_TIMER FN$SHOWDEF FN$SHOWDEFPROT FN$SIGN FN$SIN FN$SPAWN FN$SQRT FN$STR_EXTRACT FN$STR_LENGTH FN$STR_LOC FN$STR_TOKEN FN$TAN FN$TIME FN$TRANS_LOG FN$UPCASE FN$USERNAME FN$WAIT FN$WEEK FN$WIDTH FN$YEAR 4 DEC DATATRIEVE Commands, Statements, and Definition Clauses : (EXECUTE) @ (Invoke Command File) ABORT Statement ADT Command ALLOCATION Clause Assignment Statements AT Clauses AT Statements (Report Writer) BEGIN END Statement CDO Command CHOICE Statement CLOSE Command COMMIT Statement COMPUTED BY Clause CONNECT Statement CROSS Clause DATATRIEVE Command DECLARE Statement DECLARE_ATT Statement (Report Writer) DECLARE PORT Statement DECLARE SYNONYM Command DEFAULT VALUE Clause DEFINE DATABASE Command DEFINE DICTIONARY Command DEFINE DOMAIN Command DEFINE FILE Command DEFINE PORT Command DEFINE PROCEDURE Command DEFINE RECORD Command DEFINE TABLE Command DEFINEP Command DELETE Command DELETEP Command DISCONNECT Statement DISPLAY Statement DISPLAY_FORM Statement DROP Statement EDIT Command EDIT_STRING Clause END_REPORT Statement (Report Writer) ERASE Statement EXIT Command EXTRACT Command FIND Statement FINISH Command FOR Statement HELP Command IF THEN ELSE Statement LIST Statement MATCH Statement MISSING VALUE Clause MODIFY Statement OCCURS Clause ON Statement OPEN Command PICTURE Clause PLOT Statement PRINT Statement PRINT Statement (Report Writer) PURGE Command QUERY_HEADER Clause QUERY_NAME Clause READY Command RECONNECT Statement REDEFINE Command REDEFINES Clause REDUCE Statement RELEASE Command RELEASE SYNONYM Command REPEAT Statement REPORT Statement (Report Writer) Restructure Statement ROLLBACK Statement SCALE Clause SELECT Statement SET Command SET Statement (Report Writer) SHOW Command SHOWP Command SIGN Clause SORT Statement STORE Statement STORE Statement (for Oracle CODASYL DBMS and Relational Sources) SUM Statement SYNCHRONIZED Clause THEN Statement USAGE Clause VALID IF Clause WHILE Statement WITH_FORM Statement A DEC DATATRIEVE Keywords B Access Privileges Tables B.1 Access Privilege Requirements B.2 Default Access Control Lists C Logical Names for the DEC DATATRIEVE Environment D Edit String Characters E SQL/Services Truth Tables FIGURES 4-1 Control Group Report Based on One Sort Key TABLES 1 Notation Used in Syntax Diagrams 1-1 Character String Literals and Their Values 1-2 Values Derived with Statistical Functions 1-3 Arithmetic Operators 1-4 Relational Operators 1-5 Compound Boolean Expressions 4-1 AT Statements Summary Elements 4-2 DECLARE_ATT Print Attributes 4-3 Output File Specification Defaults 4-4 Allowed Combinations of Key Field Attributes 4-5 Summary of Field Definition Clauses 4-6 Default Journal File Types 4-7 EDIT_STRING Output for Two Field Values 4-8 Replacement Characters in Numeric Fields 4-9 Sign Insertion Characters 4-10 Decimal Point Insertion 4-11 Special Insertion Characters 4-12 Floating Characters in Edit Strings 4-13 EDIT_STRING Output for Date Values 4-14 Defining the Logical Name DTR$DATE_INPUT 4-15 Currency Symbols 4-16 Modifying Selected Records 4-17 Modifying All Records in the CURRENT Collection 4-18 Modifying All Records in a Record Stream 4-19 Modifying Records in a Record Stream Formed by a FOR Loop 4-20 Picture-String Characters 4-21 Print List Elements 4-22 Report Parameters Controlled by Print List Elements 4-23 Report Parameters Affected by Print List Modifiers 4-24 Access Options 4-25 Multi-User Access to Domains Based on RMS Files 4-26 Multi-User Access to Oracle CODASYL DBMS, Oracle Rdb, and VAX Rdb/ELN Sources 4-27 SET Statement Arguments 4-28 COMP Storage Allocation Types 4-29 Floating-Point Data Types: Order of Precedence B-1 Access Privileges for DMU Format Dictionaries B-2 Access Privileges for CDO Format Dictionaries B-3 DMU/CDO ACL Privilege Equivalents B-4 Access Privilege Requirements B-5 Default Access Control Lists for DMU Format Dictionaries B-6 Default Access Control Lists for CDO Format Dictionaries C-1 Logical Name Assignments D-1 Edit String Characters E-1 Boolean Operators: AND E-2 Boolean Operators: OR E-3 Boolean Operators: NOT