• The DP4 Manual Collection
    • Contents
    • An Introduction to DP4
      • Preface
      • What's New
      • Overview
        • Application Development Environment
          • DP4 Database Management System
          • Data Dictionary
          • User Interface Specification
          • Device Interface
          • Network Resilience
          • Auxiliary Database Management
          • Programming Tools
          • System Code
        • Runtime Environment
          • Database Manager
          • User Interface Manager
          • Networks and Resilience
      • Database Management System
        • Database Model
          • Entity Modelling
          • Entity Relationships
          • Table Definition
          • Field Definition
          • Primary Key
          • Relationships Between Tables
          • Referential Integrity
          • Field Roles
          • Data Types
          • Range of Occurrences
          • Data Dictionary Plan
          • Automatic Increment of Key Values
          • Indexes
          • Record Sequence and Key Precedence
        • Physical Model - Database Files
          • Data and Index Files
            • B-Trees
          • Roll-Back and Transaction Logs
          • Other Files
          • DP4 Runtime Files
          • Base Dictionary
          • Location of Database Files
        • Security and Integrity
          • Data Integrity
          • Change Verify
          • Record Locking
        • Database Administration
          • Backing up the Database
          • Running Integrity Checks
          • Changes to the Database Structure
          • Adding Users to a System
          • Adding Printers to a System
        • Distribution and Version Control
          • Distribution Method
          • Distribution to a New User
          • Upgrading an Existing System
          • Upgrading Several User Sites
          • Security of the Installed System
      • User Interface
        • DP4 Standard User Interface
        • Text and GUI Operation
          • Operating Systems
        • Maps
        • Keyboard Layout
        • Printing
        • User Management
          • Log On Facility
          • User Preferences
          • User Language
          • User Menu
            • User Menu Editor
        • Help System
        • National Language Support
          • Using More Than One Language
          • Error Messages
          • Database Text
          • Development Language
          • Oriental Languages
        • DP4 Thin Client
      • DP4 Programming Tools
        • QA Build
          • QA Build Programs
          • Components of a QA Build Program
          • Components of a Procedure Body
          • Accessing the Database
          • Running a QA Build Program
          • Automatic Program Generation
          • QA Build Program Debugging
          • QA Build Program Documentation
        • The DP4 C Programming Environment
        • Combining C Code with QA Build
          • Incorporating C Functions
        • Report Writer
          • What Report Writer Does
            • Report Program
            • Export Program
            • Delete Program
          • Program Definition
          • Running a Report Writer Program
          • Automatic Report Generation
        • SQL
          • SQL Interface
          • SQL Commands
          • ODBC Database Manager
      • DP4 Support Tools
        • Data Entry and Enquiry
        • Data Import and Export
          • Import Data
          • Export Data
          • Automatic Program Generation
        • DP4 Menu
        • Text Editor
        • File Viewer
        • Map Editor
        • Map Management
        • Menu Editing
        • Help Authoring
        • Test and Demonstration Setup
        • Transaction Log Auditor
        • Application Documentation
        • Version Control
      • Resilience and Distributed Databases
        • Standalone System
        • Networked System
          • Server Machine
          • Client Workstation
        • Multiple Servers
        • DP4 Resilience
        • Distributed Databases
        • Supported Networks
      • DP4 Connection Tools
        • Device Integration
          • Role of the OSDI
          • Device Definition
          • Access Within an Application
          • Writing an OSDI (device interface)
        • Auxiliary Database Controller
          • Non-DP4 Database and File Systems
          • Adding Intelligence to the Database Manager
          • Accessing Communications Services
          • Writing a Database System Function
        • Connection to Other SQL Database Systems
          • ODBC Gateway ADC
          • SQL Utilities
        • Message Manager
          • Message Setup
          • Including Message Manager in the Application
      • Appendix A: DP4 Program Reference
        • Database Management System
        • User Interface Tools
        • System Configuration Tools
        • Programming Tools
        • Support Tools
        • Network and Resilience Programs
        • Programs for Connection to External Device and Systems
      • Appendix B: DP4 Limits
    • DP4 Quick Reference Guide
      • Introduction
      • What's New
      • Getting Started
        • Installation
        • Configuration
        • Running DP4
          • Access Levels
        • Building Databases
        • Programming
        • Maintaining Databases
        • Supporting a DP4 System
          • Understanding the Database Structiure
          • Viewing DP4 Version Information
      • DP4 Utilities
        • Keyboard Interface
        • Standard Command Tails
        • Standard Exit Codes
        • Utility Reference
          • AUDITOR
          • AUTHOR
          • AUTOQAB
          • AUXDISTR
          • BROWSER
          • COLLATE
          • COPYDB
          • DBBACKUP
          • DBCHECK
          • DBERA
          • DBRECOV
          • DBRESTOR
          • DFPRINT
          • DFSETUP
          • DFTYPE
          • DP4
          • DP4ED
          • DYNABACK
          • DYNACHEK
          • FAIL
          • FDUMPM
          • FIXDB22
          • FIXDB23
          • FIXNET
          • FIXREPS4
          • HLPI
          • IMPPOST
          • IMPSETUP
          • KENTCURS
          • LIBMAKE
          • LOAD
          • LOGCOPY
          • MAKEDB
          • MAKELINK
          • MAPEDIT
          • MAPMAKE
          • MAPPOST
          • MENUEDIT
          • MENUUSER
          • NETCOPY
          • NUMBSYS
          • PATCHER
          • PRINTDB
          • PROGBIND
          • PROGCOMP
          • PROGDATE
          • PROGMAKE
          • PROGPRN
          • PROGRUN
          • PROGRUND
          • PROGRUNS
          • QABUTIL
          • RECASTDB
          • REDn or REDW (in Windows)
          • REORGDB
          • REPPRINT
          • REPSETUP
          • RESWORDS
          • ROUNDER
          • SETDATE
          • SETLINK
          • SETSESSN
          • SHUTDOWN
          • SORTEXTR
          • SRVn
          • SRVW32/SRVW64/SRVWCE
          • SYSDB
          • TABLEPLN
          • TRMn
          • UNLOAD
          • USERDATA
          • VIEW
      • DP4 Error Messages
        • System Errors
        • Fail Errors
        • Loader Errors
        • Console Log
        • How to Find Table, Field, or Role Name from a Number in a System Error Message
        • Interpreting DP4 Error log Error Messages
        • Analysis of Errors by Function
          • Functions which should not generate System or Fail Errors
          • Functions which generate Fail errors but not System errors
          • Other functions
    • DP4 Developer's Guide
      • How to use this Manual
      • What's New
      • The SALESORD Database
      • How to Comment on This Help File
      • Getting Started
        • What is the DP4 RDBMS?
        • How to Log On to DP4
        • Using the DP4 System Main Menu
        • Using the DP4 User Interface
        • Using the Windows Interface
        • Using the Example Database
          • Installing the Example Database
          • Running a QA Build Enquiry Program
          • Running a QA Build Update Program
          • Running a QA Build Menu Program
          • Running a Report Writer Program
          • Testing your DP4 Printer Selection
      • Database Design
        • Database Model
        • Entity Modelling
        • Data Normalisation
        • Data Denormalisation
        • Entity Relationships
        • Table Definition
        • Field Definition
        • Primary Key
        • Relationships Between Tables
        • Referential Integrity
        • Field Roles
        • Data Types
        • Range of Occurrences
        • Data Dictionary Plan
        • Automatic Increment of Key Values
        • Indexes
        • Record Sequence and Key Precedence
        • Design Tools
          • Function hierarchy modelling
          • Function dynamics modelling
          • Entity relationship diagram
      • Building a Database
        • Creating a Database
          • Running the Database Creation Utility (MAKEDB)
          • Selecting the Database Number System
          • Reserved Words
          • Adding a Database Table
          • Adding a Table Field
          • Formatting a Field
          • Index Link Analysis
          • Index Link Scrutiny
          • Backing up the Database
        • Modifying a Database
          • Utilities for Modifying the Database
          • Structural Changes
          • Adding Numerical Units
          • Changing Table and Field Headings
          • Changing Table, Field and Role Names
          • Copying Table Structures
          • Changing the Number System
        • Browsing the Database
          • Starting the Data Entry and Enquiry Utility
          • Locating and Viewing Records
          • Displaying Records Conditionally
          • Changing the Record Search Index
          • Editing a Record
          • Adding a New Record
          • Deleting a Record
          • Deleting Table Data
          • Outputting a Record
        • Printing the Database Structure
          • Using the Table Planner
          • Editing an Existing Table Plan
          • Including Base Dictionary Tables
          • Printing the Data Dictionary
        • Setting Database Security Levels
        • Version Control
          • Viewing the Database Version Information
          • Modifying the Database Version Information
      • Maintaining a Database
        • Setting up Transaction and Roll-back Logging
        • Backing up a Database
          • When to Back Up your Database
          • Types of Back Up
          • Session Numbers
          • Backing up to Diskette
          • Backing up to Tape Streamer
          • Dynamic Backup
          • Backing up just the Transaction Log
          • Performing a Dummy Backup
          • Modifying the Backup Operation
        • Recovering and Restoring a Database
          • Recovering a Database
          • Restoring a Database
          • Restoring the System Database
          • Restoring Out-of-Sequence Logs
          • Restoring a Database from Tape Streamer
        • Checking a Database
          • Checking the Database Status
          • Checking the Database Integrity
          • Improving DBCHECK Performance for Local Databases
          • Checking the Database Integrity Dynamically
          • Modifying the Operation of DYNACHEK
          • Counting the Records in the Database
        • Reorganising the Database
          • Speeding Up Reorganisations
          • Advanced Database Properties
          • Choosing a Reorganisation Option
          • Reorganising with Compression
          • Removing Database Holes
          • Reorganising with Rebuild
          • Optimising the Index File
          • Reorganising an Index
          • Deleting Application Data
          • Sorting The Database Data File
          • Sorting the Entire Data File
          • Reorganising to Remove Corruptions
          • Reorganising to Remove Deletions
        • Auditing the Transaction Log
        • Shutting Down a Database
        • Running Maintenance Programs From Batch Files
      • Transferring Database Information
        • Copying the Database Structure
          • Transferring the Database Structure
          • Extracting the Database Structure to a File
            • Understanding the Export File
          • Posting the Database Structure File
        • Copying Data between Databases
          • Transferring Data
          • Exporting Data with Report Writer
            • Creating an Export Program
            • Exporting Data to an ASCII File
            • Transferring Report Writer Programs between Databases
          • Importing Data with Importer
            • Automatic Creation of Importer Programs
            • Setting Up Importer Programs
              • File Description
              • Defining the Line Processing
              • Understanding Field Groups
              • Defining Field Groups
              • Defining Import Tables
              • Defining Import Fields
              • Saving Importer Programs
            • Managing Importer Programs
            • Importing Data from an ASCII File
          • Transferring Data with the Load and Unload Facility
            • Unloading Data from the Source Database
            • Loading Data into the Target Database
            • Understanding the Data Format
      • Editing Text and Maps
        • Using the DP4 Text Editor
          • Text Editing Facilities
            • Moving the Cursor
            • Inserting and Deleting Text
            • Copying and Pasting Text
            • Text Painting
            • Box Drawing
        • Viewing a Text File
        • Editing Maps
      • Managing Users
        • Maintaining the User List
          • Modifying the User List
          • Adding a New User
          • Setting Up a User
          • Amending an Existing User
          • Changing a User Password
          • Deleting a User
          • Printing the User List
          • Changing your Password
          • User Preferences
          • Changing a User's Preferences
          • Changing the Default User Preferences
        • Editing a Menu
          • Selecting a Menu Page
          • Editing a Menu Page
          • Using Menu Commands
          • Built-In Menu Commands
          • Running a DP4 Utility
          • Running an Application Program
          • Running a Non-DP4 Program
          • Special Menu Command Tails
        • Managing Menus
          • Copying a Menu Page
          • Copying a Menu from Another Database
          • Deleting a Menu Page
          • Extracting a Menu Page
          • Extracting a Database Menu
          • Posting a Menu
      • Creating an Automatic Demonstration with Redirect
        • Recording Demonstrations
        • Playing Back Demonstrations
        • Amending the Keystrokes in a Demonstration
        • Interpreting the Keystrokes in a Redirect File
      • Supporting National Languages
        • Developing a Multi-Language Application
          • Summary of the Translation Process
          • Translating the System Database
          • Adding a Language
          • Selecting the User Language
          • Changing the System Language
        • Translating Maps into Different Languages
          • Extracting Maps for Translation
          • Translating Extracted Maps
          • Posting Maps to a New Language
          • Using the Multi-Language Option
          • Translator Format Limitations
        • Selecting the Language Preferences
          • Changing the System Language Preferences
          • Changing the Language Table Preferences
          • Changing the User Language Preferences
        • Changing Character Collate Sequence and Case Conversion
          • Specifying the Lower to Upper Case Conversion
          • Specifying the Collate Sequence
          • Setting the Standard Collate Sequence
        • Changing the Database
          • Changing the Database Headings
      • Architecture of a DP4 System
        • Data and Index Files
        • Log Files
        • Configuration Files
        • Temporary Files
        • Base Dictionary
        • Database Manager
          • Updating the Database
          • Data Independence
            • Use of Generation Numbers
            • Preserving Data Independence
            • Data Type Conversion
      • DP4 Limits
    • DP4 C/C++ Programmer's Reference
      • Preface
      • How this Help File is Organised
      • What's New
      • How to Comment on this Help File
      • An Introduction to DP4 Programming
        • Programming without using the DP4 API
        • Programming using the DP4 Database API only
        • Programming using the pure DP4 API
        • Key Features of Programming with the DP4 API
      • Overview of Programming with the DP4 API
        • DP4 C Program Structure
        • Using Databases
          • Opening and Closing Databases
          • Reading Information from a Database
            • Matching on a Key
            • Reading a Table Sequentially
            • Using Multi-Part Keys
          • Writing Information to a Database
            • Creating Transactions
            • Inserting and Updating Records
            • Deleting Information from a Database
            • Committing, Flushing and Checkpointing
            • Contention Control Methods
              • Using Exclusive Access to Prevent Contention
              • Record Locking in DP4
              • Optimistic Contention Control
              • Designing Out Contention
          • Using more than one Database
          • A Better Way to Access Multiple Databases
          • Database Access Summary
          • Database Functions Quick Reference
        • Using LIBMAKE to Generate Declarations and Code
          • Running LIBMAKE
          • Specifying the Programming Language
          • Naming the Database
          • Using a Private Database
          • Defining the Database Tables to be Used
          • Generating Indexes for Record Fetching
          • Extracting and Sorting Records
          • To Mark the End of Directives
          • LIBMAKE Reference
          • Example of Code Generated by LIBMAKE
        • Using the DP4 User Interface Tools and Functions
          • Maps
          • Menus
            • Creating and Using a Simple Menu
            • Greying-Out Menu Options
            • Action-Bars and Pull-Down Menus
          • Data Entry and Display
            • Displaying and Formatting Data
            • Field Input
            • Responding to Special Keys
            • Prompt - Choosing Values from a List
            • Managing a Dialog with map_get_inputs()
            • Example Dialog from DP4
          • Printing
            • Selecting a Printer
            • Sending Data to the Print Stream
            • Output from the Print Stream
            • Releasing the Printer
        • Extracting and Sorting Data
        • Memory Management, Caches, Buffers and Files.
          • Heap Management Functions
          • Caching Functions
            • Cache Function Limitations
            • Cache Function Refinements
          • Buffered Fetch Functions
      • Programming with DP4DBAPI
        • Error Handling with DP4DBAPI
      • Installing and Using DP4 C Libraries and Tools
        • Compilers Supported by DP4
        • Setting up your DP4 C Environment
        • Building Programs
          • Windows-Specific Issues
          • Trapping System Menu Close Requests
          • Compiling 16 bit DP4 C Programs
          • Linking 16 bit DP4 C Programs
            • More about 16 bit Windows Applications
          • Conversion Utilities (16 bit programs)
            • EXE2CMD
            • EXE2OS2
            • EXE2UNIX
            • CMD2EXE
        • Version Control
      • Header Files
      • Global Variables
        • abort_code
        • app_nr_system
        • app_rw_access
        • app_server_name
        • app_start_date
        • app_start_time
        • app_tailc, app_tailv
        • broken, broken
        • changed
        • choose_any_option
        • clearfirst
        • data_flags
        • db_generation
        • db_is_open
        • db_name
        • db_nr
        • db_open_flags
        • depth
        • df_libtype
        • df_process
        • fail_code
        • input_field
        • input_map
        • jump
        • locked
        • mallocx_handler
        • map_db_nr
        • map_name
        • menu_flags
        • os_number
        • page_depth
        • page_width
        • pk_chosen_field
        • pk_more_choices
        • pk_range
        • pr_available
        • pr_device
        • pr_err_mode
        • pr_filename
        • print_error
        • pr_line
        • pr_page
        • pr_started
        • pr_streams
        • pr_sub_device
        • range
        • realpass
        • rmk_flags
        • selected
        • scrnd_flags
        • scrn_flags
        • showd_flags
        • show_flags
        • there
        • Other Global Variables
      • Macros
        • abs
        • COPY
        • make_tempname
        • max
        • min
        • MOVE
        • NR_ELEMENTS
        • rec_comp
        • SAME
        • showb
        • sys_pause
        • WIPE
        • ZERO
        • zero_rec
      • Functions
        • Functions A-C
          • app_close()
          • app_error()
          • askf()
          • askf_password()
          • askf_special()
          • askf_x()
          • askm_radio()
          • askm_special()
          • bf_close()
          • bf_fetch()
          • bf_open()
          • bf_reset()
          • blk_fetch()
          • cache_describe()
          • cache_find()
          • cache_lock()
          • cache_post()
          • cache_start()
          • cache_unlock()
          • copy2child()
          • copy2parent()
          • cycle()
        • Functions D
          • date_add_number()
          • date_compare()
          • date_ok()
          • date_subtract_date()
          • date_to_number()
          • db_checkpoint()
          • db_close()
          • db_commit()
          • db_decommit()
          • db_get_flag()
          • db_get_generation()
          • db_get_status()
          • db_open()
          • db_update()
          • df_make_name()
          • dp4_error_status()
          • dp4_halt()
          • dvc_check()
          • dvc_choose()
          • dvc_close()
          • dvc_get_inp_source()
          • dvc_get_status()
          • dvc_open()
          • dvc_set_inp_mask()
          • dvc_set_subdevice()
        • Functions E-F
          • extract_close()
          • extract_open()
          • extract_read
          • extract_sort()
          • extract_write()
          • field_blank()
          • field_char_get()
          • field_choose()
          • field_colour()
          • field_cursor()
          • field_eg_choose()
          • field_end()
          • field_force_colour()
          • field_force_range()
          • field_force_size()
          • field_help()
          • field_highlight()
          • field_map_length()
          • field_read()
          • field_skip()
          • field_start()
          • form()
          • form_beside()
          • form_over()
          • form_test()
          • freep()
          • freex()
          • ftch2nd()
        • Functions G-L
          • heap_avail()
          • heap_init()
          • inpm()
          • inpm_ban()
          • inpm_bb()
          • inpm_e()
          • inpm_ge()
          • inpm_omit()
          • inpm_x()
          • inpm_xnp()
        • Functions M
          • mallocp()
          • mallocx()
          • mallocxable()
          • map_activate()
          • map_alter()
          • map_askf_y()
          • map_attach()
          • map_bar_choose()
          • map_change()
          • map_choose()
          • map_clear_after()
          • map_clear_all()
          • map_clear_from()
          • map_clear_remarks()
          • map_datamap()
          • map_draw()
          • map_draw_over()
          • map_g_choose()
          • map_get_depth()
          • map_get_inputs()
          • map_get_width()
          • map_glue()
          • map_hide()
          • map_items_to_scroll()
          • map_load()
          • map_menu()
          • map_new_position()
          • map_new_window()
          • map_old_position()
          • map_old_window()
          • map_pause()
          • map_predisplay()
          • map_remark()
          • map_reveal()
          • map_set_scroll_end()
          • map_so()
          • map_switch_language()
          • map_use()
          • map_yes()
          • mem_describe()
          • mem_find()
          • mem_post()
        • Functions N-Q
          • number_to_date()
          • open_database()
          • pattern_match()
          • pick_list()
          • pick_record()
          • prn()
          • prn_abort()
          • prn_append()
          • prn_length()
          • prn_over()
          • prn_print()
          • prn_x()
          • prnx()
        • Functions R
          • reach()
          • reallocx()
          • rec_autoinc()
          • rec_child_copy()
          • rec_fetch()
          • rec_fetch_main()
          • rec_kill()
          • rec_kill_ignore()
          • rec_parent_copy()
          • rec_post()
          • rec_post_commit()
          • rec_post_with_flags()
          • rec_retrieve()
          • rec_verify()
        • Functions S
          • scanftch()
          • scanreach()
          • scrn_map()
          • scrnx_map()
          • sf_read_sysdata()
          • show()
          • show_attach()
          • show_extra()
          • show_graphic()
          • show_more()
          • show_over()
          • show_resource()
          • show_special()
          • show_x()
          • srv_connect()
          • srv_disable()
          • srv_enable()
          • srv_end_process()
          • srv_init_process()
          • srv_load_srv()
          • srv_mem_describe()
          • srv_mem_find()
          • srv_mem_post()
          • str_lcase()
          • str_ucase()
          • sys_del_confirm()
          • sys_error()
          • sys_fail()
          • sys_message()
          • sys_request()
          • sys_upd_confirm()
        • Functions T-V
          • tail_found()
          • tail_get_option()
          • tail_read()
          • tf_check(), sf_check()
          • tf_close(), sf_close()
          • tf_default(), sf_default()
          • tf_delete(), sf_delete()
          • tf_disk_reset(), sf_disk_reset()
          • tf_flush(), sf_flush()
          • tf_get_date_time(), sf_get_date_time()
          • tf_get_file_timestamp(),sf_get_file_timestamp()
          • tf_get_position(), sf_get_position()
          • tf_get_size(), sf_get_size()
          • tf_open(), sf_open()
          • tf_read(), sf_read()
          • tf_read_record(), sf_read_record()
          • tf_read_sysdata()
          • tf_rename(), sf_rename()
          • tf_round_number()
          • tf_seek(), sf_seek()
          • tf_set_date_time(), sf_set_date_time()
          • tf_set_file_timestamp(),sf_set_file_timestamp()
          • tf_space(), sf_space()
          • tf_trunc_number()
          • tf_txt_close()
          • tf_txt_read()
          • tf_txt_seek_end()
          • tf_txt_write()
          • tf_write(), sf_write()
          • tf_write_record(), sf_write_record()
          • trm_beep()
          • trm_clr_ahead()
          • trm_co()
          • trm_control_subclass()
          • trm_ctrls()
          • trm_curs_off()
          • trm_curs_on()
          • trm_cursor()
          • trm_get_access()
          • trm_get_hwnd()
          • trm_grabchr()
          • trm_lookchr()
          • trm_read_user()
          • trm_refresh()
          • trm_run_program()
          • trm_run_program_ex()
          • trm_screen_dump()
          • trm_set_preferences()
          • trm_set_progname()
          • trm_set_training_mode()
          • trm_so()
          • trm_unset_preferences()
          • trm_write_syslog()
        • Functions W-Z
          • wkf_fetch()
          • wkf_open()
          • wkf_post()
      • Error handling in DP4 Programs
        • How calls to DP4 error functions are generated
        • Error functions in Standard DP4 C Programs
        • Error functions in NOTRM Programs
        • Error functions in ADCs
      • Appendix 1: Renamed System Variables
      • Appendix 2: Renamed Functions
      • The SALESORD Database
    • QA Build Developer's Guide
      • Contents
      • What's New
      • Overview of QA Build
        • Components of a QA Build Program
          • Procedure Trees
          • Place Holders
        • Sharing Program Components
        • Components of QAB
        • Key Concepts
      • QA Build Program Setup
        • Using the Program Editor
          • Starting the Program Editor
          • Program Editor Command Tails
          • Program Editor Header Information
          • PROGMAKE Facilities Menu
          • Editing a QAB Program
            • Selecting a Program to Work On
            • Program Editing Functions
            • Program Summary
              • Screen Layout Map
            • Program Output Devices
            • Program Flow Diagram
            • Inserting Procedures
              • Conditional Entry to a Procedure
            • Deleting Procedures
            • Moving Procedures
            • Copying Procedures
            • Procedure Editing Menu
            • Procedure Body Editing Menu
            • Procedure Overview
              • Iteration
              • Error Subsidiaries
            • Table Processing Menu
              • Main Table Processing
                • Auto-Increment
              • Generate Parent Checks
              • Related Table Processing
              • Additional Table Processing
              • Related or Additional Table Processing Dialog
              • General Remarks on Table Processing
                • Roles
                • Updating Tables
            • Main Maps
              • Screen Design
                • Output Method
                • Function Key Area Map
              • Form Design
                • Form Output Methods
            • Field processing
              • Automatic Generation of Field Processing
              • Field Editing
              • Field Details
                • Field Validation
              • Totalling
              • Local Fields
              • Standard Variable Reference
        • Database Management
          • Database Opening Options
            • Exclusive Access
            • Read-Only Access
            • Private Database
          • Reading Records
          • Searching Tables
          • Updating the Database
          • Adding, Amending and Deleting Records
          • Securing Changes
          • Commit Frequency
          • Change Verify
          • Record Locking
          • Batch Processing
          • Multi User Access
        • Maps
          • Mapsets and QAB
          • Language Support
          • Message Maps
            • Automatically Generated Maps
          • Multiple Choice Maps
          • Window Access
          • Message Assignment Menu
          • Map Assignment menu
          • Map Editing
            • Editing Maps Outside QA Build
        • Menus and Function Keys
          • Pop-up Menus
          • Action Bar Menus and Pull-Down Menus
          • Function Keys with Data Entry
          • Hot Key Selection
          • Menu Options
          • Use of Menus for Program Control
          • Standard Message Menus
        • Running Other Programs & Special Functions
          • Calling QA Build Programs
          • Calling Non-QA Build Programs
          • Special and User Access Functions
        • Printing
          • Initialising Printing at Startup
          • Initialising Printing in a Procedure Body
          • Subdevice Output
          • Print Control Variables
          • Print Error Handling
          • Input Source Variable
        • Conditions and Formulas
          • Using Conditions and Formulas
          • Formula Editing Menu
          • Condition Entry Dialog
          • Formula Entry Dialog
          • Formula Syntax
            • Comments
            • Operands
              • Constants
              • Referencing Fields
              • Multi-Occurs Fields
                • The Array Subscript Operator
                • Expressions with Multi-Occurs Operands
                • Assigning to A Variable Occurrence
          • Operators and Functions by Category
            • Arithmetical Operators and Functions
            • Scientific Functions
            • Character Operators and Functions
            • Date Operators and Functions
            • Logical Operators and Functions
            • Multi-Occurrence Operators and Functions
            • Relational Operators
            • Time Operators
          • Operator Precedence
          • Operator/Function Reference
            • ABS
            • Add +
            • AND
            • ANY
            • ASCII
            • Bitwise Operators
            • CHARTONR or CHARTONUM
            • CHR (or CHAR)
            • CONCAT
            • Concatenation Operator |
            • DATETONR or DATETONUM
            • DAY
            • Divide /
            • Equal = (or ==)
            • EVERY
            • Greater than >
            • Greater than or Equal to >=
            • GET_PASSWORD
            • head
            • HOUR
            • HUNDREDTHS
            • IF THEN ELSE
            • IN
            • Less than <
            • Less than or Equal to <=
            • LENGTH_OF
            • LIKE
            • MAXIMUM
            • MINIMUM
            • MINUTES
            • MOD
            • MONTH
            • Multiply *
            • NEXTCHAR
            • NRTOCHAR or NUMTOCHAR
            • NOT
            • Not Equal to <> or !=
            • NRTODATE or NUMTODATE
            • OR
            • PATTERN_MATCH
            • POSITION
            • READ_TAIL
            • READ_TOGGLE
            • ROUND
            • SECONDS
            • SETDAYS
            • SETHOURS
            • SETHUNDREDTHS
            • SETMINUTES
            • SETMONTHS
            • SETSECONDS
            • SETYEARS
            • Subtract -
            • SUM
            • TAIL
            • TRIMMED
            • TRUNC
            • UPPERCASE
            • VALIDNUMBER
            • YEAR
        • Function Definition
          • Functions and Macros
          • Constants
          • External C Functions
          • Word Strings
      • Design Decisions
        • Structure of Procedure Trees
        • Libraries
        • Overlays
        • Maps and Mapsets
        • Macro Formulas
      • Using QA Build with C
        • Calling QA Build Programs from C
          • Resuming After Qaction_program()
          • LIBMAKE
          • Linking with QABLINK
          • DP4 C Functions for calling QAB
        • Adding Custom Functions to PROGRUN
          • Introduction
          • C Function Definitions
          • Function Datatypes
          • Occurs Checking Number
          • Calling C Formula Operators
          • Generate C Function Interface
          • Writing C Formula Operators
          • Compiling the C Code
          • Create .LNK file
          • Link the Executable Program
          • PROGRUN/Database Compatibility
          • Customising the Program Interpreter
            • Introduction
            • Generic PROGRUN: Summary of Tasks
            • Dedicated PROGRUN: Summary of Tasks
            • Setting up QA Build (Dedicated PROGRUN only)
            • Generating the C Procedure Interface (Generic PROGRUN only)
          • Writing the .C File (Generic PROGRUN) or .QAC File (Dedicated PROGRUN)
            • Function Name
            • Local Fields
            • Standard Fields
            • Database Fields
            • Function Type
          • Creating Table Definitions (Generic PROGRUN only)
          • Compiling your C Code
          • Creating the .LNK File (Generic PROGRUN only)
          • Linking the Executable Program
          • Improving the Efficiency of the C Exit (Generic PROGRUN only)
        • Combining Procedure Bodies and Functions
        • Testing a QA Build Program with C Exits
        • Changing the Maximum Program Size
      • Compiling a QA Build Program
        • Compilation Options
        • Command Tails for the Program Compiler
        • Compilation Display
        • Program Analysis
        • Error Messages during Compilation
          • Fatal Errors
          • Serious Error Messages
          • Warning Messages
      • Running a QA Build Program
        • Command Tails for the Program Interpreter
        • Running a Program Against Another Database
        • Run-Time Messages
      • Execution of a QA Build Program
        • Startup
        • Procedure Initialisation
        • Procedure Execution
        • Procedure Body Execution
        • Processing for Each Field
        • Database Accesses
        • Execution of Totalling
      • The QA Build Utility Programs
        • QABUTIL
        • Transferring QA Build Updates
        • Version Control
        • Renaming
        • Analysis
          • Identifying the Impact of Database Changes
          • Identifying Missing Maps
        • Hiding Programs
        • Deleting Programs
        • Locating Formulas and Identifiers
        • Debugging Programs
        • Automatic Program Generation
          • AutoQAB Configuration
          • AutoQAB-Generated Programs
          • Automatic Generation of Maps in a New Language
        • QA Build Program Extract Files
          • Introduction
          • Syntax of Extract Files
          • Numeric Values
    • 4.600 Map Editor User's Guide
      • Contents
      • What's New
      • Map Editor Basics
        • Mapsets, Maps, Controls and Properties
        • Starting the Map Editor
        • The Map Editor Screen
        • Opening a Database
        • Closing a Database
        • Opening a Mapset
        • Opening a Map
        • Creating a New Map
        • Copying a Map
        • Deleting a Map
        • Copying a Mapset
        • Deleting a Mapset
        • Saving the Map
        • Saving All Maps
        • Saving the Active Map in a Different Location
        • Working with Multiple Maps
        • Changing Language in a Map Editor Session
        • Leaving the Map Editor
      • Working in a Map Editing Window
        • Undoing Mistakes
        • Adding Controls
        • Selecting Controls
        • Editing Control Properties
          • Attach Point Control Properties
          • Bitmap Control Properties
          • Button Control Properties
          • Check Box Control Properties
          • Edit Control Properties
            • Edit Controls: Data Properties
              • Formatting Booleans
              • Formatting Characters
              • Formatting Dates
              • Formatting Numbers
              • Formatting Pause Fields
              • Formatting Times
          • Enumeration Control Properties
          • Group Box Control Properties
          • Header Control Properties
            • Using Header Controls
          • Icon Control Properties
          • Line Control Properties
          • Map Properties
            • Cursor Movement in Maps
          • Radio Button Control Properties
          • Tab Control Properties
            • Using Tabs
            • Add Tabs Dialog
          • Text Control Properties
            • Static Text: Embedded Fields Properties
          • VCR Control Properties
          • Adding Buttons to Old Maps
          • Adding Help
          • Specifying Access Levels
          • Fonts
          • Colour
            • Colour Scheme Editor
          • Specifying Mnemonics
        • Sharing Control Properties
          • Specifying a Shared Control
          • Adding a Shared Control to the Map
        • Deleting Controls
        • Moving Controls
        • Positioning Controls by Specifying their Co-ordinates
        • Sizing Controls
        • Aligning Controls using the Grid
        • Aligning Controls using the Align Commands
        • Spacing Controls
        • Making Controls the Same Size
        • Cutting, Copying and Pasting Controls
      • Editing DP4 Menu Pages
        • DP4 Menu Page Toolbox
        • Option Action
        • Using Menu Commands
          • Built-In Menu Commands
          • Running a DP4 Utility
          • Running an Application Program
          • Running a Non-DP4 Program
          • Special Menu Command Tails
      • Editing Menus
        • What are Menu Numbers?
        • Avoiding Overwrite Problems
        • Opening a Menu
        • Converting Maps to Menus
        • Creating a New Menu
        • Adding Lines to the Pull-down Menu
        • Defining Accelerator Keys
        • Deleting Options from the Pull-down Menu
        • Inserting New Options in the Pull-down Menu
        • Deleting a Menu
      • Configuration
        • Configuration Options
        • Configuration Details
        • MAPEDIT Command Tails
        • Map Editor Preferences
          • Specifying the Resource Location
        • Map Editor Window
    • DP4 Report Writer Guide
      • How to Use This Manual
      • What's New
      • What is the Report Writer?
      • The SALESORD Database
      • How The Manual is Organised
      • How to Comment on This Help File
      • Introduction to Report Writer
        • Report Writer Terms
        • How Report Writer Works
        • Specifying Your Report with REPSETUP
        • Report Writer User Interface
      • Creating a Report Program
        • Loading Repsetup from the DP4 System Menu
        • Automatic Program Generation
        • Editing a Program
          • Table Details and Type
          • Heading
          • Field Processing
          • Total field?
          • Local break only?
          • Field Formatting
          • List/Delete Condition
          • Fast Pass Condition
          • Output Devices and Format
          • Copy Another Program
      • Conditions and Formulas
        • Where Conditions and Formulas are Used
        • Creating Conditions and Formulas
        • Formula Entry
        • Formula Syntax
          • Comments
          • Operands
            • Constant Values
            • Field Referencing
            • Multi-Occurs Fields
              • The Array Subscript Operator
              • Expressions with Multi-Occurs Operands
              • Assigning to A Variable Occurrence
        • Operators and Functions by Category
          • Numeric
          • Character
          • Date
          • Logical
          • Multi-Occurrence
          • Relational
          • Time
        • Operator Precedence
        • Operator/Function Reference
          • ABS
          • Add +
          • AND
          • ANY
          • ASCII
          • CHARTONR
          • CHR (or CHAR)
          • CONCAT
          • Concatenation Operator |
          • DATETONR
          • DAY
          • Divide /
          • Equal = (or ==)
          • EVERY
          • Greater than >
          • Greater than or Equal to >=
          • head
          • HOUR
          • HUNDREDTH
          • IF THEN ELSE
          • IN
          • LAST
          • Less than <
          • Less than or Equal to <=
          • MAX
          • MIN
          • MINUTE
          • MOD
          • MONTH
          • Multiply *
          • NOT
          • Not Equal to <>or !=
          • NRTODATE
          • NUMTOCHAR
          • OR
          • PATTERN_MATCH
          • POS
          • PREVIOUS
          • PROVIDED
          • ROUND
          • SEC
          • SETDAY
          • SETHOUR
          • SETHUNDREDTH
          • SETMINUTE
          • SETMONTH
          • SETSECOND
          • SETYEAR
          • SIGNEDON
          • Subtract -
          • SUM
          • TAIL
          • TOTAL
          • TRUNC
          • UPPERCASE
          • VALIDNUM
          • YEAR
        • Pre-Defined Variables
        • Using Functions/Macros
      • Printing a Report (REPPRINT)
        • Loading from the DP4 System Menu
      • Managing Report Writer Programs
        • Testing Programs
        • Moving Programs
        • Printing Programs
        • Deleting Programs
      • Error Control and Error Reports
        • Join Error
        • Divide by Zero Error
        • Insufficient Field Size
        • Insufficient Memory
        • Insufficient Space
        • Other Errors
      • Loading from the Command Line
        • Loading REPSETUP
        • Loading REPPRINT
      • Sample Reports for the SALESORD Database
        • LISTING: Listing MATERIAL Table Records
        • MAIL: Printing Mailing Labels
        • TOTALS: Printing Customer Orders for Several Regions
        • RUNTIME: Printing Customer Orders for one Region
        • INVOICE: Printing a Customer Invoice
    • DP4 SQL Products Guide
      • How to Use This Guide
      • What's New
      • The SALESORD Database
      • How to Comment on this Help File
      • DP4 Gateway ADC User Guide
        • Overview of the Gateway ADC
        • Installation and Configuration (ODBC)
          • Adding ODBC Data Sources
          • Running the Installation Aid Program
          • Using the COPYDB Format File
          • SQLMAKE
        • Installation and Configuration (Oracle)
          • Creating an Oracle Schema from a DP4 database
        • Gateway ADC Configuration Options
          • Translating Names
          • Links into Guide to DP4 Configuration
            • [sql]
            • [sql.config <DP4_database_name>]
            • [sql.remote <DP4_database_name>]
            • [sql.xlat <DP4_database_name>]
            • [sql.xlat2 <DP4_database_name>]
            • [auxwodbc]
              • col_order
              • first_occurs
              • role_sep
              • use_checksum
              • use_long_query
              • use_subquery
              • [debug]
            • [oracle]
              • allow_null_key
              • array_fetch
              • bin_data
              • block_post
              • bool_as_char
              • col_order
              • first_occurs
              • ignore_time
              • max_max_cursors
              • max_statements
              • qab_lock
              • role_sep
              • s_as_raw
              • schema_name
              • sequence_format
              • short_sql
              • sys_on_app_name
              • use_checksum
              • use_logon_dialog
              • use_long_query
              • use_rownum
              • use_serializable
              • use_subquery
              • Customer specific values
              • [debug]
        • Using the ADC
        • Diagnostics
        • Networking Considerations
        • Implementation - How the Gateway ADC generates SQL
        • Limitations
      • DP4 ODBC Drivers User Guide
        • Installation and Configuration
          • Adding ODBC Data Sources
            • User Name
            • Password
            • Prompt
            • Omit checks
            • Go Faster
        • Using the ODBC Interface
          • Logging on to a DP4 Database
          • Connecting to DP4 from Microsoft Excel
            • Using SQL.REQUEST to Return an Array of Data
            • Installing the ODBC Add-In
            • Using a Pivot Table
            • Using Microsoft Access from within Excel
          • Connecting to DP4 from Microsoft Access
          • Sending Microsoft Access Data to Microsoft Excel/Microsoft Word
          • Connecting to DP4 from Microsoft Query
          • Connecting to DP4 from Crystal Reports
        • How column names are generated
        • Conformance to the ODBC Standard
      • DP4 SQL Interpreter and Filter User Guide
        • Installing the DP4 SQL Product
        • Using the DP4 SQL Interpreter
        • Running SQL Statements in Batch Mode
          • File-Driven SQL Sessions
          • UNIX and Linux SQL Sessions
          • SQLEXE Command Line Options
      • DP4 SQL Engine Reference
        • SQL Notation
          • Table and Field Names
          • Expressions
          • Conditions
          • Date/Time Arithmetic
          • SQL Trigraphs
        • SQL Statements
          • The SELECT Statement
            • Printing Columns
            • Selecting Records
            • Grouping Records
            • Column Functions
            • Selecting Groups
            • Sorting Records
            • Joining a Table to Itself
            • SQL2 Join Syntax (Outer Joins)
            • Subqueries
          • The INSERT Statement
          • The UPDATE Statement
          • The DELETE Statement
          • COMMIT WORK and ROLLBACK WORK Statements
        • SQL Statement Execution in DP4
          • SQL Joins
          • Compiler Hints
        • Comparison with Other SQL Implementations
          • Special Registers Not Supported
          • Identifier Names
          • Arithmetic
          • Dates and Times
          • CHAR Function
      • DP4 DDE Interface
        • Linking to DP4 from Microsoft Excel
    • DP4 ADC Developer's Guide
      • What's New
      • Introduction
        • ADC - DP4 Database Middleware
        • Purpose of ADCs
      • Information for System Integrators
        • Loading an ADC
        • Loading Multiple ADCs - Chaining
      • ADC Implementation
        • The Skeleton ADC Functions
        • Calls available to ADC functions
          • Use of df_process variable
          • ADC calls to Terminal Manager Functions
        • Multi-Threading Issues
        • Debugging
      • Example ADCS
        • AUDEBUG
        • AUDUPE
          • Limitations
        • RAM_DB
      • Issues arising with Business Logic ADCs
        • Data Independence in ADCs
      • Platform Specific Information
        • Windows 95/98/Me/NT/2000
          • Building Win32 ADCs
          • Viewing Diagnostics with ERRLOG
        • Unix and Linux
        • Windows 3.x
          • Calling Mechanism
          • ADC Operational Considerations in Windows 3.x
        • Legacy Operating Systems (DOS,OS/2,FlexOS)
          • Compiler Support
          • MSDOS Development
          • FlexOS Development
          • FlexOS Development
          • OS/2 Development
    • OSDI Developer's Guide
      • Introduction
      • What's New
      • Overview of OSDI
        • Device Definition
          • Output Devices
          • Input Devices
        • Application Programming
          • Output Devices in DP4 Applications
        • Writing an OSDI Overview
        • Introduction to the Example Device
      • Device Definition Hierarchy
        • CODs
        • PODs
        • Input Devices of a Device Group
        • Configuring a Device Group
          • COD Definition
            • COD Parameter Definition
          • POD Definition
          • Input Device Definition
          • Configuring a Printer
            • Device Group Description up to 4.620
            • Device Group Description from 4.621
            • Boxes and Control Strings
            • Changing the Appearance of Printed Text
            • Configuring DFPRINT PODs
      • Keyboard Customisation
      • Accessing Devices from DP4 Applications
        • Accessing an OSDI from QA Build
          • Selecting a Device Group (QAB)
          • Selecting a POD (QAB)
          • Using a POD (QAB)
          • Retrieving a POD Status (QAB)
          • Enabling Input Devices (QAB)
          • Retrieving the Input Source (QAB)
          • Error Handling (QAB)
        • Accessing an OSDI from DP4 C Programs
          • Selecting a Device Group (C Programs)
          • Selecting a POD (C Programs)
          • Output to a POD (C Programs)
          • Retrieving a POD Status (C Programs)
          • Enabling Input Devices (C Programs)
          • Retrieving the Input Source (C Programs)
          • Error Handling (C Programs)
          • Example C Application
      • Writing an OSDI
        • Structure of the OSDI
        • OSDI for Operating Systems other than Windows
          • How OSDI Functions Match Application Calls
          • Starting and Stopping the System
          • Handling Input Devices
            • inp_start()
            • inp_restart()
            • inp_stop()
            • inp_task()
            • Calls to inp_idle()
            • Multiple Input Sources and Concurrent Input
            • Input Buffering and Type Ahead Issues
          • Handling Output Devices
            • Definitions and Declarations
            • prn_select()
            • prn_parameters()
            • prn_print()
            • prn_status()
            • prn_deselect()
          • Asynchronous Printing
          • Error Handling
            • Output Errors
            • Reprinting After Errors
            • Input Device Errors
          • Operating System Dependencies
            • MS-DOS system dependencies
            • Unix system dependencies
            • FlexOS system dependencies
            • OS/2 system dependencies
        • OSDI for Windows
          • Structure of the Windows OSDI
          • The Windows OSDI Functions
        • Compiling and Linking the OSDI
          • Supported Compilers
          • MSDOS Compiling & Linking
          • Unix/Linux Compiling & Linking
          • FlexOS Compiling & Linking
          • OS/2 Compiling & Linking
      • Running the OSDI
        • Running under MSDOS
        • Running under Windows
        • Running under Unix
        • Running under FlexOS
        • Running under OS/2
      • Appendix A: MSDOS Serial Comms
      • Appendix B: Conversion of Old OSDI
      • Appendix C: Electronic Journal
      • Glossary
    • Guide to DP4 Networking and Resilience
      • Preface
      • What's New
      • Information for System Architects
        • Overview
        • Alternatives to DP4 networking
        • Prerequisites for DP4 networking
        • Cross Platform Networking
        • DP4 Networking Configurations
          • Overview - Networking Configurations
          • How to Choose an Appropriate Network Configuration
            • Resilience Architectures
              • Design Constraints with Duplex Resilience Architecture
            • Comparison of DP4 Networking Configurations
          • Simple Client Only Networking
          • Local Database Resilience Clients
          • Multiple Server Resilience
          • Named connection configuration
          • DP4 Terminal Server
      • How to Load DP4 Networking
        • General Information
          • General Remarks about Loading DP4 Networking
          • Unloading DP4 Networking
          • The -server_name Command Tail for Applications
          • Server Numbers
            • Mapping of Server Numbers to Network Addresses
        • The DP4 Network Server and How to Load it
          • Network Manager Display
        • How to Load Simple Client Only Networking
          • Using Server Numbers
        • How to Load Local Database Resilience Clients
          • Use of Server Numbers
          • Network Error Handling Options with Local Resilience
        • How to load the Named Connection Configuration
          • Reverse Connection Facility
        • How to Load Multiple Resilience Configurations
          • How to load a Multiple Resilience Clients
          • How to Load Multiple Resilience Combined Client Servers
          • Network Error Handling Options with Multiple Resilience
          • Automatic Reconciliation for Duplex Resilience Configurations
          • Using other ADCs with Multiple Resilience
        • How to Load the DP4 Terminal Server and Thin Client
          • Running Programs with the DP4 Thin Client
      • NETCOPY
        • Synchronising date/time
      • Troubleshooting
        • Trouble shooting TCP/IP - things to try
          • -nonames Option
          • -nokeepalive Option
          • -socket n Option
          • Keep Alives, Operation over a Wide Area Network
      • Information for Programmers
        • Creating Named Connections from C/C++ code
        • Resilience API Overview
        • Network Status Table
          • Network Status for Configurations without Multiple Resilience
          • Network Status for Configurations with Multiple Resilience
        • The broken Variable
        • Location Override for Fetches and Updates
        • Network Layout Table
          • Operation of @Network with Multiple Resilience Loaded
          • Persistent Network layout records
          • How 'local' flag is used
          • Database Open Modes Affecting Network Layout
        • Resilience Implementation Details
          • AUXDISTR and Secondary Indexes
          • Implementation of Commit Operations
          • Effect of Networking on Commit Failures
      • Quick Reference Section
        • DP4 Networking Components
        • Command Tails for DP4 Network Programs
      • Supported Platforms
        • TCP/IP Networks
          • Clients
          • Servers
          • Connection Limits for TCP/IP
        • Other Networks
          • NetBIOS Notes
          • IPX/SPX Notes
        • 16 bit Windows
          • Loading
          • Unloading the Network Software
          • Diagnostics
          • Command Tail specific to 16 bit tcpw.exe
        • DP4 Networking Notes for Unix and Linux
          • DP4 Networking Notes for Unix and Linux (to 4.523)
            • Unloading the Network Software
            • Diagnostics
            • Command Tails Specific to UNIX
          • DP4 Networking Notes for Unix and Linux (from 4.525)
            • Unloading the Network Software
            • Diagnostics
    • Installation & Configuration Guides
      • DP4 for Windows Installation Guide
        • Contents
        • What's New
          • Changes to DP4 installation in 4.621
        • Requirements
        • Platform Specific Considerations
        • Installing DP4 for Windows
          • Installation of DP4 for Windows using DP4 Install
          • Upgrading an Existing Installation
            • Preserving the System User List and Device Information
          • Installing Additional DP4 Components
          • Appendix A: Manual Installation for Windows
        • Installing on Citrix Winframe/NT Terminal Server
          • Introduction
          • Installation
          • Configuration
        • Configuration of DP4 on Windows
          • DP4 Licence File
            • DATAFIT Environment Variable
          • Setting the PATH variable
          • Starting the DP4 System
            • Customising StartUp
          • Creating USERDATA.SYS
          • Running DFSETUP to Configure DP4
          • The DP4 configuration file
      • DP4 for Unix and Linux Installation Guide
        • Introduction
        • What's New
        • Unix/Linux Versions Supported
        • DP4 Packages Available
        • Installation
        • Operational Considerations
          • Key Assignment
          • Backup_and_Restore
          • The kill command
          • Server Shutdown
          • Processes and Inter-Process Communication
          • Printing from DP4
          • Program Development
            • Development with QA Build
            • How to convert DP4 C programs from DOS to Unix
            • The DP4 C library, ccown.a
            • Compiling C Programs
            • Multi-Threading Issues
            • Data Alignment
            • Filename Issues
            • Debugging DP4 C application programs
          • Copying Files To and From Unix
        • Novice's Guide to Unix and Linux
      • Guide to DP4 Configuration
        • How to Use this Guide
        • What's New
        • Introduction
        • Names and Locations of Configuration Files
        • Configuration Utilities
          • DFSETUP - The DP4 System Setup Utility
          • USERDATA
        • The DP4 Configuration File
          • How the DP4 configuration file is organised
          • Layout of Entries
          • Comments
          • Guidelines for editing the DP4 Configuration File
          • Subject Index
          • Sections
            • [AUXWODBC]
              • col_order
              • first_occurs
              • role_sep
              • use_checksum
              • use_long_query
              • use_subquery
            • [branding]
              • dp4.ini
              • home_name
              • icon
              • odbc_name
              • prefix1
              • prefix2
              • service_name
              • service_title
              • Other Branding Issues
            • [buffers]
              • buffers
              • bypass_cache
              • lazy_delay
              • lazy_threshold
              • lazy_writes
              • max_pending
              • max_workers
              • pagesize
              • read_ahead
              • reread_write
              • tracksize
            • [DEBUG]
              • errlog
            • [DFPRINT]
              • no_texture
            • [dp4_error]
              • show_dp4_message
              • use_full_name
              • write_errlog
              • write_evtlog
            • [dp4srvr]
              • allow_archive_mode
              • catch_exceptions
            • [ERRLOG]
              • debug_date
              • debug_echo
              • debug_file_name
              • debug_file_flush
              • debug_file_size
              • debug_keep_file
              • ignore_shutdown
            • [ERRMSG]
            • [ODBC]
              • dbname
              • db_is_remote
              • no_private
              • omit_checks
              • password
              • prompt_for_user
              • rserver
              • user
              • anon_logon_ok
              • curly_occurs
              • detect_crystal_reports
              • detect_ms_access
              • oracle
            • [ORACLE]
              • allow_null_key
              • array_fetch
              • bin_data
              • block_post
              • bool_as_char
              • col_order
              • first_occurs
              • ignore_time
              • max_max_cursors
              • max_statements
              • qab_lock
              • role_sep
              • schema_name
              • sequence_format
              • short_sql
              • s_as_raw
              • sys_on_app_name
              • use_checksum
              • use_logon_dialog
              • use_long_query
              • use_rownum
              • use_subquery
              • use_serializable
              • Customer specific values
            • [PRELOAD]
            • [SQL]
            • [SQLLIB]
              • remote
              • table_index
              • table_sort
            • [sql.config <DP4_database_name>]
              • role_first
              • single_query
              • statements
              • timestamps
            • [sql.remote <DP4_database_name>]
            • [sql.xlat <DP4_database_name >]
            • [sql.xlat2 <DP4_database_name>]
            • [STARTUP]
            • [SYBASE]
              • col_order
              • dbo_name
              • first_occurs
              • max_max_cursors
              • max_statements
              • role_sep
              • schema_name
              • short_sql
              • use_checksum
              • use_long_query
              • use_subquery
            • [SYSTEM]
              • autoload
              • load_dfnet
              • load_errlog
              • max_programs
              • monitor
              • shutdowndelay
              • STARTUP, preload
            • [TCPMGR]
              • keep_awake
              • OnConnect
            • [TRMW]
              • 3DBorderSize
              • 3DBorderStyle
              • buttonframe
              • buttoncheckboxes
              • ButtonHeight
              • buttonstyle
              • button_text_centred
              • charset
              • checkbox_height
              • checkbox_width
              • Colours
              • cols
              • defer_bug
              • depth
              • detach
              • dfshutdown
              • dfprint_clip
              • dfprint_x_factor
              • dfprint_x_inch
              • dfprint_y_factor
              • dfprint_y_inch
              • DFPRINTForeground
              • disablestyle
              • fh
              • first_day
              • flatten_dialog
              • fw
              • font
              • forcefont
              • HelpBorderSize
              • hide_dead_chrome
              • hide_empty_buttons
              • idletime
              • isometric
              • keep_awake
              • limitsize
              • no_scroll_bars
              • no_auto_close
              • OkEndSession
              • OldDP4Numbers
              • pagedepth_bug
              • pagesetup
              • pause
              • pointsize
              • pointer_help
              • prompt_width
              • prtscr_editframe
              • refresh_interval
              • rows
              • run_once
              • run_once_question
              • run_once_title
              • save_position
              • screendumpstyle
              • screenprint
              • setcommstate
              • SharePrinter
              • shadow_title
              • show_im
              • smooth
              • StdButtonsWanted
              • stdtitles
              • string_nn
              • title
              • touch_calendar
              • use600
              • use_workarea
              • useframe
              • usenonclient
              • usestatus
              • usestdfonts
              • use_viewer
              • vertical_gradient
              • viewer
              • weight
              • width
              • winime
              • winprinfont
              • winprint
              • wrapbug
              • x
              • x_factor
              • x_inch
              • y
              • y_factor
              • y_inch
            • [UNIX]
            • [WINDOWS]
              • loader
              • pre500
              • startup_delay
            • [WINPRIN]
              • dialog
              • fontset
              • fh
              • fw
            • [WIN32]
              • debug_console
              • dp4home
              • errlog
              • icon_visible
              • loader
              • load_win1632w
              • no_close
              • startup_delay
              • win1632w
            • [WINCE]
              • dp4home
              • errlog
              • loader
              • no_auto_close
              • no_close
              • startup_delay
              • use_systray
        • Background Information
          • Client Edge
          • Coordinate system
          • Default font
          • Default Window Size and Position
          • Diagnostics
          • Non client area
          • Printing using DFPRINT
          • Secure Operation of DP4
          • Skinning DP4
        • Example DP4 configuration file
    • Tutorials
      • QA Build Tutorials
        • Contents
        • What's New
        • Introduction to QA Build
        • The QA Build Development Cycle
        • The SALESORD Database
        • The Lessons
        • Key Press Conventions
        • How to Comment on This Help File
        • Lesson 1: A Heading Display
          • Starting the Program Editor
          • Creating the Heading Program
          • Specifying the Program Summary and Type
          • Setting Up The Procedure
          • Select the Screen/Form design
          • Compiling the Heading Program
          • Running the Heading Program
        • Lesson 2: A Pause Procedure
          • Adding a Procedure to an Existing Program
          • Designing the Pause Screen
          • Compiling and Running the Amended Heading Program
        • Lesson 3: Creating a Table Update Program
          • Specifying the EMPLOYEE Program Summary and Type
          • Creating the EMPLOYEE Program Procedure Tree
          • Table Processing for the EMPLOYEE Program
          • Designing the Map for the EMPLOYEE Program
          • Field Processing for the EMPLOYEE Program
          • Compiling and Running the EMPLOYEE Program
          • Using the EMPLOYEE Program
            • Accessing the EMPLOYEE records
            • Adding EMPLOYEE records
          • Modifying the EMPLOYEE Program
        • Lesson 4: A CUSTOMER Table Update Program
          • Table Processing for the CUSTOMER Program
          • Designing the CUSTOMER Screen
          • Field Processing for the CUSTOMER Program
          • Using the CUSTOMER Program
          • Amending the Region Table&#146;s Related Table Processing
            • Specifying Multiple Choice Search Method
          • Using the Amended CUSTOMER Update Program
        • Lesson 5: Customer Number Enquiry Program
        • Lesson 6: A Customer Name Enquiry Program
        • Lesson 7: A Pop-up Menu Program
          • Creating a Menu
            • Creating a Map to Display the Pop-up Menu
          • Adding the Subsidiary Procedures
        • Lesson 8: Creating an Order Entry Program
          • Creating the ORD_HEADER Procedure
          • Creating the ORDER_LINE Procedure