MBF-UDALink Administration Manual Unix May 2004 Version 7.04.01 Head Office: 82 Main Street South Chesterville, Ontario K0C 1H0 Canada Telephone:1-800-ANSWERS or (613) 448-2333 Fax: (613) 448-2588 www.mbfoster.com www.1800answers.com NOTICE The information in this manual is subject to change without notice. LIMITATIONS ON WARRANTIES AND LIABILITY M.B. Foster Associates Limited makes no warranties, either express or implied, regarding this manual or the computer software package described in this manual, its merchantability or its fitness for any particular purpose. The exclusion of implied warranties is not permitted by some states. COPYRIGHT This manual is copyrighted by M.B. Foster Associates Limited, with all rights reserved. Under the copyright laws, this manual may not be copied, in whole or part, without the written consent of M.B. Foster Associates Limited. Under the law, copying includes translating to another language. PRODUCT REVISIONS M.B. Foster Associates Limited cannot guarantee that you will receive notice of a revision to the software described in this manual. You should periodically check with your sales representative. Version 7.04.01 - May 2004 MBF-UDALink and MBF-Console are trademarks of M.B. Foster Associates Limited. All other trademarks and registered trademarks are marks of their respective holders. Simultaneously published in the Canada and the United States of America. All rights reserved. MBF-UDALink Table of Contents Introduction to MB Foster Products MBF-UDALink Overview- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 Applications- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 Benefits- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 MBF-UDALink Features - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 Input Specifications - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 Computational Expressions- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 Online help - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 Customizable system profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 JDBC Level 2 Driver- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 ODBC 3.5 Compliant Driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 Views - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 Profiles - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9 Secure Socket Layer (SSL)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9 Remote procedure calls - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10 COM Component Builder - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10 Two-phase Commit Protocol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10 ReportDesigner - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -11 SQL interface - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -11 PowerHouse interface for MPE-IX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -11 Complementary products - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -12 MBF-Console - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -12 MBF-UDACentral - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -12 MBF-Enterprise - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -12 Reveal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -12 Installation Client and server installation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -13 Installing the server from tape - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -13 Installing the server from CD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -13 Running the install script- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -13 Batch loading capability for the HostConf data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -14 Installation directories and environment variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -15 Installing Host Configuration from a CD- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -16 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 i MBF-UDALink Installing the ODBC client from a CD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -19 Listener job - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 Starting the listener - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 Determining if the listener job is running - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 Stopping the listener- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 Running multiple listener jobs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -24 Utility files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -25 udalink_install.sh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -25 hostconf_shm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -25 udalink_env (for posix, bourne and korn shell users) - - - - - - - - - - - - - - - - - - - - - - - - -26 MBFSERVR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -28 MBFUTIL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -28 Configuring ODBC ODBC driver configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -29 Using the Host Configuration utility - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -30 Adding a user ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -32 Deleting a user ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -33 Changing a password- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -34 Adding a database - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -35 Configuring for ALLBASE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 Configuring for Eloquence- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 Configuring for Oracle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 Configuring for FDGEN- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -37 Using FDGEN dictionaries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -37 Associating users with data sources and tables - - - - - - - - - - - - - - - - - - - - - - - - - - - -37 Configuring SSL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -39 Client SSL parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -39 Server SSL parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -41 OpenSSL concepts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -44 Configuring files and directories for OpenSSL- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -44 Simplified certificate creation and management - - - - - - - - - - - - - - - - - - - - - - - - - - - -45 Server Configuration Introduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -47 Running Server Configuration stand-alone - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -47 ii MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Running Server Configuration from UDACentral - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -47 Configuring Users and Databases - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -48 Managing users - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -49 Associating the user with databases and tables - - - - - - - - - - - - - - - - - - - - - - - - - - - -51 Adding a Database ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -53 Removing a Database ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -54 Configuring for ALLBASE or IMAGE/SQL- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -55 Configuring for Image/Eloquence- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -56 Configuring for PowerHouse subfiles - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -56 Configuring for MBF Subfiles- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -56 Configuring for Views - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -56 Supported data sources - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -57 Unimplemented features in Views - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -57 Using Views from the ODBC Driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -58 Configuring for the PDL data dictionary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -58 Using PDL Dictionaries- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -59 Configuring for FDGEN- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -59 Using FDGEN dictionaries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -60 Propagating changes to HP-UX- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -60 Remote procedure calls RPC Overview- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -61 Two-phase Commit Protocol Two-phase Commit Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -65 Microsoft Distributed Transaction Coordinator (MS-DTC)- - - - - - - - - - - - - - - - - - - - - -66 Application model using MS-DTC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -66 Role of the Microsoft Distributed Transaction Coordinator - - - - - - - - - - - - - - - - - - - - -67 Appropriateness of distributed transactions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -73 Transaction commit and abort - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -74 Limitations of the MS-DTC-compliant ODBC driver - - - - - - - - - - - - - - - - - - - - - - - - - -75 Configuring Reporter Reporter Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -77 Configuration menu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -78 Menu characteristics - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -79 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 iii MBF-UDALink Procedure execution parameters- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -80 Display format parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -81 Output file characteristics - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -82 PC interchange parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -83 SYSTEM PROFILE configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -84 INSTALLATION parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -86 GENERAL default user parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -90 TABLE/FILE size default user parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -95 CAPABILITY default user parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -98 MODIFIABLE default user parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -104 FORMAT selection menus - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -109 Customizing the output file format options menu - - - - - - - - - - - - - - - - - - - - - - - - - - -109 Customizing the ODBC driver format options - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 Running Reporter Setting up job stream files- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -111 Considerations for manual batch jobs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -112 Running Reporter from a user menu system- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -113 Reporter output file formats- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -113 Profiles Option Profiles - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -115 General points about profiles- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -115 User profile strategies- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -115 Batch job strategies - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -116 Batch job submission - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -118 Maintaining USER ACCESS profiles - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -119 USER ACCESS profile maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -120 DISPLAY secured field - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -120 ADD secured field - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -121 DELETE secured field - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -121 USER ACCESS security in procedures - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -122 User security fields- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -123 Customizing the Output File Format menu Changing an output format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -125 iv MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink FDGEN – File Definition utility FDGEN Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -127 FDGEN syntax - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -129 Sample editor file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -130 Running FDGEN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -131 Decompiling FD files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -131 Maintenance Customizing and Maintaining MBF-UDALink - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -135 Catalog maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -136 Maintenance Function menu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -137 User profile catalog maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -139 DISPLAY existing user profiles - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -140 CREATE a new user profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -141 CHANGE an existing user profile- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -143 DELETE an existing user profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -144 AUDIT/COMPACT Catalog entries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -144 PROCEDURE catalog maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -146 DISPLAY catalog entries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -147 Catalog compaction considerations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -152 (UN)DELETE entries from catalog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -153 CREATING a transfer file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -154 IMPORTING a transfer file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -155 Bulk importing of transfer files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -156 MESSAGE catalog maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -157 Editing a message - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -157 Adding items to FORMAT selection menus- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -159 Troubleshooting the ODBC driver Common problems- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -161 Problems with the serial communications driver - - - - - - - - - - - - - - - - - - - - - - - - - - -162 Problems with the Winsock driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -162 Using the MBFUTIL host test utility - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -163 MBFUTIL output using Eloquence - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -163 MBFUTIL output using ALLBASE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -164 MBFUTIL output using Oracle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -164 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 v MBF-UDALink Server Activity logging - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -165 Terminating an ODBC connection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -166 Using Microsoft ODBC Test (32-bit)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -167 Client ODBC call tracing with ODBCLink.LOG - - - - - - - - - - - - - - - - - - - - - - - - - - - -167 Monitoring ALLBASE/SQL activity with SQLMON - - - - - - - - - - - - - - - - - - - - - - - - - -168 Checking the listener log file on the HP 9000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -168 Host logging - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -169 Data types Data types supported by Reporter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -171 Field storage length - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -173 Edit masks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -174 Date formatting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -175 Built-in functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -175 Data types supported by ODBC driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -177 Notes on data types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -178 Notes on ODBC data types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -178 Determining data types- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -178 Notes on using BLOBs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -179 Supported SQL syntax Fully supported SQL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -181 Partially supported SQL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -181 Unsupported SQL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -182 Requirements for joins - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -183 Joins by AUTO_RECNUM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -183 Numeric and character expressions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -183 Environment variables Setting variable values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -185 ODBC driver setting variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -185 Host SSL parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -188 Index vi MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MBF-UDALink Overview Introduction to MB Foster Products MBF-UDALink Overview MB Foster provides data access and delivery solutions for the HP e3000, HP 9000, Linux, Sun Solaris, Windows NT, Windows 2000 and Windows XP platforms. MBF-UDALink provides users with access to their data by extracting it from multiple files and/or data bases, updating values as required or instructed and reformatting for reports, for import into desktop top applications, or direct update of spreadsheets or other desktop decision support tools via ODBC or JDBC. Applications Used extensively throughout the Manufacturing, HMO, Fortune 100 and government communities, MBF-UDALink is used to: • Provide Real-time Access To Data, allowing IT departments to write the framework of reports and let end users run them as required without submitting a project request to IT. • Populate web pages - Using the ODBC and JDBC driver web projects have been built and successfully deployed. This solution has provided employees with access to information such as claim status and account balances, or allowed suppliers to verify information and payment status. • Create Production Reports - one MB Foster customer estimates that there are 350 reports generated containing information about their operations, all written in MBF-UDALink. The reports cover things like sales commissions, sales order number by domestic and foreign markets, cash disbursements, open items to be returned to vendors and shortage reports for purchasing. • Create Cost Effective Solutions - by delivering a graphical interface to an HP e3000 data base, providing all of the information related to building permits, inspections, inspection schedules and business licenses in a web based client-server environment. • Provide sales reps and regional managers with a business solution to provide timely access to customer/product and commission rates while still maintaining security. This has been a high priority task for MIS departments since the advent of the personal computer. MBF-UDALink met this challenge and now the sales department is able to instantly see MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 1 MBF-UDALink Overview MBF-UDALink current information for order details, customers, products, commission rates and to manipulate the data based on their needs. • Deliver information to decision support systems. MBF-UDALink’s ability to deliver information ready for MS Excel and MS Access has lead to greater use of this solution on all of one customer’s 30+ installed platforms. • Access data in a ManMan database. As most IT staff know this is not an easy task. MBFUDAlink lives up to this task in many installations. In addition to its client-server capabilities, many ManMan sites discover the stellar ad hoc capabilities of MBF-UDALink in their environment. • 2 Provide return on Investment and Reduce cost. Using MBF-UDALink to implement a data mart solutions has enable quick report turn around, elimination of report requests that could not be filled, highlighting of trends not realized before and freeing up IT hardware and personnel resources. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MBF-UDALink Overview Benefits By providing a solution that fits your existing business environment, MBF-UDALink enables you to: • Reduce operating costs by giving end users a web enabled data access solution • Output formats include: reports, self-describing files including PowerHouse subfiles and extracts in a number of desktop based formats such as XML, PDF, HTML, XLS, and RTF, and e-mail format for easy distribution. • Maintain control of security by restricting access by database, field, field value, extract file size or users. • Create "views" to reduce navigation and provide specific users access to the data required, including linkages and additional security. • Use MS-Windows based application front ends to gain access to your existing data sources through ODBC and JDBC. • Provide web access to internal enterprise data sources • Maintain data integrity and security • Provide privacy and data integrity between two communicating applications using the provided Secure Socket Layer support • Support remote procedures with the Remote Procedure Call and COM Builder features • Guarantee transactional integrity with Two-Phase Commit • Provide access to data from any platform (including servers) using JDBC The flexibility provided with the modular structure of MBF-UDALink helps customers to expand functionality when needs and business demands increase. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 3 MBF-UDALink Features MBF-UDALink MBF-UDALink Features The Reporter provides end-users with access to their data by: • extracting data from multiple files and/or data bases • manipulating it and creating temporary values as required • reformatting it for use in other application programs on PC’s, as an e-mail attachment or in other server based programs • reformatting it for reports, mailing labels and other printed outputs Options may be added to the Reporter to take advantage of other software on the server and perform other tasks • PowerHouse and SQL Interfaces allow you to use existing definitions of you data • ReportDesigner allows you to enhance the format of your printed reports • Views and Profiles allow the System Administrator to customize an end-user environment by building in convenience and security features and by controlling access to system resources. • Omnidex Interface on the HP e3000 only allows you exceptionally fast access to data bases that have been indexed with Omnidex and IMSAM. Access to data on the server is completely under the control of normal operating system security and therefore can be controlled by standard system management practices. 4 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MBF-UDALink Features Input Specifications Table 1: Input Specifications HP e3000 HP 9000 TurboIMAGE root file Eloquence IMAGE/SQL Oracle KSAM and KSAM SD files bytestream MPE sequential files comma-delimited MPE self-describing (SD) files flat Allbase/SQL user-defined sequential files Suprtool Allbase/SQL PowerHouse PDL and Subfile PowerHouse PDL and subfile MBF-Subfile MBF-Subfile When procedures using multiple sets and files are created, the order in which they are to be retrieved may be specified along with the specific fields to use in linking the files. Definitions of TurboIMAGE data bases can be retrieved directly from the "root" file or defined in a file definition file using the FDGEN utility. Definitions for Eloquence tables are retrieved directly or defined in a file definition file using the FDGEN utility. Definitions for bytestream, comma-delimited, flat, KSAM and MPE files may be entered dynamically or created using the FDGEN utility. Self describing (SD) files have their file definition contained in the file label and can be read directly. Definitions for ALLBase and Oracle are retrieved dynamically. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 5 MBF-UDALink Features MBF-UDALink Computational Expressions Computational expressions may be declared to perform arithmetic operations on numeric fields and "string" operations (such as concatenation and extraction) on alphanumeric fields. The result is saved in a computed field, which is added to the list of fields available to the user. Supported operations Table 2: Operations Arithmetic String addition concatenation subtraction concatenation blanks multiplication division giving quotient with removal of extraction division giving remainder exponentiation percent ratio Sorting Fields selected for input may be sorted in ascending or descending sequence by many combination of input or computational fields. If the data is already in the correct order, a pre-sort flag can be set to suppress the sort, while allowing summaries to be taken at changes in the sort value. Summaries When sort fields are specified summaries may be produced on the non-sort fields. A summary record is written each time the value in a sort field changes. If there are alphanumeric fields included in the file, the first or the last value encountered within a control break may be written to the summary record. 6 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MBF-UDALink Features Detail records may be suppressed in the output file, creating a "summary only" file at the lowest sort level. Built-In and Summary Functions Summary functions such as Average, Minimum, Maximum, Count and Total can be specified at control breaks or at the end of the output file. The summary functions of Percent and Ratio are specified using Computational Expressions. Several date and time functions are also available. Functions can prompt for values at runtime or read them from files set up by other applications. Numeric values can be converted to English text. On the HP e3000 access to system variables such as ACCOUNT, USER, GROUP and SESSION names and the system data are access through built-in functions ($ACCOUNT, $USER, etc.). Selection Criteria Input data may be limited to only what is needed by specifying fields for selection. The selection criteria for a field may be embedded in the procedure and can be "fixed" by the creator of the procedure, or prompted for each time the procedure is run. Complex ranges and "wild card" characters may be entered in response to this prompt. The prompt a user receives at run time may be defined when the procedure is created so the user is presented with a more meaningful and complete message than the internal name used in programming to identify a data item. Online help Online help can be requested by entering either a single question mark (for a short help message) or a double question mark (for a longer help message). Help is context-sensitive. Novice users can turn on an automatic display of the short help message for every prompt, to run in tutorial mode. Customizable system profile Customizable features include: • the terminal emulation mode to be used • when using Reflection terminal emulator, defining the default PC drive and subdirectory • printer display width and depth MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 7 MBF-UDALink Features MBF-UDALink • the maximum number of input records to be read • the maximum number of output records to be written • customized on a user by user basis when the Profiles option is installed JDBC Level 2 Driver Features include: • JNDI - Java Naming Directory Interface support • Secure Socket Layer (SSL) through JSSE - Java Secure Socket Extensions • Java Beans and Enterprise Java Beans (EJB) support • Connection Pooling • Distributed Transactions - two phase commit - through XA • Batch updates • Enhanced Result Set ODBC 3.5 Compliant Driver Our ODBC driver is a thin client. It allows the processing of data to take place on the server before moving the results to the client. It goes beyond the definition of the ODBC standard by providing access to user-defined sequential files, flat files, KSAM, MPE, PowerHouse PDL and sub-files, TurboIMAGE, TPI keys and MBF Views. Connection via winsock, internet and even dial-up (serial) are supported. Views Information systems staff can establish "views" of complex data structures so that end-users need not know about physical files and complex computed fields. Security rules that restrict users to certain field values can be built into "views" and data extraction specifications. A View is a list of data fields that can be accessed by end users and information systems personnel as the sources of field definitions in Reporter procedures or by the ODBC driver. The procedure is typically created by the information systems personnel and includes all the data base, data set/table and field information as well as computational fields and multi-file linkages. 8 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MBF-UDALink Features The users of a View see only the menu of data fields that can be selected, sorted, downloaded to a desktop, saved on the server or listed on a printer. Views are an optional purchase. Profiles User Profiles can be created to • optimize the use of available resources • establish additional security levels for end users. • specify user capabilities that meet their needs, preferences, and data access privileges • configure the Reporter to stream reports • assigned default user parameters based on the current system-wide parameter settings, or parameters from another user profile • attach user files to a user class Profiles can be based on user name or custom names defined by the System Administrator. Profiles is an optional package. Secure Socket Layer (SSL) The SSL implementation in MBF-UDALink provides privacy and data integrity between two communicating applications. The SSL Protocol can negotiate an encryption algorithm and session key and authenticate a server before the application protocol transmits or receives its first byte of data. All of the application protocol data is transmitted encrypted, ensuring privacy. The advantage of SSL is that it is application protocol-independent. A certificate (using X.509) is originated by an issuer, usually a Certification Authority (CA). When a certificate is issued, it confirms something, the subject of which depends on the CA’s purpose. CAs for secure web servers, such as those used for shopping malls, usually only attest that the given public key belongs to the given domain name. Company-wide CAs might attest that you are an employee of the company, and that you have permissions to use a server or other corporate resources. The certificate is a block of data signed by the certificate issuer. The relevant fields are: • Unique identifier (name) of the certificate issuer MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 9 MBF-UDALink Features MBF-UDALink • Time range during which the certificate is valid • Unique identifier (name) of the certified subject • Public key of the certified subject • The issuer’s signature certifying all of the above For a certificate to be verified, the verifier must have a table of the names and public keys of trusted CAs. For simplicity, these tables are lists of certificates issued by the respective CAs for internal use (self-signed certificates). Remote procedure calls The RPC mechanism allows procedures on MPE, Unix and Linux platforms to be accessed by Windows platforms using COM components. The RPC mechanism in the ODBC driver supports transactional remote procedures, if they operate on an Allbase DBE. The driver can connect to a default Allbase DBE as specified by the environment variable. If this parameter is set, the RPC server connects to the DBE when it is started. RPC is an optional purchase. COM Component Builder A Component is the software implementation of business logic. It allows for the rapid deployment of solutions by re-using existing code. The COM Component Builder is a utility used to generate COM Components for calling remote procedures through the ODBC driver. This type of COM Component supports MFC, MTS, Visual Basic Script and Java Script and many others. The COM Component Builder increases the RPC functionality by making it more automated and easier to use. It creates a Typelib file that will describe the remote procedure. It also creates an OLE object that allows applications developers to easily access the Procedure. The object(s) will in turn call the RPC Functions in the ODBC driver. The COM Component Builder is purchased as part of the Remote Procedure Call option. Two-phase Commit Protocol Available with both ODBC and JDBC the two phase commit feature permits updating of multiple XA compliant data base, such as Allbase, simultaneously while guaranteeing the transaction ACID properties. Facilities such as logging and locking are examples of features provided by resource managers to guarantee the ACID properties. The process is relatively straightforward when only one resource manager is involved. When more than one resource manager is involved, guaranteeing the ACID properties is more complex and requires an additional protocol - the Two-phase Commit Protocol. 10 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MBF-UDALink Features In the absence of a transaction manager, the application program must implement the Two-phase Commit Protocol within itself. ReportDesigner The end user can customize report listing formats with an interactive design facility that shows design changes immediately. Separate formats can be defined for viewing on the screen and reporting on a printer. The report format can be a formatted subset of an extract file. SQL interface The SQL interface is provided by default on the HP 9000 and by additional purchase on the HP e3000. This option allows end users to use Allbase and Oracle SQL database environments as the data source. PowerHouse interface for MPE-IX Available as an additional purchase, the PowerHouse Interface provides access via a Qschema (HP e3000 only), and PDL, in addition to providing the ability to read and write PowerHouse sub-files. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 11 Complementary products MBF-UDALink Complementary products MBF-Console MBF-Console is a facility for monitoring and controlling the activities the ODBC driver or ODBCLink/SE. MBF-Console allows you to identify problems and terminate the process without bringing down the listener job or interfering with other users. Monitoring of transactions generated through RPC or Two-Phase-Commit is also a feature of MBF-Console. MBF-UDACentral MBF-UDACentral is a Java-based set of tools for exploring and administering multiple databases from a central application adding to the reporting and exploring capabilities available through MBF-UDALink. It is a useful solution in both planning and executing a migration from the HP 3000 Image and AllBase databases to Oracle, MS SQL and other database formats. MBF-Enterprise MBF-Enterprise is an invaluable tool for enterprise sites that need to integrate data of multiple types into business applications. Using a uniform standards-based interface, MBF-Enterprise runs identically across diverse platforms. End users will find it easier to access corporate data on a variety of platforms without having to understand the underlying complexities. Reveal Reveal is a highly-effective report and document warehouse -- a central repository of reports and documents accessible from standard Internet Web browsers such as Internet Explorer and Netscape. It captures, catalogues, indexes and maintains output from multiple sources -mainframes, midrange and network-based applications. It offers a uniform, universal means of information access and dissemination that can be configured for individuals or groups of users. 12 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Client and server installation Installation Client and server installation If your server and client are part of a network, you should be able to use TCP/IP to link them. If not, use the serial interface through a direct cable or modem. When using a network connection, the listener job needs to be started on the server. The server software is installed first. This is usually carried out by the System Administrator. Installing the server from tape Log on as user “root”. Load the MBF-Product Tape into the tape drive. cd to the tmp directory. Run the following pax command: pax -rvf/dev/rmt/0m . This will install the application files. Installing the server from CD Run ftp and transfer the archive file to the host, for example binary cd /tmp put \Program_Files\udalinkux\mbftape.pax Run the following pax command pax –rvf mbftape.pax This will restore the files. Note; file types will not be recognized, this is normal. Running the install script Run the udalink_install.sh script (remember to be in "/tmp/udannn directory, where nnn is the version. "./udalink_install.sh" Ensure that the “. udalink_env” environment initialization file is sourced in each mbf-udalink user’s environment, (“.udalink_env.csh” for csh shell users) and that the $udalink_home environment value is placed in each ODBC driver user’s path. (This variable is set in “. udalink_env”/“. udalink_env.csh”.) You are now ready to run ODBC driver on the HP 9000. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 13 Batch loading capability for the HostConf data MBF-UDALink Batch loading capability for the HostConf data Functionality has been added to the hostconf_shm module, “batch_load()”, and a series of scripts has been created to automatically load the hostconf shared memory segment whenever the system reboots. Loading the HostConf system via the batch option will only run, after installation, if there is a shared memory ID information file, hostconf_shmid, already defined and each of the HostConf master files (d_user_password, d_user_table and m_base_id), is in its respective directory. HostConf master files are placed into their respective directories by the UDALink_install.sh install script. The creation of the initial hostconf_shmid (HostConf shared memory ID file) is accomplished via the hostconf_shm shared memory utility. For more detailed information, see the MBF-UDALink User Reference Manual. /etc/rc.config.d/udalink_hostconf On an HP-UX 10.20 system this small script goes into the /etc/rc.config.d directory. It indicates to the start-up control script, udalink_hostconf (the same name by HP-UX convention) located in the /sbin/init.d directory, that indeed the hostconf_shm program should be run in batch mode in order to load the hostconf shared memory segment. It does this by setting and exporting an environment variable, HOSTCONF_LOAD, that can then in turn be accessed by the /sbin/init.d/udalink_hostconf script. The line in the /etc/rc.config.d/udalink_hostconf script that accomplishes this looks like: “export HOSTCONF_LOAD=1” /sbin/init.d/udalink_hostconf By HP-UX convention this boot-up time script will be invoked as long as there is a soft link to the script from a link-file in one of the HP-UX system boot-time installation sequencing directories located under /sbin, such as “rc0.d” to “rc4.d”. (See an HP-UX System Administrator’s Manual for details). An example “ls –l” listing of such a soft link to invoke the /sbin/init.d/udalink_hostconf script at bootup time, which is contained in the /sbin/rc2.d directory is: root612> l /sbin/rc2.d/S900udalink_hostconf lrwxrwxrwx 1 root sys 30 Aug 18 23:14 /sbin/rc2.d/S900UDALink_hostconf -> /sbin/init.d/ udalink_hostconf This HP-UX shell script handles the system bootup time automatic loading of the hostconf shared memory segment as long as the HOSTCONF_LOAD environment variable mentioned above is set to value “1” (one) in the /etc/rc.config.d/udalink_hostconf script. By HP-UX convention, all of the scripts contained in the /sbin/init.d directory are executed either at system boot-up or system shutdown, depending on the /sbin/rc?.d directory that they are contained in, in conjunction with the link file’s name prefix (“S” for startup and “K” for shutdown). 14 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Installation directories and environment variables /sbin/rc2.d/S900UDALink_hostconf By HP-UX convention, all system bootup processing is queued through the /sbin/rc?.d directories. While each process’s bootup and shutdown procedures are contained in a script in the /sbin/init.d directory, the only way that script will be able to run is if there is a corresponding link to it from one of the rc# directories. Thus the soft link /sbin/rc2.d/S900udalink_hostconf to the /sbin/init.d/ UDALink_hostconf script-file will cause the /sbin/init.d/UDALink_hostconf script to be executed at system bootup. The /etc/rc.config.d/udalink_hostconf file on the other hand lets the running /sbin/init.d/udalink_hostconf script know that it is OK to go ahead and invoke the hostconf_shm() program in batch mode to install and populate the HostConf shared memory segment from the HostConf master files contained in the HOSTCONF_DIR directory. Installation directories and environment variables All of the HostConf Master file path locations and the SCAT security file directory path are defined through environment variables in the .udalink_env HP-UX environment setup file for posix/bourne/korn shell users, and .udalink_env.csh for C-shell users. The udalink_install.sh script places these environment files into root’s root directory (“/”) as well as into the ODBC driver home directory (defined by the udalink_home environment variable). The following defaults are in place. If they need to be changed, the files will have to be updated accordingly. export MBFOSTER_HOME="/opt/mbfoster" export DX_DIRECTORY="$MBFOSTER_HOME/udannn" export UDALINK_HOME="$DX_DIRECTORY" export HOSTCONF_DIR="$MBFOSTER_HOME/hostconf" export D_USER_PASSWORD="$HOSTCONF_DIR/d_user_password" export D_USER_TABLE="$HOSTCONF_DIR/d_user_table" export M_BASE_ID="$HOSTCONF_DIR/m_base_id" export SHMID_FILE="$HOSTCONF_DIR/hostconf_shmid" MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 15 Installing Host Configuration from a CD MBF-UDALink Installing Host Configuration from a CD Select: Start, Run. The Run screen is displayed. Type: E:\Program_Files\MBFHostconf\setup.exe in the command field. ( “E” represents the drive letter of the CD-ROM.) MBF-Host Configuration Utility prepares to install. The Welcome screen is displayed. Select Next. 16 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Installing Host Configuration from a CD The Choose Destination Location screen is displayed. Select the directory in which to install MBF-HOST CONFIGURATION UTILITY. Select: Next. The Select Program Folder screen is displayed. Choose where the program icon will be placed. Select: Next. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 17 Installing Host Configuration from a CD MBF-UDALink The Copy displayed. Files screen is Select: Next. The installation progress bar is displayed. The Hostconf Setup Completed Successfully screen is displayed. Select: Finish. 18 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Installing the ODBC client from a CD Installing the ODBC client from a CD Select: Start, Run. The Run window is displayed. Type: E:\Program_Files\odbcclinet\se tup.exe in the command field. ( “E” represents the drive letter of the CD-ROM.) ODBC driver prepares to install. The Welcome screen is displayed. Select: Next. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 19 Installing the ODBC client from a CD MBF-UDALink The Choose Destination Location screen is displayed. Select the directory in which to install ODBC driver. Note: The UDALINK.DLL is installed in the Windows/System directory. The support files are installed in the directory selected above. Select: Next. The Select Program Folder screen is displayed. Choose where the program icon will be placed. Select: Next. 20 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Installing the ODBC client from a CD The File Copy screen is displayed Select: Next. The installation progress bar is displayed. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 21 Installing the ODBC client from a CD MBF-UDALink The Setup is Completed screen is displayed. Select: Finish. The installation is complete. Note: If the installation has updated any .dll files required to execute ODBC driver, you are given the option to restart your computer. We recommend you do this to ensure that you are using the new files. 22 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Listener job Listener job Starting the listener Log on as root. Enter the following: /opt/mbfoster/udannn/MBFSERVR server if installing a production version of the software (where “nnn” is the version). Note: You should start the listener as root user ID, preferably in your system startup file. Note: When the server is started it makes a call to sqlver and puts the output into a file called odbcver in the same directory that the server is running from. For this reason, during startup, it may take 20 or more seconds for the program to return. The odbcver file is used to determine the DBMS version for a SQLGetInfo call. If the odbcver file is deleted, the SQLGetInfo call for DBMS version will return UNKNOWN. Determining if the listener job is running On the server, enter: ps -ef | grep MBFSERVR The resulting display will look similar to: root 7462 1 0 Mar 29 ttyp4 0:00 MBFSERVR server root 9025 7462 0 13:30:24 ttyp4 0:00 MBFSERVR server The first line shows the server running. The second line shows that a user with a logon of “root” is using the server. Stopping the listener On the server, enter: /opt/mbfoster/udannn/mbfservr stop Note: The STOP command will prevent any new connections but will not affect connections that were active at the time the command was issued. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 23 Listener job MBF-UDALink Running multiple listener jobs It is possible to run more than one listener job at a time. Each listener job must have a unique port number or SOCKET ID. This is because a Winsock connection creates a server process with the user and account of the listener job. This becomes significant for users of ALLBASE/SQL. ALLBASE/SQL security is based on the logon ID rather than passwords. You would have to create a listener job in the account the database resides, assigning a unique socket ID. This is done on the host by setting the environment variable ODBC_SOCKET_ID. On the client you have to create a data source with the same socket ID. This variable can be any number between 10000 and 30000. The default value for the SOCKET ID is 21245. If multiple listener jobs are running, each ODBC_SOCKET_ID must be set to stop. This is done at the host by entering: :export ODBC_SOCKET_ID 12330 :/opt/mbfoster/demo(or udannn)/MBFSERVR stop 24 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Utility files Utility files udalink_install.sh This is the master MBF-UDALink installation script. It installs both the batch loading capability option as well as the HostConf Master files and the “hostconf_shm” administrator’s utility. This script can be customized as required for customer sites. It interacts with the user and will give the following options: 0 = INSTALL BOOT-TIME SCRIPTS BUT DO NOT INITIALIZE THE MBF-UDALink HOSTCONF SHARED MEMORY SYSTEM TO AUTOMATICALLY LOAD AT SYSTEM BOOT-TIME. 1 = INSTALL BOOT-TIME SCRIPTS AND YES, DO INITIALIZE THE MBF-UDALink HOSTCONF SHARED MEMORY SYSTEM TO AUTOMATICALLY LOAD AT SYSTEM BOOT-TIME. Q = EXIT THIS SCRIPT WITHOUT MAKING ANY CHANGES. This file is saved in the $UDALINK_HOME directory on installation. hostconf_shm This utility was designed to be the ODBC driver Administrator’s HostConf shared memory access and manipulation tool. The module offers the Administrator the following choices: 1. Remove any existing hostconf shared memory segment. 2. Recreate and reload a new hostconf shared memory segment containing the hostconf data from the “d_user_password”, “d_user_table” and “m_base_id” HostConf Master flat files. 3. Reload ONLY the existing hostconf shared memory segment with the data from the “d_user_password”, “d_user_table” and “m_base_id” HostConf Master flat files. This option might be used when the Administrator makes a change to the master files and wants to reload the shared memory segment directly without having to destroy the existing shared memory segment. 4. Show specific parameters about the existing hostconf shared memory segment such as its access permissions, creator’s user ID, last access times, size, etc. 5. Dump the contents of the hostconf shared memory segment to a regular flat file for reviewing. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 25 Utility files MBF-UDALink 6. Encrypt/decrypt the hostconf master files. This option employs a cyclic encryption algorithm. Data can be loaded into shared memory in either state. If it is desirable to have the data in the shared memory segment encrypted for an extra level of security, make sure that the master files are in the encrypted state when loaded with option 2 or 3 above. ODBC driver does not care about the encryption state of the data. 7. Quit the utility and return to the OS. 8. The final option is the batch load option, which has no menu counterpart and must be invoked either by the system boot-up loading sequence or from either a command script or the command line itself by typing “hostconf_shm batch”. This option of the hostconf_shm program is discussed in more detail below. The hostconf_shm module creates a utility file called “hostconf_shmid” which tracks the following information: • Shared memory identifier: “shmid” • d_user_password data size • d_user_table data size • m_base_id data size • actual size of the last segment creation • encryption flag for segment load: 0=unencrypted 1=encrypted The locations of the hostconf_shmid file as well as the three master files (d_user_password, d_user_table and m_base_id), is defined by the HOSTCONF_DIR environment variable. The location of the hostconf_shm HostConf shared memory utility, as well as all of the ODBC driver binaries, is defined by the UDALINK_HOME environment variable. Because this utility can view and manipulate HostConf shared memory it is installed into the $UDALINK_HOME directory with mode “700”. udalink_env (for posix, bourne and korn shell users) Because ODBC driver employs many possible OS environment variables, an environment initialization file udalink_env has been created. This file, if it exists during installation, is moved into user root logon directory (“/”), as well as into the application’s home directory for safekeeping. Currently that directory is defined by the UDALINK_HOME environment variable. This logon environment definition file is required to define all of the ODBC driver environment variables. It should be sourced by root’s “.profile” file (“.login” for C-shell users using .udalink_env.csh) at logon to enable root user to be able to successfully access shared memory and security information. A major task accomplished by the .udalink_env environment file is to define and export all of the HP-UX path variables required by the HostConf and the security systems, such as: 26 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Utility files • MBFOSTER_HOME • DX_DIRECTORY • UDALINK_HOME • HOSTCONF_DIR • D_USER_PASSWORD • D_USER_TABLE • M_BASE_ID • SHMID_FILE The udalink_install.sh script places the environment file into the “/” directory and the UDALINK_HOME directories. HOSTCONF and path variables The HP-UX OS Version 9 and higher generally use the /usr tree for application installation. Version 10 systems generally use the /opt tree. Obtain the HP-UX OS version from the ki.h header file in the /usr/include/sys directory. VERSION_NO=`grep "#define.KI_VERSION" /usr/include/sys/ki.h | awk '{print(substr($3,2,2))}'` export MBFOSTER_HOME="/opt/mbfoster" export DX_DIRECTORY="$MBFOSTER_HOME/uda" export UDALINK_HOME="$DX_DIRECTORY" export HOSTCONF_DIR="$MBFOSTER_HOME/hostconf" export D_USER_PASSWORD="$HOSTCONF_DIR/d_user_password" export D_USER_TABLE="$HOSTCONF_DIR/d_user_table" export M_BASE_ID="$HOSTCONF_DIR/m_base_id" export SHMID_FILE="$HOSTCONF_DIR/hostconf_shmid" LISTENER environment variables export ODBC_CENTURY_DELIMITER=0 export ODBC_CONVERT_NULLS_TO_SPACES=0 export ODBC_CREATE_UNSIGNED_PACKED=0 export ODBC_CREATE_UNSIGNED_ZONED=0 export ODBC_DEBUG=0 export ODBC_DEBUG_LIMIT=3 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 27 Utility files MBF-UDALink #export ODBC_DEBUG_UID= #export ODBC_DEBUG_PWD= #export ODBC_DONT_COMPARE_FLOATS= export ODBC_LIMIT_NUMERIC_PRECISION=0 export ODBC_LOG=0 export ODBC_MAKE_COLUMNS_NULLABLE=0 export ODBC_NULLIFY_INVALID_DATES=1 export ODBC_PARSE_ESCAPE_SEQUENCES=0 export ODBC_REMOVE_TRAILING_SPACES=1 #export ODBC_RETURN_NULLS= export ODBC_ZEROIZE_NULL_DECIMALS=1 export ODBC_AOPTIONS= export ODBC_CONVERT_NULLS_TO_SPACES=0 export ODBC_DONT_UPSHIFT_COLUMNS=0 export ODBC_SOCKET_ID=21245 #export ODBC_SOCKET_TIMEOUT=0 export ODBC_USE_BASEID_AS_OWNER=0 export MBF_SSL_ENABLE=1 export MBF_SSL_VERSION=3 export MBF_SSL_REQCLIENTCERT=1 export MBF_SSL_CERTIFICATEFILE=” ./cert/www.mbfoster.com.crt” export MBF_SSL_KEYFILE=” ./cert.www.mbfoster.com.key” export MBF_SSL_CACERTDIR= .?cert” export MBF_SSL_CACERTFILE=” ./cert/ca.crt” MBFSERVR The main ODBC driver DBMS server and listener executable. MBFUTIL The ODBC driver manual DBMS interactive utility. 28 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink ODBC driver configuration Configuring ODBC ODBC driver configuration Before the ODBC driver can be used in an application, the ODBC Administrator must specify which tables a given user ID can access. This information is kept in the ODBC configuration database on the server and maintained through the MBF-UDALink Host Configuration Utility. The Host Configuration Utility is a client-server program that uses ODBC driver to access the server. It is a three-stage operation: • Identify your users. • Identify the databases on the server to access using the ODBC driver. • Associate users to tables and/or databases to which they have been given access using the Host Configuration Utility. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 29 Using the Host Configuration utility MBF-UDALink Using the Host Configuration utility The ODBC driver Host Configuration program, HOSTCONF.EXE, is a client-based utility that uses the ODBC driver to access the server-based configuration database. The menu at the top of the screen enables you to connect with a data source, set up users and their access privileges to databases and user tables, and to access the Help Utility. At the bottom of the screen is a status line. This indicates that you are connected to a data source, the client and server version being used, and the current date and time. Select: The HOSTCONF group icon. Double-click it. The Host Configuration Utility screen is displayed. Select: File at the top of the Utility screen, and from the drop down menu, Select: Connect. 30 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Using the Host Configuration utility The ODBC Logon window is displayed. Select: The required data source (DSN) from the drop-down menu. The ODBC Logon screen is displayed with ODBCMGR in the UID field. The Password field is initially blank. It is recommended you change it later in the Setup Users screen. Select the appropriate Data Source from the drop-down menu. Select: OK. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 31 Using the Host Configuration utility MBF-UDALink Adding a user ID When you select OK on the ODBC Logon screen, the Host Configuration Utility screen is displayed. From the Host Configuration Utility screen, Select: Add New User. The Set New User and Password window is displayed. Enter the New user ID and the New Password. You are prompted to verify the password by re-entering it. Select: OK. 32 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Using the Host Configuration utility Deleting a user ID Highlight the user ID to delete from the Host Configuration Utility screen drop-down menu. Select: Delete. The Delete displayed. User screen is Select: OK to delete the user. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 33 Using the Host Configuration utility MBF-UDALink Changing a password Highlight the user ID from the Host Configuration Utility screen drop-down menu. Select: Update Password. The Set Password screen is displayed. The old password is displayed. Enter and verify the new password. Select OK. 34 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Using the Host Configuration utility Adding a database From the Host Configuration Utility screen: Select: The Databases Tab Type: The database ID In the Database Name field enter the actual database name. Include the directory name. Type: The database name. Select the type of database. For the purpose of this installation: Select: The Oracle radio button. Enter a database password which gives the appropriate read and/or write access capability. The password is case-sensitive. The default password is ";" (a semicolon). It opens the database only if it was created by the same user ID used in the listener job. Select: Add New. This newly defined database appears in the data Base ID list. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 35 Using the Host Configuration utility MBF-UDALink Configuring for ALLBASE Enter the name of the Allbase database environment in the Database Name field. The user name of the listener job determines the Allbase access capabilities the user receives. All users using this database definition receive the same capabilities. To provide different capabilities to different users, you can run multiple listeners with different user names or create multiple DataBase IDs and specify the specific tables each DataBase ID can access. See “Associating Users with Databases and Tables” later in this chapter. The ALLBASE user ID is the user@account of the ODBC driver listener job. It takes the user@account as the owner. If an application is giving the error “Can’t find table MGR@FIORGA.ZDT”, it is because it is not specifying an owner name. The application must specify the correct owner name in its SQL. You can see the SQL generated by the application in the ODBCLink.LOG or the server log file ODBCLOG. There is no relationship between the HostConf user ID and the ALLBASE owner. The subset of tables available to the user are managed by HostConf. You may also have to GRANT permissions to the user@account (in ISQL) to the tables you want your users to access. Configuring for Eloquence Enter the name of the data base in the Database Name field. Enter a data base password which gives the appropriate read or write access capability. The password is case-sensitive. The default password is ";" which will only open the data base if it was created by the same user id used in the listener job. Enter a data base open mode. The default open mode is "1". If a read password was entered, this open mode should be changed to "5". See the TurboIMAGE/iX manual for a discussion of open modes. To access two Image data bases with the same name but in different groups, create two DataBase ID entries. Be sure you have defined environment variable ODBC_USE_BASEID_AS_OWNER in your listener job in order to use this procedure. Configuring for Oracle The DataBase ID is the only item that must be entered to identify an ORACLE database. The listener job should include the following commands to identify the ORACLE environment: 36 • ORACLE_HOME - The name of your Oracle installation account, if different from ORACLE7. • ORACLE_SID - Usually the three-character code identifying your database. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Using the Host Configuration utility Configuring for FDGEN An FDGEN file is a dictionary used to define Eloquence tables and flat files. It allows the System Administrator to: - specify which fields (tables) can be accessed - apply user-friendly names to fields (columns) - mask out portions of the file for security reasons - provide multiple definitions of particular tables - indicate KEY fields - identify date fields - specify decimal places for numerics - control column widths To use an FDGEN dictionary, check the "USE MB Foster FDGEN" box and enter the name of the FDGEN dictionary in the "Dictionary name". Using FDGEN dictionaries The default open mode for Eloquence tables defined in FDGEN dictionaries is 5. To allow write access to these data bases, enter the following setvar statement EXPORT ODBC_IMAGE_OPEN=1 Associating users with data sources and tables From the Host Configuration Utility screen: Select: The User Tables Tab To connect the users to the databases: Select: The relevant user ID from the user ID drop-down list. Select: The database to be accessed by that user from the DataBase ID drop-down list. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 37 Using the Host Configuration utility MBF-UDALink In the Table Name field. insert an "@" to allow the user access to all tables associated with the selected data base. If required, specific Table Names can be entered to limit user access. The Primary Key field is left blank for this example. This field can be used if you explicitly specify a table or dataset. Most ODBC applications require a unique key on a table or dataset for it to be updated. The ODBC driver will find the primary key for a table. In some cases, for instance, Eloquence tables, the key must be specified manually. Select: Add New. The data base and access privileges are displayed on the screen. Select: File, Exit to leave the configuration menus. ODBC driver is ready to be used from the client application, for example, MS Excel, Lotus Approach, MS Access or any number of others. To delete user access to a database, highlight the user ID and the associated database, and click Delete. To change any values associated with a user table, click Update after making the changes. To disallow write access to the database from most applications, check the Snapshot Only box. To make doubly sure, configure Eloquence tables to be opened in Mode 5. If you are using ALLBASE/SQL, you can grant SELECT privileges to your logon user and revoke all other privileges. If you are using Winsock, your logon user is the user/account of the listener job. You need an outline of the database structure before configuring the user tables, or you can define the table access as "@" and then use MBFUTIL to see the names of the available tables (datasets). 38 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring SSL Configuring SSL Before using the ODBC driver with SSL, you must set the SSL environment variables. A number of parameters can be set to control the nature of the SSL function. By default, SSL is disabled. Client SSL parameters The following parameters affect SSL operation on the client. These are configurable in the DSN Setup. Note: The Use SSL box must contain a check mark. Press OK. The following displayed. This must be entered. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 screen is information 39 Configuring SSL MBF-UDALink SSLVersion - SP_PROT_TLS1, SP_PROT_SSL2 SP_PROT_SSL3. These are different SSL Protocols. SP_PROT_TLS1 - Encryption The primary goal of the TLS1 Protocol is to provide privacy and data integrity between two communicating applications. The protocol is composed of two layers: the TLS Record Protocol and the TLS Handshake Protocol. SP_PROT_SSL2 - Encryption and Authentication The SSL 2.0 Protocol is designed to provide privacy between a client and a server. The protocol is also designed to authenticate the server and, optionally, the client. SSL requires a reliable transport protocol such as TCP for data transmission and reception. The advantage of the SSL Protocol is that it is application protocol-independent. A higher level application protocol such as HTTP, FTP, or TELNET can layer on top of the SSL Protocol transparently. The SSL Protocol can negotiate an encryption algorithm and session key as well as authenticate a server before the application protocol transmits or receives its first byte of data. All of the application protocol data is transmitted encrypted, ensuring privacy. SP_PROT_SSL3 - Encryption, Authentication, and Certificates The primary goal of the SSL 3.0 Protocol is to provide privacy and reliability between two communicating applications. The protocol is composed of two layers. At the lowest level, layered on top of some reliable transport protocol (for example, TCP/IP), is the SSL Record Protocol. The SSL Record Protocol is used to encapsulate various higher level protocols. One such encapsulated protocol, the SSL Handshake Protocol, allows the server and client to authenticate each other and to negotiate an encryption algorithm and cryptographic keys before the application protocol transmits or receives its first byte of data. One advantage of SSL is that it is application protocol independent. A higher level protocol can layer on top of the SSL Protocol transparently. Exchange Key Mode - CALG_DH_EPHEM, CALG_RSA_KEYX. These enable the server to communicate separately with a client on a separate setting, independent of the network which is on a common setting. Client Certificate Name - The name of the Certificate on the client. Server Certificate Name - The name of the Certificate on the server. Note: This should match the “People Name” or “Common Name (CN)” of the certificate from the server such as: Subject: C=CA, ST=ONT, L=OTTAWA, O=MBF, OU=DEPTNAME CN=MYNAME/ Email = myname@mbf.com. This will put “MYNAME” in the CertificateServerCommonName parm. Server Certificate Authorization - This activates the Server Certificate Authorization. 40 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring SSL Server SSL parameters The following are the server setvars (parameters) that control the characteristics of SSL. To set an environment setting on an HP 9000, use the command: export Variable Name=1 To unset an environment setting on an HP 9000, use the command: export Variable Name=0 To delete an environment setting on an HP 9000, use the command: export Variable Name=0 or blank • MBF_SSL_ENABLE – Determines if SSL is enabled or disabled. “1” means SSL is enabled, “0” means SSL is disabled. Default 0 - SSL disabled. • MBF_SSL_VERSION – Determines the versions of the SSL Protocol that will be used. Default is 3. All four items reside on the server. Items 1, 2, and 4 reside on the client. 1: SSL v2 2: SSL v3 3: allows dynamic negotiation of SSL v2 or v3 4: TLS v1(transport layer security) • MBF_SSL_CERTIFICATEFILE – Determines where to load the file containing the server's certificate. The server must have a certificate. The file may also contain the server's private key. • MBF_SSL_KEYFILE – Determines where to load the file containing the private key of the server. The server must have a private key and the certificate must match this private key. Server Authentication To illustrate the authentication mechanism, the following shows the authentication mechanism used by Netscape. The server checks the client certificate authenticity using Lightweight Directory Access Protocol (LDAP). MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 41 Configuring SSL MBF-UDALink Client Authentication 42 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring SSL The following is the flow of control during a sample session using SSL in ODBC driver. This process is comon for a levels of SSL. Client ClientHello Server --------> ServerHello Certificate* ServerKeyExchange* CertificateRequest* <-------- ServerHelloDone Certificate* ClientKeyExchange CertificateVerify* ChangeCipherSpec] Finished Application Data --------> <-------- [ChangeCipherSpec] Finished <-----> Application Data MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 43 OpenSSL concepts MBF-UDALink OpenSSL concepts OpenSSL is a cryptography toolkit implementing the Secure Socket Layer (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and related cryptography standards. Note: After installing OpenSSL, the man page normally is in /usr/local/ssl/man. After you set your MANPATH, you can use the man command to read all OpenSSL commands. (Man pages are the online version of Unix manuals.) The OpenSSL program is a command line tool for using the various cryptography functions of the OpenSSL crypto library from the shell. It can be used for • creation of RSA Security, Diffie-Hellman and DSA key parameters • creation of X.509 certificates, CSRs, and CRLs • calculation of message digests • Encryption and decryption with ciphers • SSL/TLS client and server tests • Handling of S/MIME signed or encrypted mail References to OpenSSL can be found at the following man page: open ssl(1) There are some user-friendly interfaces for the OpenSSL certificate program, such as CA.pl and CA.sh. You can easily create your CA (Certification Authority) hierarchy, peer-key, certificate, etc. Configuring files and directories for OpenSSL Change your PATH environment variable to include the bin directory of Openssl. PATH=$PATH:/usr/local/ssl/bin Set up the OpenSSL random number generator. The state of this random number generator is held in the file $HOME/.rnd, in your home directory, or .rnd, in addition to the files given in the -rand option with Openssl commands. openssl rand -out myrand -rand test.c 1024 mv myrand $HOME/.rnd Set up the OpenSSL configuration file: OPENSSL_CONF=/usr/local/ssl/openssl.cnf 44 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring files and directories for OpenSSL To this point, the use of the OpenSSL command is optional. To learn more about OpenSSL, you can set up a MANPATH environment variable to include the man directory of OpenSSL. MANPATH=$MANPATH:/usr/local/ssl/man To use other user friendly interfaces for the OpenSSL certificate program, you should set up the SSLEAY_CONFIG environment variable: SSLEAY_CONFIG=-config /usr/local/ssl/openssl.cnf Simplified certificate creation and management An effective way to create and manage certificates is to use the Macro command of OpenSSL. This will introduce CA.pl (CA.sh on a UNIX platform). You should install Perl in your work environment. Perl is an interpreted programming language with a number of features that make it very useful for manipulating textual data. As such, it is a good choice for a number of applications, including server gateways for HTTP servers. Create a CA hierarchy. CA.pl –newca - A new CA hierarchy for use with the CA program will be created. It will prompt for the file name of the CA certificates. This should also contain the private key. Pressing ENTER will prompt for further details of the CA. The relevant files and directories are created in a directory called demoCA in the current directory Create a new request – get your private key. CA.pl –newreq - You will gain a new certificate request. The private key and request are written to the file newreq.pem. Sign the request - Get your certificate and public key. CA.pl –signreq - This command calls the CA program to sign a certificate request. It expects the request to be in the file newreq.pem. The new certificate is written to the file newcert.pem. Create a PKCS#12 file containing the user certificate, private key, and CA certificate. CA.pl -pkcs12 "My Test Certificate" - It expects the user certificate and private key to be in the file newcert.pem and the CA certificate to be in the file demoCA/cacert.pem. It creates a file called newcert.p12. This command can be called after the -sign option. The PKCS#12 file can be imported directly into a browser. If there is an additional argument on the command line, it will be used as the “friendly name” for the certificate. These are typically displayed in the browser list box. Otherwise, the name My Certificate is used. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 45 Configuring files and directories for OpenSSL 46 MBF-UDALink MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Introduction Server Configuration Introduction MB Foster’s Java-based Server Configuration application provides the same functionality as the older Hostconf tool. It allows Windows and non-Windows users access to the configuration database on supported servers, allowing you to identify users and databases, and associate users to tables and databases. Running Server Configuration stand-alone To run Server Configuration stand-alone, select Start->Programs->MB Foster->MBF-Server Configuration. Running Server Configuration from UDACentral To run Server Configuration from MBF-UDACentral, launch UDACentral and select Tools>Server Configuration. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 47 Configuring Users and Databases MBF-UDALink The Server Configuration window opens, displaying a list of existing configurations. You may configure databases, tables and users for an existing connection, or you may select New in the right panel to create a connection, if you have not yet created any connections. To create a connection, consult the Data Resource Connections chapter in this manual. Configuring Users and Databases Select MBF-Server Configuration in the left panel, then select a connection in the middle panel and press Connect in the right panel. This connection must be pre-configured for the user odbcmgr, or allow odbcmgr to be entered in the User name field to grant access to the remote configuration database. Once the connection is established, the MBF-Server item in the left panel becomes a folder, which opens to show Database ID and User ID as labels. Selecting either label will reveal a list of databases or users already configured in the server database. 48 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring Users and Databases To begin configuration, select a label. Managing users Select the User ID label to add a user or manage existing ones. You can use the right panel to add and remove users, or change the user’s password. You also use the right panel to add, remove and modify associations between the users and tables and databases on the server, including the types of tables and the privilegs the user will have. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 49 Configuring Users and Databases MBF-UDALink Adding a user To add a user, select Add User in the User Administration panel. You are prompted for a user ID and password, and asked to confirm the password. Although the password may be left blank, it is recommended that you provide one for security purposes. Removing a user To remove a user, highlight the user in the middle panel and select Remove User in the User Administration panel. If the user already has databases and tables associated with it, you are prompted to confirm the removal. You may select Detail to review the current associations for the user. In some cases, you may want to edit the associations rather than removing the user entirely. 50 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring Users and Databases Changing a password To change a password for a user, select the user in the middle panel, and select Change Password in the User Administration panel. You are prompted to confirm the new password. Associating the user with databases and tables To associate the user with a database and table(s), select the user in the middle panel. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 51 Configuring Users and Databases MBF-UDALink The User Administration panel allows you to create and modify associations between the highlighted user and the databases and tables defined on the server.. User/Database/Table Configuration has six main fields for each association you create. Current linked table Current linked table is a pop-up list that shows the current associations. Database ID and Table Name are used to create the association. Database ID The Database ID pop-up list shows all databaes existing on the server. 52 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring Users and Databases Table Name The Table Name field allows you to enter a specific table name within the database, or to enter the @ sign to allow the user access to all tables in the selected database. Consult your system administrator for the names of the tables within the database. Table Attributes Table Attributes allows further refinements of the privileges the user can have in accessing the database and tables. The Primary Key field can be used if you explicitly specify a table or dataset. Most ODBC applications require a unique key on a table or dataset for it to be updated. The ODBC Driver will find the primary key for a table. In some cases, a TurboIMAGE detail dataset, for example, the key must be specified manually. To disallow write access to the database from most applications, check the "Read Only" box. To make doubly sure, configure TurboIMAGE databases to be opened in Mode 5. Saving a link Remember to select Save Link after adding or modifying an association. Removing a link Select Remove Link to remove an association. Adding a Database ID To add a database ID, select Database ID in the MBF-Server Configuration folder in the left panel to open the Database ID administration panel. To create a new ID, simply overtype any Database ID in the field at the top of the panel. You are notifed that the new Database ID has been created. The new database ID will inherit the properties of the database selected when you entered the new name. This is useful for cloning databases with similar properties. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 53 Configuring Users and Databases MBF-UDALink Removing a Database ID Exercise caution in removing a database ID. Unlike removing a user, where you are provide with the details of the existing associations, removing a database prompts if you have associations, but does not identify the extent of the impact if you remove it. Selecting Yes removes the database and all associations to it. Configuring the database The new database is highlighted in the middle panel, so that you can begin further modifications. You will need to know the actual database name for the second field; consult your System Administrator if you do not have that information. 54 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring Users and Databases You now need to identify the database type from the drop-down list below the Database Name field. Configuring for ALLBASE or IMAGE/SQL Enter the name of the Allbase Data Base Environment (DBE) in the Database Name field. The user name of the listener job determines the Allbase access capabilities the user receives. All users using this data base definition receive the same capabilities. To provide different capabilities to different users, you may run multiple listeners with different user names or create multiple DataBase IDs and specify the specific tables each DataBase ID may access. The ALLBASE User-ID is the user@account of the ODBC Driver listener job. It takes the user@account as the owner. If an application is giving the error "Can't find table MGR@FIORGA.ZDT", it is because it is not specifying an owner name. The application must specify the correct owner name in its SQL. You can see the SQL generated by the application in the ODBCLink.LOG or the server log file ODBCLOG. There is no relationship between the HostConf User-ID and the ALLBASE owner. The subset of tables available to the user are managed by ServerConfig. You may also have to GRANT permissions to the user@account (in ISQL) to the tables you want your users to access. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 55 Configuring Users and Databases MBF-UDALink Configuring for Image/Eloquence Enter the name of the data base in the Database Name field. Enter a data base password which gives the appropriate read or write access capability. The password is case-sensitive. The default password is ";" which will only open the data base if it was created by the same user id used in the listener job. Enter a data base open mode. The default open mode is "1". If a read password was entered, this open mode should be changed to "5". See the TurboIMAGE/iX manual for a discussion of open modes. The User ID of the listener job must have access to the data base. If the data base is not in the same account as the listener job, the group and account where the data base is located must have ANY for read and/or write capabilities, depending on the password and open mode. To access two data bases with the same name but in different groups or directories, create two DataBase ID entries. Be sure you have defined the environment variable ODBC_USE_BASEID_AS_OWNER in your listener job in order to use this procedure. Configuring for PowerHouse subfiles Enter the name of the PowerHouse subfile in the Database Name field. The subfile must be format 8 and may be either a sequential or indexed file. Configuring for MBF Subfiles Enter the name of the subfile in the Database Name field. Note: Ensure Auto_Recnum is not turned on when using a MBF Subfile. If Auto_Recnum is turned on when using a MBF Subfile, the first 6 characters of the output will contain invalid data. Configuring for Views Views are lists of fields (columns) usually prepared by Information Services personnel to allow users to access data from one or more tables or definition sources. The View contains the access path through the tables and may also include temporary items computed from fields (columns). . Views are created using the Views option in MBF-UDALink-MPE. To make a View catalog available to the Driver, enter the following information in the Server Configuration - Database-ID menu: • Database-ID - The identifier by which you want a particular catalog to be known. Up to 8 characters including embedded blanks. 56 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring Users and Databases • View - Click the radio button • Catalog Location - Enter the group and account; e.g. UDA.MBFOSTER Views may contain field value security codes to limit access to the records (rows) retrieved. For example, if the REGION code in a View named MONTH-END is used for field value security and a user with the User-ID 'EASTERN' accesses the View, only those records (rows) containing REGION codes the EASTERN user is allowed to see are displayed. These security tables are part of the User Profiles maintained by the System Administrator when using the MBF Manager program and the Views option in MBF-UDALink-MPE. Views may use definition sources not supported directly by ODBC Driver. For example, Cognos PDL dictionary must have been created by PowerHouse Version 7.29 or later to be accessible by the Driver. However, any PDL dictionary may be used to create a View. Views can be used by ODBC Driver to access pre-7.29 PowerHouse dictionaries. Supported data sources Among the data definition sources available to Views (and therefore ODBC Driver) are: • TurboIMAGE • KSAM and MPE SD files • Robelle SD files • MBF Subfiles • MBF File Definitions (TurboIMAGE, KSAM and MPE files) • PowerHouse PDL dictionaries • PowerHouse subfiles Unimplemented features in Views Several features of Views have not been implemented in the ODBC Driver at this time: • calculations using dates • calculations using system functions such as $ACCOUNT • calculations using bit extraction for mapping • row selection involving case insensitivity MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 57 Configuring Users and Databases MBF-UDALink • ALLBASE/SQL, IMAGE/SQL and ORACLE access Using Views from the ODBC Driver Views include the access path for the data. Only one View can be used at a time. Views are maintained in a catalog in the same group and account as the UDALink Reporter programs. You tell the ODBC Driver where the catalog is by adding an environment variable to the listener job. For example: SETVAR ODBC_DX0UCAT "DX0UCAT/PHOENIX.<group>.MBFOSTER" Note: If you are not using WINSOCK, include the environment variable as part of the logon command. The ODBC Driver uses SQL name formats. If the column names contain special characters such as "-" or "+", the special character will be changed to "_". This may result in duplicate names. For example, if the View contained items "PH+7" and "PH-7" they are both converted to "PH_7". The group and account where data tables, data sets and data bases exist do not have to be included in a View. However, the Driver must know where the tables are located. Adding the group and account information to the view is the simplest solution. File equates in the listener job(s) in the account where the data resides is another possibility. Configuring for the PDL data dictionary To use a PDL dictionary, you must select “PDL Dictionary" in the Database Type drop-down, and enter the name of your dictionary in the "Dictionary Name" field. You have the following options: 1. Load all databases and datasets defined in the dictionary: Enter a meaningful Database ID and a Database Name of "@". Then switch to the Update User Tables screen, highlight your User ID and Database ID, and enter "@" as the table name. 2. Load all datasets (or tables) for a single database: Enter a meaningful database ID and the name of your database. Then switch to the Update User Tables screen, highlight your User ID and Database ID, and enter "@" as the table name. 3. Load a single dataset (table) in a database: Enter a meaningful database ID and the name of your database. Then switch to the Update User Tables screen, highlight your User-ID and DataBase-ID, and enter your table name. 58 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Configuring Users and Databases Note: The IMAGE password and open mode boxes are inactive if you use a PDL dictionary. ( The open mode is 1 and the password is taken from the dictionary). Using PDL Dictionaries Information in the dictionary such as item headings, labels, and edit masks are not automatically sent to the client application. They must be set up in the client application for every report you write. The way you do this depends on the application you are using. Certain applications, such as PowerBuilder, have catalog tables where you can enter the information. PDL dictionary security is not implemented. All tables and columns in the dictionary are accessible, by default. However, you can restrict users to certain tables in the Server Configuration. The ODBC Driver supports PDL versions 7.29 or 8.39. The default open mode for TurboIMAGE databases defined in PDL dictionaries is 1. To change this, set the environment variable ODBC_IMAGE_OPEN to the desired database open mode before running the server. This variable can be set in the listener job. For example: SETVAR ODBC_IMAGE_OPEN 5 MPE and KSAM files are opened Read, Share if snapshot-only is defined in ServerConfig on the table or dataset, and Update, Share, Lock. Otherwise, to change this, to open all files Read, Share, Lock set the environment variable ODBC_AOPTIONS to another value before running the server. For example: SETVAR ODBC_AOPTIONS 224 For a description of valid aoption bits, see the MPE/iX intrinsics manual under FOPEN. Note: If you plan to use message files, you may require some specific settings for these variables.Please contact M.B. Foster Technical Support. Configuring for FDGEN An FDGEN file is a dictionary used to define IMAGE, KSAM and MPE files. It allows the System Administrator to: - specify which fields (tables) may be accessed - apply user-friendly names to fields (columns) - mask out portions of the file for security reasons - provide multiple definitions of particular tables MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 59 Configuring Users and Databases MBF-UDALink - indicate KEY fields - identify date fields - specify decimal places for numerics - control column widths To use an FDGEN dictionary, select “ MBF FDGEN" from the Database Type pop-up list and enter the name of the FDGEN dictionary in the "Dictionary name" field. Using FDGEN dictionaries The default open mode for TurboImage data bases defined in FDGEN dictionaries is 5. To allow write access to these data bases, enter the following setvar statement: SETVAR ODBC_IMAGE_OPEN 1 MPE and KSAM files are opened Read, Share if snapshot-only is defined in ServerConfig on the table or dataset, and Update, Share, Lock, otherwise. To open all files Read, Share, Lock, set the environment variable ODBC_AOPTIONS to another value before running the server. For example: SETVAR ODBC_AOPTIONS 224 For a description of valid aoption bits, see the MPE/iX intrinsics manual under FOPEN. Propagating changes to HP-UX Unlike changes to the HP 3000 configuration database, which are effective immediately, changes made through Server Configuration do not become effective on the HP-UX server until you have re-loaded the configuration files. See “Batch loading capability for the HostConf data” in the installation chapter of the MBF-UDALink Administration Guide for HP-UX. 60 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink RPC Overview Remote procedure calls RPC Overview Remote procedure calls (RPCs) in the ODBC driver support transactional remote procedures if they operate on an Allbase DBE. The ODBC driver can connect to a default Allbase DBE as specified by the RPC_DEFAULT_ALLBASE_DBE environment variable. If this parameter is set, the RPC server connects to the DBE when it is started. The following is a user-level description of the RPC capabilities of the ODBC driver. . W IN -N T /W in 2 00 0 S e rve r G U I inpu t M B F -R P C C om pone nt B uild er F ile Inpu t .c .h .cpp .idl IIS W eb P a ge s V B M odule (B usiness Logic) C O M C om ponent RP C T ypelib C om piler scripts A p plication D istribu te d T ra n sa ctio n C o-o rd in ator C O M O bje ct R P C S tubs MBF T ransa ction M onitor MBF C o nsole ODBCMGR T ransa ction L og R P C P roxy C on so le F u n ction s R P C fun ction s O D B C F u nctio n s X A fu nctio ns In te rn a l fun ctio ns U D A L ink.d ll H P -3 0 00 C on so le S e rver RPC S ervers RPCSTAT F ILE U D A L in k L isten e r O DB CS TAT F IL E O DBC S ervers XLU S E R S Y S T E M XL XLO D B C A llb ase F unction s C U S T O M XL A llb a se DB Block diagram of RPC mechanism in ODBC driver MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 61 RPC Overview MBF-UDALink Windows environment In a Windows environment, the following are part of, or can interact with, the RPC environment: • ODBC driver • COM Component Builder • MBF-Console • Secure Socket Layer • Microsoft Distributed Transaction Coordinator (MS-DTC) Note: These instructions apply to ODBC driver version 6.02 and greater. ODBC driver The ODBC driver consists of a series of functions for RPCs. When developing applications based on COM, these functions will be called by a COM component that is built by the Component Builder. These functions can also be called directly by an application. If accessed by an application, the attributes of the remote procedure parameters (data type, length, etc.) will have to be known and adhered to. The following are the application-callable RPC functions needed to invoke a remote procedure on an HP server without using the COM Component Builder: 62 • RPCConnect • RPCDisconnect • RPCInvoke • RPCSetParam • RPCGetParam • RPCNumParams • RPCEnlist MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink RPC Overview Function return values All functions return one of the following integer values: • SUCCESS(0) • SUCCESS_WITH_INFO(1) • ERROR(-1) • INVALID_HANDLE(-2) RPC server pool To ensure that the response of the new RPC mechanism is fast, the ODBC driver listener creates a pool of RPC servers when the listener starts. When a connection request is received from the client, the listener hands the request off to the first available RPC server process in the pool. The RPC servers are created only if the Security Catalog has the flag set, allowing RPC to be used. The maximum number of RPC servers is 100. Configuration A number of parameters can be set in the listener job file to control the RPC server pool. There are defaults for all parameters. If no parameters are used, a pool with default characteristics is created. The following are the setvars that control the characteristics of the pool: • RPC_INITIAL_SERVERS - Determines how many processes are initially created in the pool. The default value is 10. Maximum is 50. • RPC_MAXIMUM_SERVERS - Determines the maximum number of servers that the pool can have. The default is 100. Maximum is 100. • RPC_MIN_FREE_SERVERS - Determines the minimum number of free servers allowed. The default is 2. Minimum is 1. Maximum is half of the number of initial servers. • RPC_MAX_FREE_SERVERS - Determines the maximum number of free servers allowed. The default is number of initial servers + min free servers (Default is 12) if all defaults are used). The minimum is the number of initial servers. If the parameters exceed the acceptable values, the listener changes the value to the allowed limit. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 63 RPC Overview MBF-UDALink Pool expansion When a connection request is received, the listener determines that the number of free servers has diminished to the value of the RPC_MIN_FREE_SERVERS environment variable. It then hands off the connection. Next, it creates another server to add to the pool. It only expands the pool one server at a time. Pool contraction If the listener expanded the pool significantly, and the number of free RPC servers exceeds the RPC_MAX_FREE_SERVERS environment variable, the listener removes processes from the pool, keeping the pool within the prescribed limits. The listener contracts the pool from the end. The pool does not contract unless the last server in the pool has been freed. Default ALLBASE DBE The RPC mechanism in the ODBC driver supports transactional remote procedures if they operate on an Allbase DBE. The ODBC driver can connect to a default Allbase DBE as specified by the RPC_DEFAULT_ALLBASE_DBE environment variable. If this parameter is set, the RPC server connects to the DBE when it is started. 64 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Two-phase Commit Overview Two-phase Commit Protocol Two-phase Commit Overview Guaranteeing the ACID properties of the transaction is a relatively straightforward process when the actions of a transaction are confined to a single resource manager. Facilities such as logging and locking are examples of features provided by resource managers to guarantee the ACID properties. However, when more than one resource manager is involved in a transaction, guaranteeing the ACID properties is more involved and requires an additional protocol — the Two-phase Commit Protocol. In the absence of a transaction manager, the application program must implement the Two-phase Commit Protocol within itself. The Two-phase Commit Protocol has two distinct phases, the prepare phase and the commit phase. The application program chooses the commit agent, which can be one of the participating resource managers or an additional resource manager. The application program performs the actions on the resource managers. After completing the actions, the application enters the prepare phase by sending a prepare message to the resource managers, who respond to the application program with prepared messages. If any of the resource managers are not able to complete the prepare phase, then the application must abort the transaction. After receiving prepared messages from each of the participating resource managers, the application enters the commit phase, by sending a commit message to the commit agent. The application program must then send the Commit message to each of the participating resource managers. The Two-phase Commit Protocol is a complex sequence of operations. As the number of participating resource managers increases, the complexity of the Two-phase Commit Protocol increases exponentially. Because of this, it is very difficult to write good application programs that will obey the Two-phase Commit Protocol rules when several resource managers are involved. Having a transaction manager implement the Two-phase Commit Protocol and handle all the relevant coordination issues speeds up and simplifies the application development process. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 65 Two-phase Commit Overview MBF-UDALink Microsoft Distributed Transaction Coordinator (MS-DTC) The Microsoft Distributed Transaction Coordinator (MS-DTC) provides one of the foundations for transaction processing. Some of its key capabilities are as follows. MS-DTC provides features to create, destroy, manage, and monitor transactions. Transaction objects represent transactions. Any application following the rules of the MS-DTC programming model can create transaction objects and perform operations on them. MS-DTC is built in the architectural framework of the Object Linking and Embedding (OLE) Component Object Model. Applications written using the OLE Component Object Model seamlessly integrate with MS-DTC. Because MS-DTC can be implemented as OLE objects and interfaces, any programming language supporting the OLE calling conventions can be used to develop applications. MS-DTC exposes various OLE interfaces to applications and the resource managers, providing the ability to interact with MS-DTC. Application model using MS-DTC As object-oriented methods of design and development matured, the concept of the application as a collection of cooperating objects was born. The maturity of the object model, combined with the maturity of other technologies such as remote procedure calls (RPCs), facilitated true distributed applications. While the cooperating objects in the application can be distributed across nodes in the network, the object-oriented model of the application does not confine the application objects to specific tiers. It is very convenient to classify the application objects into three different categories: user services, business services, and data services. The MS-DTC extends the object-oriented model of the application by adding objects needed for transaction processing. The MS-DTC provides objects to create, destroy, manage, and monitor transaction objects. The applications and resource managers can, in turn, act on these transaction objects. The application objects can use the services provided by MS-DTC objects to enable transaction processing. Transactions are characterized by their ACID properties. The MS-DTC objects guarantee the atomicity of the transactions when their actions span multiple resource managers using the Twophase Commit Protocol. The resource managers participating in the transaction guarantee the other characteristics of the transaction: consistency, isolation, and durability. 66 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Two-phase Commit Overview Role of the Microsoft Distributed Transaction Coordinator The role of the Microsoft Distributed Transaction Coordinator (MS-DTC) is to guarantee the atomicity of the transactions. The transactions must be initiated by a component of the application. The component initiating the transaction receives a pointer to the transaction. The component cannot pass this pointer to another component. Therefore, the MS-DTC requires that the transaction be completed by the same component that initiated it. Two-tier programming model The two-tier model refers to the classical client-server model of programming. A client provides the user interfaces, and optionally data validation routines, for an application and interacts with other components on the database/application server. The business rules can be in the client application, in the database server components such as stored procedures, or in both. The client application uses application programming interfaces (APIs), such as Database Library (DBLIB) or Open Database Connectivity (ODBC), to communicate with the database server. While this is not object-oriented, numerous applications exist that were written in this fashion. When introducing the MS-DTC into this programming model, the transaction can be initiated and committed in two different places: the client application and, in some cases, from within the database server stored procedure. This is generally done when the MS-DTC and the database server are on the same machine. At present, this is not possible with ALLBASE stored procedures. The application programmer’s view of transactions The application programmer’s model of transactions is quite simple: applications either succeed or fail. The application begins a transaction by getting a transaction object. All subsequent work is associated with that transaction object. When the application reaches a consistent state, it calls the Commit method. If the Commit succeeds, the transaction is durably committed. If the Commit fails, the transaction is aborted. If the application finds that it cannot successfully finish the transaction, it may call the Abort method to undo the transaction's effects. This is a simple way to clean up complex failure cases. If the application fails before it commits the transaction, the transaction manager will abort the transaction and tell each enlisted resource manager to undo the transaction's effects. If a computer or resource manager fails, the transaction will also be aborted. Once the transaction has been successfully committed, the resource managers and transaction manager will ensure that the transaction's effects are durable, even if there are subsequent failures. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 67 Two-phase Commit Overview MBF-UDALink Application-initiated transactions Most resource managers can participate in application-initiated transactions. Application-initiated transactions controlled by the MS-DTC are attractive for three reasons: • The application can invoke any OLE transaction-compliant resource manager it requires. • The application can explicitly control the scope and duration of the transaction. • The application can be coded in any programming language that supports the OLE transaction interfaces for initiating and controlling MS-DTC transactions. This includes applications developed in C and C++ as well as in Visual BASIC 6.0. An application-initiated transaction works as follows: • The application connects to MS-DTC and obtains a transaction dispenser interface, to initiate transactions. • The application opens the resource managers it wants to use, such as a connection to relational databases using ODBC. • The application initiates an MS-DTC transaction by calling BeginTransaction and obtains a transaction object representing the transaction. • The application propagates the transaction to each resource manager by invoking the resource manager’s transaction enlistment interface. For example, the application would use the ODBC SetSQLConnectOption to propagate the MS-DTC transaction object to resource managers that support ODBC. All subsequent work done on the ODBC connection is done under the auspices of the transaction. When the resource manager first sees the MS-DTC transaction, it enlists in the transaction with its local MS-DTC transaction manager. This permits the resource manager to participate in the Two-phase Commit Protocol and to receive transaction commit or to abort notifications from MS-DTC. 68 • The application invokes the standard resource manager functions that update transactionprotected resource manager data. For example, the application might insert, delete, or update records in a relational database, or it might invoke a database-stored procedure that modifies the relational database. • When the work of the transaction is complete, the application calls Commit. In response to the commit call, MS-DTC uses the Two-phase Commit Protocol to coordinate commitment of the transaction with all of the resource managers enlisted in the transaction. Alternatively, the application could call Abort to undo the effects of the transaction. The application may then go on to perform more MS-DTC transactions. • When the application is done, it releases the transaction dispenser object and closes the ODBC connections. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Two-phase Commit Overview To use MS-DTC, the client application establishes a connection to the MS-DTC service, running either on the same node as the application or on another node on the network. Once the connection is established, this instance of MS-DTC becomes the primary MS-DTC for this particular transaction. Other instances of MS-DTC running on resource managers participating in the transaction become subordinate MS-DTCs. As the application begins and commits transactions, the primary and subordinate MS-DTC exchange messages and cooperate to guarantee atomicity. Opening a connection to the primary MS-DTC in the HOSTCONF program is done using the DtcGetTransactionManager helper API call. Using this helper API, the application can obtain a pointer to the ITransactionDispenser interface. After opening a connection to the primary MS-DTC, the application can then proceed with the usual API calls to open connections to the resource managers. The application can initiate the transaction using the BeginTransaction member function in the ITransactionDispenser interface, obtaining a pointer to the ITransaction interface. The pointer to the ITransaction interface represents the transaction object. The application must enlist the participating resource managers to the transaction object to tie the transaction object and the resource managers together. The enlistment is done via the function dbenlisttrans for DBLIB and the SQLSetConnectOption function call for ODBC. Other proprietary interfaces may have their own enlistment interface. For example, for the RPC mechanism in the ODBC driver, this is done with an RPCEnlist function call. After the participating resource managers are enlisted, the application can send commands to the resource managers for actions within the transaction. When the application is ready to commit the transaction, it calls either the Commit member function of the transaction object, or the Abort member function of the transaction object can be called to roll back or abort the transaction. The transaction and the transaction dispenser objects can be released at this time. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 69 Two-phase Commit Overview MBF-UDALink Application-to-resource manager transaction propagation The propagation of a transaction between an application and a resource manager occurs when an application initiates a transaction, tells the resource manager to enlist in the transaction, and directs the resource manager to do work under the protection of the transaction. UDALink.DLL Client Appl RM Proxy DTC MBF UDALink server RM Front end Allbase RM RM Allbase Data Application Program-to-Resource Manager Transaction Propagation In this example, ODBC driver is a proxy and a front end resource manager (RM) for the ALLBASE RM. The RM proxy is implemented in the UDALink3.dll. When the application invokes a resource manager function, the RM proxy validates the input parameters, marshals the parameters into a request message, and sends the request message to the ODBC driver server (RM front end). When the RM ODBC driver server receives the request message, it un-marshals the parameters and calls the Allbase RM to perform the requested operation. When the operation is complete, the ODBC driver server marshals the output parameters into a response message, and sends the response message to the RM proxy. The RM proxy un-marshals the response message and returns the output parameters to the application. To the client application or MS-DTC, the UDALink3.dll is the RM. To the ALLBASE RM, the ODBC driver server looks like the application (or MS-DTC for the transactional calls). 70 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Two-phase Commit Overview The resource manager’s view of transactions A resource manager first declares its presence to the local transaction manager. It then waits for execution requests from applications. When a request arrives, tagged with a new transaction object, the resource manager enlists in the transaction by invoking the enlist method on the transaction object. By enlisting, the resource manager ensures that it will get callbacks from the transaction manager when the transaction commits or aborts. The resource manager then performs the transaction's requests. For example, the transaction might insert, delete, or update records in a relational database. The resource manager keeps enough information so that it can either undo or redo the transaction. When the application commits the transaction, the transaction manager initiates the Two-phase Commit Protocol. The transaction manager first asks each enlisted resource manager if it is prepared to commit the transaction. The resource manager must now prepare to commit by making it ready to either commit or abort the transaction. Typically, the resource manager records the old and new data in stable storage so that the resource manager can recover even if the systems fail. If the resource manager cannot prepare successfully, it informs the transaction manager and the transaction manager aborts the transaction. If the resource manager can prepare, it does so, tells the transaction manager that it is prepared, and awaits the transaction manager's decision on whether to commit or abort the transaction. Once prepared, a resource manager must wait until it gets a commit request or abort request from the transaction manager. Most transactions commit. Aborts are infrequent. Typically, the entire prepare and commit protocol completes in a fraction of a second. If there is a system or communication failure, the commit or abort notification may not arrive for minutes or even hours. During this period, the resource manager is uncertain of the outcome of the transaction, not knowing if the transaction committed or aborted. During this time, it keeps the data modified by locking the transaction, isolating these changes from any other transactions. Any locking should be done at the lowest level possible. If there is a failure, higher-level locks could inhibit others from accessing resources. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 71 Two-phase Commit Overview MBF-UDALink The transaction manager’s view of transactions Applications ask the transaction manager to create a transaction object by calling the transaction manager's BeginTransaction method. A method provides information about, and access to, a single method on a class or interface. The reflected method can be a class method or an instance method (including an abstract method). A method permits widening conversions to occur when matching the actual parameters to invoke with the underlying method's formal parameters, but it produces an IllegalArgumentException if a narrowing conversion occurs. When a resource manager first participates in a transaction, it calls the transaction manager enlist method to enlist in the transaction. The transaction manager tracks the resource managers who enlist in the transaction. Later, the application commits or aborts the transactions, or a resource manager or a system failure aborts the transaction. Commit and abort are additional methods on transaction objects. When asked to commit a transaction, the transaction manager initiates a Two-phase Commit Protocol. During phase one, it asks all enlisted resource managers to prepare. Then, during phase two, the transaction manger tells the resource managers whether the transaction committed or aborted. The Two-phase Commit Protocol has many optimizations including the read-only optimization and the transfer of commit optimization. MS-DTC implements these optimizations, but the functionality remains the same: atomicity and durability. The transaction manager keeps a log in safe storage on a disk, recording transaction starts, enlistments, and commit decisions. The log is a sequential file that records transaction events. During normal processing, the transaction manager only writes the log. However, if the transaction manager fails, at restart it reads the log to reconstruct its most recent state. The transaction manager uses the log to make its state durable. The transaction manager also provides an operator interface to manage transactions. It maintains performance counters that can be displayed using the system performance monitor. It also records important operational events in the system log. These events can be displayed using the system event viewer. It has a graphical management interface that is integrated with the SQL Enterprise Manager. The graphical management interface lets the operator configure the system, view transactions, and abort or commit in-doubt transactions. For distributed transactions, each computer has a local transaction manager. When a transaction does work at multiple computers, the transaction managers track incoming and outgoing transactions. Each transaction manager performs all the enlist, prepare, commit, and abort calls for local resource managers (ones on that computer). When committing a transaction distributed among several computers, the transaction manager sends prepare, commit, and abort messages to all its outgoing transaction managers. 72 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Two-phase Commit Overview When a transaction manager is in doubt about a distributed transaction, the transaction manager queries the incoming transaction manager. The root transaction manager is never in doubt. Appropriateness of distributed transactions Generally, where an application requires transactions to be distributed between physically separate nodes and ACID properties are to be preserved, the two-phase commit distributed transaction is the preferred method. In other cases, alternate replication strategies have the advantage. Data replication for decision support Many customers are establishing data warehouses for their decision support applications. These customers need to replicate data from their operational database to their decision support database. MS-DTC is not intended for replicating decision support data. Typically, these database replication services asynchronously propagate changes from the operational database to the decision support database. This is more efficient than updating both databases synchronously using MS-DTC. Using the database replication service may also improve system availability. Database replication services permit the operational database to be updated when the decision support database is unavailable. Changes to the operational database are queued and applied to the decision support database when it becomes available. When MS-DTC is used for replication, both databases must be available whenever the operational database is updated. Alternatively, applications that update the operational database must tolerate decision support database failures. There must also be a way to re-synchronize the two databases following the failure. MS-DTC is not appropriate for replicating a database for high availability. The issues described for data replication for decision support also apply for data replication for high availability. In both cases, you should use the data replication services provided with your relational database. MS-DTC is appropriate for building a reliable queue for sending information from one system to another. An application could implement its own replication scheme using such a reliable queue. Whenever the application updated the operation database, it would queue an update request for the decision support database. A corresponding application on the data warehouse system would remove the update requests from the queue and update the decision support database. The applications would use MS-DTC transactions to keep the distributed queue consistent. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 73 Two-phase Commit Overview MBF-UDALink Transaction commit and abort The rules for committing and aborting MS-DTC transactions are as follows: Transaction commit Only the party who called BeginTransaction can call Commit. No other participant in the transaction can commit the transaction. An application should not call Commit while a resource manager operation is outstanding for the given transaction. An application that will invoke asynchronous operations must wait for all asynchronous operations to complete before committing the transaction. An application that violates this rule runs the risk of committing the transaction prematurely. MS-DTC does nothing to prevent transactions from committing prematurely. Resource managers must be capable of handling premature commit requests. If a resource manager receives a commit request while doing work on behalf of a transaction, it can either abort the transaction or complete the request before committing the transaction. Transaction abort Any participant in the transaction can abort the transaction. The transaction initiator can abort the transaction at any time by calling Abort, providing it has not called Commit. Any resource manager enlisted in the transaction can abort the transaction by calling Abort any time before responding “prepared” at phase one of the Two-phase Commit Protocol. A resource manager can also abort the transaction at phase one of the Two-phase Commit Protocol by responding E_FAIL to the prepare request from the transaction manager. If a statement that is executed as part of a transaction fails, it does not mean that the Resource Manager will abort the transaction. In many cases, the application could recover from this type of failure and still successfully commit the transaction. If the application developer wants the transaction to abort on the failure of a statement, then it should monitor the return status and act accordingly. 74 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Two-phase Commit Overview Limitations of the MS-DTC-compliant ODBC driver The ODBC driver supports calls to an ALLBASE database to be executed as part of a distributed transaction. Explicit or implicit transactions Some OLE transaction-compliant resource managers provide facilities for initiating and committing MS-DTC transactions explicitly, or implicitly, from within the resource manager (for example, from stored procedures). Initiation of a transaction in this manner is not supported by the ODBC driver. Propagating MS-DTC transactions Some resource managers can propagate MS-DTC transactions from one OLE transactioncompliant resource manager to another. This is not supported by the ODBC driver. To update multiple ALLBASE databases in the same transaction, you must create explicit connections to each database. Calling applications Some resource managers are capable of calling application code from within the resource manager. This permits the application programmer to perform operations that the resource manager and its stored procedure programming language do not directly support. This is not supported by the ODBC driver. Transaction coordination Coordination of the transaction by a transaction monitor on the HP server is not supported by the ODBC driver. Concurrent transactions Multiple concurrent transactions on the same connection are not supported by the ODBC driver. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 75 Two-phase Commit Overview 76 MBF-UDALink MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Reporter Overview Configuring Reporter Reporter Overview Reporter is a program that allows users to access data on a Unix server and reformat it as reports, files on the Unix server, or as a PC file. Reporter is used to perform the data extractions. In addition to standard Unix security, there are several programs that control how Reporter is used. These programs include: MBFMaint - The program for configuring system and user profiles and performing catalog maintenance. MBFViews - The Views Manager for creating user Views of data structures and building user security rules. FDGEN - The File Definition Generator for creating file definitions of Eloquence tables or files not defined in other sources of data definition. MBFMerge - The Catalog Merge program for upgrading existing versions of Reporter when a new release has been issued. The MBF-UDALink Administrator The Reporter Administrator is a person who can log on to the Unix as mbfoster or a member of the DXSysMgr or DXAdmin groups. The Administration programs must be run by a user in one of these groups. If profiles have been installed, users can be granted various levels of MBF-UDALink Administrator capabilities using the CAPABILITY parameters of the system and user profiles. The Reporter user interface All administration programs use the same user interface as Reporter. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 77 Configuration menu MBF-UDALink Configuration menu To get to the Set Configuration Options menu, enter an exclamation point (“!”) at any prompt or press the “CONFIG OPTIONS” function key, F7, when at the Main Menu. Note: Changes you make while in this set of menus are only in effect for your current session. 1: Menu characteristics Customize the way information is formatted on your terminal. 2: Procedure execution parameters Customize the way the output file is prepared. 3: Display format parameters Customize the screen display and printer page. 4: Output file characteristics Customize the format of the output file. 5: PC interchange parameters Configure your PC for file downloading. 78 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Menu characteristics Menu characteristics 1: HELP LEVEL (EXPERT) Enter NOVICE to engage the automatic display of short help messages with each menu and prompt. Enter EXPERT to get help only when you ask for it with ? or ?? responses. 2: MENU COSMETIC LEVEL (2) To control the amount of data sent to the terminal and its formatting, enter a value between 0 and 3. The 0 setting is useful for lower speed communication lines. 0 - text left justified and no dashed lines 1 - text centered and no dashed lines 2 - text centered with dashed lines 3 - text centered with continuous lines (requires line drawing set) 3: MENU FUNCTION LEVEL (3) This inhibits the “home and clear” before each menu title is displayed, allowing all displayed lines to scroll up the screen. Non-HP terminals always work this way, regardless of the setting. 0 - scroll mode 1 - screen refresh 2 - screen refresh and memory lock 3 - screen refresh, memory lock and function keys 4: LIST FIELD OCCURRENCES ON MENUS (YES) The YES setting allows fields with multiple occurrences to display all occurrences as though they were separate fields. They have the same name as the original field, followed by the occurrence number. For example, a field BALANCE that occurred 12 times would display as BALANCE-1, BALANCE-2, ... BALANCE-12. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 79 Procedure execution parameters MBF-UDALink 5: LOGICAL MENU ITEM NAMES (NO) This prompt determines whether names shown on the menus for files and elements will be actual (physical) names or menu (logical) names. 6: MESSAGE CATALOG NUMBER (0) This allows you to specify which catalog to access in this session. The message catalog contains all of the text for menus, prompts and messages. This prompt only appears if multiple catalogs are installed i.e., if the NO. OF ADDTNL. CATALOGS INSTALLED prompt of the installation parameters menu of Maintenance is greater than zero. Two additional message catalogs are available - 1 Spanish, 2 French. Procedure execution parameters 1: RECORD COUNT INTERVAL (100) [ ] When a procedure is executed, it informs you of progress by displaying RECORDS READ, PREPARED, and WRITTEN. It updates this progress message every 100 records unless you change this setting. If you enter a zero, the odometer does not report these messages. 2: LIST COMPUTATIONAL ERRORS (NO) [ ] The YES setting causes computational errors to be reported as they occur. The NO setting summarizes all errors at the end of the procedure. 3: REMOVE DUPLICATE RECORDS (NO) [ ] Normally, duplicate records are allowed in an output file. To eliminate duplicate records, change this setting to YES. Only identical records adjacent in a file are removed. 4: SUMMARIZE BY UNIQUE SORT FIELD VALUE (NO) [ ] This allows you to dictate how the values of built-in functions are calculated. If this is set to NO, each value encountered in a control break is used in the calculation. If it is set to YES, only unique values are used. 80 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Display format parameters For example, if you are reporting all sales to a range of accounts you may want to count the number of accounts. Set this value to YES so that the count reflects the number of unique account numbers. Otherwise, the count reflects the total number of detail lines. 5: TERMINAL PRINTER DEVICE NUMBER (4) [ ] Enter the device number of the printer attached to the user terminal or PC. 0 - none 4 - external printer Other device numbers may be valid for certain terminals. To maintain the attached printer setting after a print operation, enter a negative sign before the device number. 6: TERMINAL PRINTER RESET CODE Enter the control sequence to reset your printer. Consult your printer manual for the correct sequence. Enter non-printing codes as “[n]” where n is the decimal value of the code. The reset code for HP printers is “EscE” (Esc has a code of 27), so you would enter “[27]E”. If you do not want a reset code to be sent to the terminal printer, enter “ ”. 7: RETURN Return to the Configuration Options menu. Display format parameters 1: TERMINAL DISPLAY WIDTH (80) For terminals with a line width different from 80 columns, enter the maximum number of columns the terminal can display. 2: TERMINAL DISPLAY DEPTH (24) For terminals that display less or more than 24 rows, enter the maximum number of rows the terminal can display. 3: PRINT PAGE WIDTH (132) You can change the maximum width of displays sent to a printer, i.e., the Display Catalog and Review Procedure printer listings. 4: PRINT PAGE DEPTH (59) MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 81 Output file characteristics MBF-UDALink You can change the number of lines per page that a printed listing will contain. Note: A print page depth of 0 lines can be specified to eliminate page skips on output such as mailing labels. If page heading and/or footing is specified, only one per report is printed. 5: PRINTED REPORT SUMMARY PAGE (YES) To generate a procedure execution summary page at the start of any printed output report, enter YES. This summary page contains the name of the procedure, the time it was run, record counts, and any selection values. Output file characteristics 1: EUROPEAN DECIMAL FORMAT (NO) To format numeric fields with decimal points in European format, select this option. The European decimal point is a comma (,). The North American and British decimal point is a period (.). 2: TEXT QUALIFIER Most applications expect strings enclosed in double quotation marks, e.g. “a string”. 3: COLUMN HEADINGS SPREADSHEET FILES (YES) ON To generate column headings on spreadsheet output files (Lotus and Excel) enter YES; otherwise, enter NO. 82 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink PC interchange parameters PC interchange parameters 1: DEFAULT TERMINAL EMULATOR (R) Enter an identifier for the default PC terminal emulator to be used. The identifier for Reflection software is “R”. Enter: “R” - If Reflection is used and PCLINK2 is to be used for transfers. “ ” - If Reflection is not used on any PCs, this setting should be set to blank. This allows Reporter to load more quickly by removing the Reflection status checks. 2: DEFAULT PC DRIVE ( ) Enter the letter for the disk drive on your PC to be used as the default drive for downloaded files. It may be different from the PC default drive. You can specify that files go to drive B: by default even though your PC default is C: . Enter “ ” to use the PC default drive. 3: DEFAULT PC FILE DIRECTORY ( ) Enter the name of the directory to be used as the default for downloaded files. This directory will be added to any file names without a directory. Enter “ ” to use the current directory. 4: PC FILE TERMINATION CODE (26) Enter the termination character required by your PC operating system to mark end-of-file. Windows uses code 26, which is equivalent to CONTROL/Z. Enter 0 (zero) if no termination character is required. 5: PC FILE DOWNLOAD DELAY (2) Enter the number of seconds before beginning to download data. This is normally used only on PCs that require manual intervention to download. Reflection does not require this delay. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 83 SYSTEM PROFILE configuration MBF-UDALink SYSTEM PROFILE configuration This menu allows you to alter the system-wide parameters, such as installation parameters (e.g., menu text indentation) and default user parameters. To activate this screen, run the MBF-UDALink Manager program and press the F5 function key. Any changes you make to parameters do not affect existing user profiles. 1: INSTALLATION parameters Select this option to alter the parameters that affect all users on the system, such as whether user profiles are activated. These parameters are not modifiable for individual users. 2: GENERAL default user parameters Select this option to alter the defaults for general user parameters. 3: TABLE/FILE size default user parameters Select this option to alter the default table and buffer sizes. These are the maximum values for each user. 4: CAPABILITY default user parameters Select this option to alter which capabilities users will have. 5: MODIFIABLE default user parameters Select this option to alter the defaults for user modifiable parameters. The user will be able to override these parameters at runtime by entering “!” and using the Set Configuration Options menu. 84 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink SYSTEM PROFILE configuration 6: FORMAT selection menus Select this option to configure the Output File Format Options Menu and the ODBC driver function keys. Each of these default user parameter types has a menu similar to the one that follows. Note: In stepping through configuration prompts in Maintenance, you can enter F8 or “// ” to skip the remaining prompts of the group. You are still offered the option of updating the catalog. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 85 INSTALLATION parameters MBF-UDALink INSTALLATION parameters All the prompts that can appear on this menu are shown. Where a prompt is dependent on an option being installed, the two-character option code is shown in bold to the right of the prompt. INSTALLATION parameters ———————————————————————————— PROMPT FIELD DELIMITERS ([ ])[ ] SCROLL MODE PROMPT CHARACTER (>)[ ] MENU TEXT INDENTATION (20)[ ] PROFILES OPTION ENABLED (YES)[ ] PR NO. OF ADDTNL. CATALOGS INSTALLED (0)[ ] PR, FR,SP SPECIAL LANGUAGE SUPPORT (0)[ ] PR SPECIAL TERMINAL TYPE ( )[ ] PR DEFAULT PROCEDURE CATALOG SIZE (200)[ ] CATALOG FULL CONTROL (LIMIT)[ ] USER CATALOG PROFILES ENABLED (YES)[ ] PR Views OPTION ENABLED (YES)[ ] VW DEFAULT VIEW CATALOG SIZE (200)[ ] VW HP Allbase/SQL OPTION ENABLED (YES)[ ] AB Oracle SQL OPTION ENABLED (YES)[ ] OR PowerHouse OPTION ENABLED (YES)[ ] PH ReportDesigner OPTION ENABLED (YES)[ ] RD MBF-UDALink OPTION ENABLED (YES)[ ] OD INTERACTIVE BATCH MODE (YES)[ ] PR INFO STRING INPUT ENABLED (YES)[ ] ———————————————————————————— SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [y ] CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)?[y ] This menu allows you to alter the parameters that affect all users on the system. These parameters are not modifiable for individual users. To select this option you must be logged on as a user of the directory in which MBFMaint is located. 86 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink INSTALLATION parameters PROMPT FIELD DELIMITERS ([ ]) [ ] These are the delimiters used to indicate the length of a field for user input. You can change these to any characters you want. For example, if you want the fields in enhanced video, enter the appropriate escape sequence. SCROLL MODE PROMPT CHARACTER (>) [ ] This character is used with terminals where cursor control is unavailable, and is displayed at the end of a prompt. MENU TEXT INDENTATION (20) [ ] Specify the column on your terminal screen where menu text will begin. PROFILES OPTION ENABLED (YES) [ ] Enter YES if the Profiles option is installed and the option is to be enabled. Enter NO if it is to be disabled. The ability to disable the feature is particularly useful during product evaluation. NO. OF ADDTNL. CATALOGS INSTALLED (0) [ ] Enter the number of additional (supplementary) message catalogs that are installed on the system. (These are typically for alternate language or terminology purposes.) A user profile can define the default catalog for the user, who can select another with the “Set configuration options” feature. SPECIAL LANGUAGE SUPPORT (0) [ ] The default is standard language support. Enter 1 (one) for Spanish or 2 for French. SPECIAL TERMINAL TYPE ( ) [ ] Enter the terminal type that is to be treated as if it were terminal type 10, in order to get function key support, cursor control, etc. An example is the use of terminal type 15 for certain PC network protocols. DEFAULT PROCEDURE CATALOG SIZE (200) [ ] Specify the maximum number of procedures that can be saved into each procedure catalog. The maximum value is 10000. CATALOG FULL CONTROL (LIMIT) [ ] Specify whether deleted procedures should be automatically purged from a catalog when it becomes full. If this option is set to NO the Maintenance option “compact procedure catalog” must be used whenever a procedure catalog becomes full. The CATALOG FULL CONTROL facility in Maintenance allows specification of the action to be taken at a “full” condition: MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 87 INSTALLATION parameters MBF-UDALink EXPAND: Specifies that the catalog is to be automatically expanded by 20 percent. LIMIT: Specifies that when the limit of number of entries in a catalog is exceeded, an error message is to be generated informing the user of this condition. The catalog must then be compacted or expanded by the Administrator. COMPACT: Deleted procedures will automatically be purged from the catalog, allowing additional procedures to be added. Default size values for procedure, data and user profile catalogs are the default sizes for creation. USER CATALOG PROFILES ENABLED (NO) [ ] Specify whether Reporter is to check the user profile catalog each time it is run. If the user profile catalog is enabled, a user without a specific profile who does not match the criteria for missing profiles is denied access. Enter YES to enable the user profile capability, which gives each user a specific set of capabilities and resources in the Reporter session. Enter NO to give all users the default user profile setup in the system profile. DEFAULT USER CATALOG SIZE (100) [ ] Specify the maximum number of user profiles in an account. Views OPTION ENABLED (YES) [ ] Enter YES if the Views option is installed on your system. This prompt controls whether the choice of using the Views is displayed when a user creates a new procedure. DEFAULT VIEW CATALOG SIZE (200) [ ] Specify the maximum number of data groups that can be saved into each View. HP Allbase/SQL OPTION ENABLED (YES) [ ] Enter YES if the Allbase/SQL option is installed on your system and is to be enabled. This prompt controls whether the Allbase/SQL option is displayed when a user creates a new procedure. Oracle SQL OPTION ENABLED (YES) [ ] Enter YES if the Oracle SQL option is installed on your system and is to be enabled. This prompt controls whether the option of using Oracle SQL is displayed when a user creates a new procedure. PowerHouse OPTION ENABLED (YES) [ ] Enter YES if the PowerHouse option is installed on your system. This controls whether the option of using QSCHEMACs or PDLs is displayed when a user creates a new procedure. 88 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink INSTALLATION parameters ReportDesigner OPTION ENABLED (YES) [ ] Enter YES if the ReportDesigner option is installed on your system. This option allows the user to customize the report listing output of an Reporter procedure. MBF-UDALink Option Enabled (YES) [ ] Enter YES if the ODBC driver option is installed on your system. This option allows the user to access data from the HP 9000 using ODBC and various desktop applications. INTERACTIVE BATCH MODE (YES) [ ] Enter YES to enable the ability to specify whether a user can run procedures in batch, interactively or through a choice at runtime. See also the Procedure Execution mode of the Capability Parameters. INFO STRING INPUT ENABLED (YES) [ ] To specify whether the Reporter INFO string input is enabled, enter YES to allow one or more input values to be entered in the INFO string on the RUN statement or enter NO to disallow the INFO string. The INFO STRING capability can be turned off independently of Profiles. SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [ ] Enter YES to make the current changes permanent. CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)? [ ] Enter “y” to return to the System parameter menu, or “N” to return to the Main Menu. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 89 GENERAL default user parameters MBF-UDALink GENERAL default user parameters A user profile is created with default user parameters based on the current system-wide parameter settings, or parameters copied from another user profile. A user profile can also be attached to a user class, where changes to the class automatically change the user profile. To customize a user profile, select the Change option once you have created a user profile. Changes made to default user parameters do not affect existing profiles. To change the settings for a user profile, you must make them explicitly. Changes made to a class will, however, change the profiles associated with it. This menu is only available to users who have installed the Profiles option. The additional prompts available when other options and interfaces have been installed are shown in the right column. GENERAL Default User Parameters ———————————————————————————— Current format code gives: REPORT OUTPUT FILE FORMAT [ ] WKS FILE CHARACTER CODE FOR ‘NULL’ VALUE (32) [ ] CENTURY DELIMITING VALUE (0) [ ] MAINTAIN EXTERNAL FKEYS (NO) [ ] TERMINAL STATUS TIME-OUT (10) [ ] MAXIMUM ITEMS PER MENU (48) [ ] PROC. CATALOG LOCATION ( ) [ ] VIEW CATALOG LOCATION ( ) [ ] OUTPUT FILE LOCATION ( ) [ ] PDL NAME ( ) [ ] PH PRINTER DEVICE (LP) [ ] RCL FILE DIRECTORY [ ] TUTORIAL MODE ENABLED (YES) [ ] SUPPORT PARM INPUT ENABLED (YES) [ ] RUN/MODIFY OPTIONS ENABLED (YES) [ ] —————————————————————————————— SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [ ] CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)? [ ] 90 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink GENERAL default user parameters OUTPUT FILE FORMAT [ ] If user profiles are installed, each user may have a different default format chosen when the Return key is pressed at runtime to the ENTER AN OPTION NUMBER for the Output Format menu. When used with the OUTPUT FORMAT MENU CAPABILITY, a user can be forced to create only one type of output file format. For example, by setting the output file format code to 18 and the output format menu capability to NO, the user can only create Excel .xls files. Specify the default format to be used to create an output file. This is the format generated if the user enters Return to the format choice menu or does not have the format menu choice available. Enter - <format#> from the output format menu used during the creation of a procedure. Zero to specify a special ASCII-delimited format. WKS FILE CHARACTER CODE FOR ‘NULL’ VALUE (0) [?? ] Enter the decimal number corresponding to the character you want written in a WKS/WK1/WK3 or WK4 LABEL spreadsheet cell to represent a null value. This is typically 32 to represent a blank, or 0 (zero) to represent a null. CENTURY DELIMITING VALUE (0)[ ] Enter the year in a century (0-99) that delimits years to be treated as the twenty-first versus the twentieth century in a two-digit year format such as “YYMMDD”. A two-digit year where the year is greater than or equal to this value is treated as being in the 20th century and any year less than this value is treated as the 21st century. For example, if the century delimiter is set at 25, dates with years 0-24 are treated as 2000-2024 and years 25-99 are treated as 1925-1999 in date calculations, sorts, report and download files. If the Manager Plus Option is not installed, the Century Delimiter Parameter appears as one of the installation parameters. Date formats DP and DJ have an internal bit structure that allows these formats to contain dates up to the year 2027, so they are not affected by the new delimiter. Date sub-types ASK and CYMMDD also have an implied century so are also not affected by the century delimiter. MAINTAIN EXTERNAL FKEYS (NO) [ ] Specify whether Reporter should save existing function key settings and restore them when exiting the program. Enter: YES to save function key settings and restore them during program exit, or NO to not save function key settings. Shortens program startup time. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 91 GENERAL default user parameters MBF-UDALink TERMINAL STATUS TIME-OUT (10) [ ] Specify the maximum number of seconds that Reporter should wait when it attempts to identify the type of terminal being used. Ten seconds may be necessary if you are operating on a large data communications network with Reflection. MAXIMUM ITEMS PER MENU (48) [ ] Specify the number of items (such as file names or field names) to display on one “page” of a menu. If there are more items than the maximum in a display, the menu will be broken into multiple pages. PROC. CATALOG LOCATION ( ) [ ] Specify the directory where the procedure catalog for this user is located. Enter: “*” {name} a blank if the logon directory is to be used the name of a specific directory if the user can specify the directory at runtime VIEW CATALOG LOCATION ( ) [ ] Specify the directory where the data catalog for this user is located. Enter: “*” {name} a blank if the logon directory is to be used the name of a specific directory if the user can specify the directory at runtime OUTPUT FILE LOCATION ( ) [ ] Specify the directory in which any saved output file for this user is to be placed. Enter: “*” {name} a blank 92 if the logon directory is to be used the name of a specific directory if the user can specify the directory at runtime MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink GENERAL default user parameters PDL NAME ( ) [ ] To limit users to a specific PDL, enter its name and location. Users will be prompted for any of the data you do not supply. This will restrict users to the PDl that you have specified. PRINTER DEVICE (LP) [ ] Enter the printer device class. Enter ”blank” if the user can define it when the system printer is chosen for output. RCL FILE DIRECTORY [ ] Enter the name of the PC file directory that contains any Reflection Command Language (RCL) files used for Driver connections. TUTORIAL MODE ENABLED (YES) [ ] To specify whether the Reporter tutorial mode is enabled, enter <Y> to allow PARM=10 to be specified on the RUN statement or enter <N> to disallow PARM=10. The default setting is YES if the Profiles option is installed. This setting can be set on a user requirement basis. SUPPORT PARM INPUT ENABLED (YES) [ ] To specify whether the Reporter support PARMs are enabled, enter <Y> to allow a support PARM number to be entered on the RUN statement. Enter <N> to disallow a support PARM number. The default setting is YES if the Profiles option is installed. This setting can be set on a user requirement basis. Support parms: 20 - Show message numbers on menus. 22 - Allow batch jobs or command files to continue after an error. 41 - Disable version check in Reporter or Views. Allows an entry to be used in a version earlier than the one in which it was created. 2733 - Show record offsets and lengths in modify for use in adjusting a procedure or View after a restructure of the data. 7712 - Show security information for the logon CPU. 7713 - Show security information for all authorized CPUs. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 93 GENERAL default user parameters MBF-UDALink RUN/MODIFY OPTIONS ENABLED (YES) [ ] To specify whether the user can enter a RUN or MODIFY option following the name of the procedure. Enter “Y” to allow an option. enter “N” to disallow an option. The default setting is YES if the Profiles option is installed. This setting can be set on a user requirement basis. Run option 7 generates a sample output report or file with 5 sample lines. Modify option 2 removes a report design, if present, from a procedure. SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [ ] Enter YES to make the current changes permanent. Nothing is changed until you respond to this prompt. You can use this feature to review the current values. CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)? [ ] Enter “Y” to return to the SYSTEM parameters menu, or “N” to return to the MAIN MENU. 94 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink TABLE/FILE size default user parameters TABLE/FILE size default user parameters This menu is available to all Reporter users and is included for reference. TABLE/FILE size default user parameters ———————————————————————————— MAXIMUM OUTPUT FILE SIZE (10000) [ ] MAX. OUTPUT FILE SIZE IN BATCH (0) [ ] MAXIMUM FILE ACCESS RECORDS (0) [ ] MAX. ACCESS RECORDS IN BATCH (0) [ ] MAXIMUM NUMBER OF ACCESS FILES (0) [ MAXIMUM OUTPUT BUFFER SIZE (300) [ MAXIMUM NUMBER OF DATA FIELDS (100) [ MAXIMUM DATA BUFFER SIZE (300) [ MAXIMUM TABLE BUFFER SIZE (6000) [ MAXIMUM NUMBER OF TABLE ENTRIES (300) [ MAXIMUM WORKSPACE BUFFER SIZE (6000) [ MAXIMUM NO. OF WORKSPACE ENTRIES (300) [ ] ] ] ] ] ] ] ] ———————————————————————————— SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [y ] CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)? MAXIMUM OUTPUT FILE SIZE (10000) [ [y ] ] Specify the maximum size (number of records) for any output file generated. If a file reaches its maximum size, a message is displayed and the user can choose to save the file on the server or download it to desktop. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 95 TABLE/FILE size default user parameters MBF-UDALink MAX. OUTPUT FILE SIZE IN BATCH (0) [ ] Specify the maximum size (number of records) for any output file generated by this user in batch mode. A value of 0 (zero) indicates that the maximum is the same as that specified for interactive mode (previous prompt). MAXIMUM FILE ACCESS RECORDS (0) [ ] Specify the maximum number of records that can be read when generating an output file. When this limit is reached a message is given and the user can choose to save the file on the server, download it to the desktop, or to print the report, depending on the type of file that was produced. A value of 0 (zero) indicates that there is no maximum. MAX. ACCESS RECORDS IN BATCH (0) [ ] Specify the maximum number of records the user is allowed to read in batch mode. A value of 0 (zero) indicates that the maximum is the same as that specified for interactive mode (previous prompt). MAXIMUM NUMBER OF ACCESS FILES (0) [ ] Specify the maximum number of files that can be read by a procedure when generating an output file. A value of 0 (zero) indicates that there is no maximum. MAXIMUM OUTPUT BUFFER SIZE (300) [ ] Specify the maximum record size (in words) that can be defined when creating a procedure. If this limit is exceeded, you receive the system error message OUTPUT BUFFER OVERFLOW. MAXIMUM NUMBER OF DATA FIELDS (100) [ ] Specify the maximum number of data fields that can be included in any one procedure. If a user attempts to create a procedure using more fields, you receive the system error message FIELD TABLE OVERFLOW. MAXIMUM DATA BUFFER SIZE (300) [ ] Specify the maximum size (in words) for the data buffer. The data buffer holds the actual data for the fields retrieved when a procedure is executed. If this is exceeded, you receive the system error message DATA BUFFER OVERFLOW. MAXIMUM TABLE BUFFER SIZE (6000) [ ] Specify the maximum size (in words) of the table buffer. The table buffer holds all ASCII information for a procedure, such as file and field names. If this is exceeded, you receive the system error message TABLE BUFFER OVERFLOW. 96 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink TABLE/FILE size default user parameters MAXIMUM NUMBER OF TABLE ENTRIES (300) [ ] Specify the maximum number of entries that can be placed in the table buffer for any one procedure. If this is exceeded, you receive the system error message TABLE ENTRIES OVERFLOW. MAXIMUM WORKSPACE BUFFER SIZE (6000) [ ] Specify the maximum size (in words) for the workspace buffer. The workspace buffer holds the information for temporary variables used by an executing procedure. These variables include keys and arguments used to access files and any selection criteria. If this is exceeded, you receive the system error message WORKSPACE BUFFER OVERFLOW. MAXIMUM NUMBER OF WORKSPACE ENTRIES (300) [ ] Specify the maximum number of entries that can be placed in the workspace buffer for any one procedure. If this is exceeded, you receive the system error message WORKSPACE ENTRIES OVERFLOW. SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [ ] Enter YES to make the current changes permanent. Nothing is changed until you respond to this prompt. You can use this feature to review the current values. CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)? [ ] Enter “Y” to return to the SYSTEM parameters menu, or “N” to return to the Main Menu. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 97 CAPABILITY default user parameters MBF-UDALink CAPABILITY default user parameters This menu is only available to users who have installed the Profiles option. The additional prompts available when other options and interfaces have been installed are shown in the right column. CAPABILITY default user parameters —————————————————————————————— MBFMAINT ACCESS LEVEL (0) [ ] Views ACCESS LEVEL (0) [ ] FDGEN ACCESS LEVEL (2)[ ] PROCEDURE CREATION CAPABILITY (YES) [ ] PROCEDURE REVIEW CAPABILITY (YES) [ ] PROCEDURE MODIFY CAPABILITY (YES) [ ] MODIFY REDO CAPABILITY (YES)[ ] ADD FILES/FIELDS CAPABILITY (YES) [ ] PROCEDURE SAVE CAPABILITY (YES) [ ] PROCEDURE DELETE CAPABILITY (YES) [ ] Views CAPABILITY (YES) [ ] DC PowerHouse ACCESS CAPABILITY (YES) [ ] PH SORT PDL FILE MENUS (NO) [ ] PH PowerHouse SECURITY (NO) [ ] PH PDL FILE EQUATE (NO) [ ] PH SUPPRESS PDL REDEFINES (NO) [ ] PH PowerHouse PDL CAPABILITY (YES) [ ] PH HP Allbase/SQL ACCESS CAPABILITY (YES) [ ] AB Oracle SQL ACCESS CAPABILITY (YES) [ ] OR ODBC driver CAPABILITY (YES) [ ] OD FILE DEFINITION CAPABILITY (YES) [ ] FD FILE ACCESS CAPABILITY (YES) [ ] MBF SUBFILE ACCESS CAPABILITY (YES) [ ] PowerHouse SUBFILE ACCESS CAP. (YES) [ ] PH OUTPUT FORMAT MENU CAPABILITY (YES) [ ] ReportDesigner CAPABILITY (YES) [ ] RD FILE DOWNLOAD CAPABILITY (YES) [ ] OUTPUT FILE SAVE CAPABILITY (YES) [ ] COMPUTED FIELD CAPABILITY (YES) [ ] FIXED SELECTION CAPABILITY (NO) [ ] PROCEDURE ACCESS CAPABILITY (YES) [ ] PROCEDURE PASSWORD CAPABILITY (YES) [ ] PROCEDURE EXECUTION MODE (CHOICE) [ ] BATCH JOB SCHEDULING (YES) [ ] PRINT ENVIRONMENT CAPABILITY (YES) [ ] —————————————————————————————— SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [y ] CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)? [y ] This menu allows you to specify a user’s capabilities. These capabilities not only determine what actions a user is permitted to perform, but also determine the options displayed in menus, prompts and option text. Capabilities not granted are not displayed. 98 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink CAPABILITY default user parameters MBFMAINT ACCESS LEVEL (0) [ ] Specify an access level to the MBF-UDALink Manager program for a user not in either the DXSysMgr or DXAdmin groups. Enter: 0 no access 1 display catalog entries 2 audit catalog 3 use catalog transfer files 4 delete/recover catalog entries 5 all capabilities of a DXAdmin user Views ACCESS LEVEL (0) [ ] Specify an access level to Views for a user not in either the DXSysMgr or DXAdmin groups. Enter: 0 no access 1 display or review catalog entries 2 modify or copy catalog entries 3 create new catalog entries 4 delete catalog entries 5 all capabilities of a DXAdmin user FDGEN ACCESS LEVEL (2) [ ] Enter an access level to FDGEN for all users: 0 no access 1 compile FD source files 2 compile FD source files and de-compile FD dictionary files MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 99 CAPABILITY default user parameters MBF-UDALink PROCEDURE CREATION CAPABILITY (YES) [ ] Indicate whether the user can CREATE new procedures. If not, this option does not appear on the Main Menu. PROCEDURE REVIEW CAPABILITY (YES) [ ] Indicate whether the user can REVIEW procedures on either the screen or printer. If not, this option does not appear on the maintenance menus or catalog displays. PROCEDURE MODIFY CAPABILITY (YES) [ ] Indicate whether the user can MODIFY the specifications for procedures. If not, this option does not appear on the Maintenance Menu. MODIFY REDO CAPABILITY (YES) [ ] Specify whether this user has the REDO feature for editing entries in MODIFY procedures or Views. ADD FILES/FIELDS CAPABILITY (YES) [ ] Enter YES to allow the user to add more files or fields to a procedure during modification. Enter NO if you do not want to allow the user to add files and fields to a procedure during modification. Reporter administrators can create complete procedures in which the user can change the sort order, the totals, the selection, etc., without needing to understand databases, location, data set linking, etc. PROCEDURE SAVE CAPABILITY (YES) [ ] Indicate whether the user can SAVE procedures. If not, this option does not appear on the Maintenance menu and the prompt for saving procedures will not be issued. PROCEDURE DELETE CAPABILITY (YES) [ ] Indicate whether the user can DELETE procedures. If not, this option does not appear on the Maintenance menu. Views CAPABILITY (YES) [ ] Indicate whether the user can access any installed Views. If not, this option does not appear. PowerHouse ACCESS CAPABILITY (YES) [ ] Indicate whether the user can access PowerHouse dictionaries. If not, this option does not appear. 100 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink SORT PDL FILE MENUS (NO) [ CAPABILITY default user parameters ] Enter YES for files and data sets in a PowerHouse PDL dictionary to be alphabetically sorted on the selection menus. Enter NO to leave them in the stored order. PDL FILE EQUATE (YES) [ ] Enter YES to be able to file equate PowerHouse PDL files. Enter NO for the file equate to be disallowed. SUPPRESS PDL REDEFINE (NO) [ ] Enter YES to suppress PDL redefine fields. PowerHouse PDLCAPABILITY (YES) [ ] Indicate whether the user can access PowerHouse PDL files. If not, this option does not appear on the initial Create menu. HP Allbase/SQL ACCESS CAPABILITY (YES) [ ] Enter YES if this user is permitted access to HP Allbase/SQL (if installed on your system). Enter NO if this user is denied access. Oracle SQL ACCESS CAPABILITY (YES) [ ] Enter YES if this user is permitted access to Oracle SQL (if installed on your system). Enter NO if this user is denied access. ODBC driver CAPABILITY (YES) [ ] Enter YES if this user is permitted to use the ODBC driver functions (if installed on your system). Enter NO if this user is denied access. FILE DEFINITION CAPABILITY (YES) [ ] Indicate whether the user can select the Procedure Creation option to define the record layout for a flat file. If not, this option does not appear. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 101 CAPABILITY default user parameters MBF-UDALink FD FILE ACCESS CAPABILITY (YES) [ ] Indicate whether the user can access a file definition that has been saved If not, this option does not appear. MBF SUBFILE ACCESS CAPABILITY (YES) [ ] Enter YES if this user can access the definitions stored in a subfile for procedure creation. Enter NO if this user is denied access. PowerHouse SUBFILE ACCESS CAP. (YES) [ ] Indicate whether the user can access PowerHouse subfiles. If not, this option does not appear. OUTPUT FORMAT MENU CAPABILITY (YES) [ ] Indicate whether the user can select any of the available output file formats or must use the default assigned to the user’s logon user ID. ReportDesigner CAPABILITY (NO) [ ] Indicate whether the user can enter the ReportDesigner option. FILE DOWNLOAD CAPABILITY (YES) [ ] Enter YES to allow the user to download output files created by Reporter or host files using the File Transfer Utility Option on the Main Menu function keys. Enter NO to disallow this function. OUTPUT FILE SAVE CAPABILITY (YES) [ ] Enter YES to allow the user to save (and append to) output files on the server. Enter NO to disallow the save option. COMPUTED FIELD CAPABILITY (YES) [ ] Indicate whether the user can specify computational fields when creating a procedure. If not, this option does not appear in the prompts when a procedure is created. FIXED SELECTION CAPABILITY (YES) [ ] Specify whether the user can set up and modify fixed preset (predefined) selection criteria. This feature is typically used to set up a procedure that is modifiable by other users, yet will retain any fixed preset selection criteria to limit the associated data field values that can be retrieved. 102 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink CAPABILITY default user parameters PROCEDURE ACCESS CAPABILITY (YES) [ ] Specify whether the user can define a user access control parameter when saving a procedure. PROCEDURE PASSWORD CAPABILITY (YES) [ ] Specify whether the user can define a procedure access password when saving a procedure. PROCEDURE EXECUTION MODE (CHOICE) [ ] Enter <B[atch]> if the user can only run procedures in batch mode. Enter <S[ession]> if this user can only run procedures in session (interactive) mode. Enter <C[hoice]> if the user can choose batch or session mode at runtime. BATCH JOB SCHEDULING (YES) [ ] Enter YES to allow the user to be able to schedule any batch jobs set up by Reporter (such as schedule a batch job to be run at a certain time) Enter NO to disable this capability. PRINT ENVIRONMENT CAPABILITY (YES) [ ] Indicate whether the user can enter printer environment setup definitions for a report listing. SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [ ] Enter YES to make the current changes permanent. Nothing is changed until you respond to this prompt. You can use this feature to review the current values. CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)? [ ] Enter “Y” to return to the SYSTEM parameters menu, or “N” to return to the Main Menu. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 103 MODIFIABLE default user parameters MBF-UDALink MODIFIABLE default user parameters This menu is available to all Reporter users and is included for reference. MODIFIABLE default user parameters ———————————————————————————— HELP LEVEL (EXPERT) MENU COSMETIC LEVEL (2) MENU FUNCTION LEVEL (3) TERMINAL PRINTER DEVICE NUMBER (-4) TERMINAL PRINTER RESET CODE ( ) TEXT QUALIFIER (“) LIST COMPUTATIONAL ERRORS (NO) REMOVE DUPLICATE OUTPUT RECORDS (NO) RECORD COUNT INTERVAL (100) PC FILE DOWNLOAD DELAY (2) TERMINAL DISPLAY WIDTH (80) TERMINAL DISPLAY DEPTH (24) PRINTER PAGE WIDTH (132) PRINTER PAGE DEPTH (59) PRINTED REPORT SUMMARY PAGE (YES) COLUMN HEADINGS ON SPREADSHEET FILES (YES) EUROPEAN DECIMAL FORMAT (NO) PC FILE TERMINATION CODE (26) LOGICAL MENU ITEM NAMES (YES) SUMM. BY UNIQUE SORT FIELD VALUE (NO) DEFAULT TERMINAL EMULATOR (R) DEFAULT PC DRIVE ( ) DEFAULT PC FILE DIRECTORY ( ) —————————————————————————————— SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [ y ] CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER CHANGES (N/y)?.[y ] [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] This menu allows you to permanently alter the defaults for user modifiable parameters. The user can override these at runtime by entering “!” at any prompt to enter the Set Configuration Options menu. HELP LEVEL (EXPERT) [ ] Enter “NOVICE” if help messages should appear before each prompt. Enter “EXPERT” if help messages should appear only when requested. 104 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MENU COSMETIC LEVEL (2) [ MODIFIABLE default user parameters ] Enter a number corresponding to the level of features used to enhance the menus The levels are: 0 no special features (no dashed lines, all text left justified) 1 text centered 2 text centered with dashed lines 3 text centered with continuous lines (requires line drawing set) MENU FUNCTION LEVEL (3) [ ] Enter the level corresponding to the number of features used to control the terminal screen. The levels are: 0 scroll mode 1 screen refresh 2 screen refresh and memory lock 3 screen refresh, memory lock and function key labels The user can override this default at runtime by using the Set Configuration Options menu. TERMINAL PRINTER DEVICE NUMBER (-4) [ ] Specify the device number of the printer attached to the user terminal or PC. Enter: 0 no attached printer; when you indicate you want to print a report 1 it will automatically be printed on the system printer 4 external printer 6 internal printer The user can override this default at runtime by entering the Set Configuration Options menu and changing the default. If the attached printer setting should remain after a print operation, enter a negative sign before the device number. TERMINAL PRINTER RESET CODE ( ) [ ] Enter the escape sequence used as a reset code for local printers. This reset is performed at the end of a print file in case a special printer setup was in effect. The printer reset can be overridden by specifying a negative sign on the TERMINAL PRINTER DEVICE NUMBER. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 105 MODIFIABLE default user parameters TEXT QUALIFIER [ MBF-UDALink ] Enter the character that should enclose DIF string fields and labels. LIST COMPUTATIONAL ERRORS (NO) [ ] Enter YES if computational errors are to be reported as they occur during procedure execution. Enter NO if they are to be summarized at the end of procedure execution. REMOVE DUPLICATE OUTPUT RECORDS (NO) [ ] Specify whether duplicate records can be written to an output file. The user can override this default using the Set Configuration Options menu. RECORD COUNT INTERVAL (100) [ ] Enter the number of records that should be read while executing a procedure between updates of the “RECORDS READ, RECORDS PREPARED, RECORDS WRITTEN” message. If you enter a zero, the odometer does not report these messages. PC FILE DOWNLOAD DELAY (2) [ ] Enter the pause (in seconds) that Reporter delays before downloading data to the terminal. This is to allow you time to ready a printer attached to your terminal, or to set your terminal emulator to “log bottom” so that you can write a file to your disk. TERMINAL DISPLAY WIDTH (80) [ ] Enter the number of characters that should be displayed across the terminal screen. Support for 132-column terminals is provided. TERMINAL DISPLAY DEPTH (24) [ ] Enter the number of lines that should be displayed on one terminal screen. PRINTER PAGE WIDTH (132) [ ] Specify the number of characters that can be printed in a line on a printed report. PRINTER PAGE DEPTH (59) [ ] Enter the number of lines that should be printed on one page of a printed report. Note: A print page depth of 0 lines can be specified to eliminate page skips on output (such as mailing labels). If page heading and/or footing is specified, then only one per report will be printed. 106 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MODIFIABLE default user parameters PRINTED REPORT SUMMARY PAGE (YES) [ ] Enter YES to generate a procedure execution summary page at the start of a printed output report. This page contains the procedure name, the time it was run, record counts and selection values. COLUMN HEADINGS ON SPREADSHEET FILES (YES) [ ] Enter YES to generate column headings on spreadsheet output files (Lotus and Excel). Enter NO to create spreadsheets without column headings. EUROPEAN DECIMAL FORMAT (NO) [ ] Specify whether numbers with decimal places should reverse the comma and period. For example: 10,000.00 North American and United Kingdom format 10.000,00 European format PC FILE TERMINATION CODE (26) [ ] Enter the decimal number that corresponds to the termination code you want to have written as the last byte of any PC download file. A 0 (zero) can be used to indicate that no PC file termination code is required. LOGICAL MENU ITEM NAMES (YES) [ ] Indicate whether the actual (physical) names of fields and files should be displayed on menus, or whether the menu (logical) names they have been assigned should be used. SUMM. BY UNIQUE SORT FIELD VALUE (NO) [ ] Dictates how the values of built-in functions are calculated. If set to NO, each value encountered in a control break is used in the calculation. If set to YES, only unique values are used. For example, if you are reporting all sales to a range of accounts, you may want to count the number of accounts. Set this value to YES so that the count reflects the number of unique account numbers. DEFAULT TERMINAL EMULATOR (R) [ ] Enter an identifier from the list below for the default PC terminal emulator to be used. If a Reflection emulator is being used, refer to the Reflection manuals for additional information. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 107 MODIFIABLE default user parameters DEFAULT PC DRIVE ( ) [ MBF-UDALink ] Enter the letter for the PC drive to use as the default for downloads. It can be different from the default drive on your PC. For example, you can specify that files go to drive D: even though the PC default drive is C:. Enter a blank to use the default. DEFAULT PC FILE DIRECTORY ( ) [ ] Enter the name of the PC file directory to be used as the default for downloads. This directory will be added to any PC file names that do not include a directory. The directory must exist on the PC. Enter a blank if you want downloaded files to go to the current directory. SAVE NEW PARAMETERS IN CATALOG (NO/YES)? [ ] Enter YES to make the current changes permanent. Nothing is changed until you respond to this prompt. You can use this feature to review the current values. CATALOG HAS BEEN UPDATED MORE SYSTEM PARAMETER UPDATES (N/y)? [ ] Enter “Y” to return to the SYSTEM parameters menu, or “N” to return to the Main Menu. 108 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink FORMAT selection menus FORMAT selection menus 1: Output file format options To change the output format options available to the system or user profile being configured. 2: ODBC driver format options To change the ODBC driver options available to the system or user profile being configured. Customizing the output file format options menu Enter the number of the items you want the users to see on their output file format menus during the procedure creation process or at runtime, separated by commas. Enter ALL to allow all the items shown to be available. These choices can be configured at either the system profile or the user profile level. ENTER AN OPTION [1,2,12,10,28,16,26,29] NUMBER Selecting the output items shown above produces the Output File Format Menu shown below. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 109 FORMAT selection menus MBF-UDALink Customizing the ODBC driver format options Enter the numbers of the items you want the users to see on the ODBC application function keys when they press the ODBC driver function key in the UTILITY OPTIONS. Use commas to separate the numbers. Enter ALL to allow access to all the items shown. These choices can be configured at either the system profile or the user profile level. You can add additional items to the end of this list using the MESSAGE Catalog on the Main Menu of Maintenance. 110 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Setting up job stream files Running Reporter Setting up job stream files The script file to run Reporter will be similar to the following In this example the UNIX System Administrator has set up the Reporter environment according to the instructions in the Sample Environment Setup section later in this section. MBFUDAR <<endlabel >stdlist 2 test1 n s test2 n n 8 endlabel exit Note: To submit this script to batch we can use the & terminator in Unix such as $job4 &. It can be scheduled to run with the at command such as $at -f job4 -t timespec (See the “man at” command for more details.) One way to create the list of responses is to run the procedure online and stream it into the batch job queue, answering all the questions asked. After exiting Reporter, use an editor program to edit the dxsave file created by Reporter, removing any extraneous prompts such as errors and “/” responses. Surround the dxsave information with the job control statements shown and submit the job when required. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 111 Setting up job stream files MBF-UDALink Considerations for manual batch jobs When asked if you want to DOWNLOAD/SAVE/APPEND/EMAIL, always enter “S” because your desktop is not attached to your job. The file can then be downloaded manually with Reflection or another file transfer program. When created manually, a Reporter job file behaves as if it were run interactively and asks if you want to purge the old file or rename the new one. This will change the prompt sequences, causing the manual batch job to terminate. You can add the additional “Y” response to the PURGE FILE prompt, but this will cause problems if the file does not exist at runtime. A more reliable solution is to add a !PURGE statement to the job file just before the RUN statement. The PURGE command will remove the file if it is there and issue a warning if not In both cases, Reporter will create the file correctly. To re-use the extract file, enter NO to the prompt DO YOU WANT TO RUN IN BATCH (even though the job is obviously going to be run in batch). This will generate the RE-USE sequence of prompts. You can run as many procedures as you like in one job stream file. We suggest that each procedure be run from a separate execution of Reporter. The slight overhead of having to reload the program each time is more than offset if something fails in one procedure that terminates the job stream because other unrelated procedures following will not be executed. The prompt sequences are determined by the task you want to perform and the capabilities of the profile under which it is run. 112 • If the profile does not allow a choice of session or batch jobs, the RUN IN BATCH prompt does not appear. • If the profile does not allow the user to specify which system printer is to be used, the PRINTER DEVICE prompt does not appear. • Some prompts are related to the output type. The INCLUDE SUMMARY LINES prompt does not appear for files normally used on the server but does appear for file types normally used on the client, such as Lotus PRN and MS Excel, even when stored on the server for later downloading to the client. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Running Reporter from a user menu system Running Reporter from a user menu system Some organizations want their users to stay in a menu system and never see the system prompt. To allow end-user reporting, users must be able to run Reporter from a menu. Reporter can be run as a process. If custom profiles are used, the profile name can be passed to Reporter as part of an INFO string. When exiting from Reporter, the user returns to the calling menu. If you want a particular menu item to run a particular procedure you can include a PROC= parameter on the RUN statement. MBFUDAR PROC=proc3 Reporter output file formats A subset of the fields specified for input and computations can be selected for the final output format. This allows fields used for sorting, selecting, and computations to be “discarded” when the output file is produced. The format of the output file can be specified either explicitly when the procedure is created, or each time the procedure is run. This allows the same procedure to produce output files for a variety of target applications as well as producing a report. As the output can be reformatted many times, the overhead of producing multiple formats is considerably reduced. The formats usually saved on the HP 9000 include: ASCII files - All data is converted into “displayable” text form. This format is available in several pre-defined formats, such as comma delimited with quotes around the string variables, and can be customized to any type of delimiter and field surround. MBF-Subfile - A self–describing file format that can be generated and used by Reporter in multi– pass applications It contains a computer-generated user label describing the fields contained in the file Field definitions contain all attributes used by Reporter, including decimal precision, edit mask, menu name, etc. PowerHouse Subfiles - Files not normally defined in a PDL dictionary They are files used by PowerHouse programs and utilities. EBCDIC files - All data is converted into “displayable” text and is translated into the EBCDIC character equivalents used by computers such as IBM mainframes. The same formats that are available for ASCII files can be specified. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 113 Reporter output file formats MBF-UDALink Formats normally created for use on the client include: Lotus WKS,WK1, WK3 and WK4 - Spreadsheet format that can be retrieved directly by Lotus Approach. They contain field headings, summary lines, and dates formatted for Lotus display and calculation. SLK - Spreadsheet format used by PC-based programs such as Excel. XLS - Excel’s internal spreadsheet format. Mail merge - Mail merge format for merging data selected from the HP 9000 into letters written with MS Word or Word Perfect. DIF files - The standard “self-defining” ASCII text file used by many PC-based programs. dBase PRN - For importing data to dBase. dBase DBF - A dBase database file. XML - Extensible Markup Language. A flexible means of creating common information formats to be used to retrieve data. RTF - Rich Text Format. The RTF standard provides a format for text and graphics interchange that can be used with different output devices, operating environments, and operating systems. RTF uses the ANSI, PC-8, Macintosh, or IBM PC character set to control the representation and formatting of a document, both on the screen and in print. With the RTF standard, you can transfer documents created under different operating systems and with different software. HTML - Hypertext Markup Language. A system of marking up, or tagging, a document so that it can be published on the World Wide Web. Documents prepared in HTML include reference graphics and formatting tags. You use a Web browser (such as Microsoft Internet Explorer) to view these documents. PDF - Portable Document Format. A package definition file is a text file that contains all the information necessary to create a software distribution package for an application and create all the programs in the package. 114 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Profiles Profiles Option Profiles The Profiles option expands the capabilities of MBF-UDALink. These enhancements allow you to customize items such as: • whether user profiles are to be used • which system printer to use • the locations of Procedure and View catalogs • whether function key settings are to be restored during exit • the capabilities that users can access • the menu text, prompts, and error messages to be displayed General points about profiles • All of the programs use menus and prompts that conform to the standard user interface. • Help is available by entering “?” or “??”. • When a user profile is created, it can be assigned default user parameters based on the current system-wide parameter settings, or parameters copied from another user profile. • A user profile can also be “attached” to a user class where changes to the class automatically change the user profile. • To customize a user profile you must select the Change option once you have created a user profile. • Changes made to system-wide parameters do not affect existing user profiles or classes. User profile strategies The setting in the system profile (except for the installation parameters) can be set user-by-user. The settings become the defaults when a new user profile is created. The user profile name is based on a user-specified name. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 115 Profiles MBF-UDALink There are two choices for this user-supplied name: Custom name - An 8-character name supplied each time Reporter is run. “*” - A profile to be used if no profile is found for a name. The considerations are: • If custom names are used, a password should be assigned to all profiles where security is important because anyone who can run MBF-UDALink can enter any custom name. The profile password provides security where required. • Once user profiles have been set up, all users requiring access to MBF-UDALink must have a profile. Only set up profiles you need so there is less maintenance if you need to make changes. Also, only set up one or two of each different type until you are sure you are creating them the way you will want them; this ensures less maintenance. • If a group of users with unique profile names all have the same requirements for profile settings, use $CLASS type profiles. • If all the users in a particular application require the same settings, use a “missing” profile indicator, the “*”, as the user ID. One alternative to setting up a unique profile for each user is to define a “lowest level” profile, called “*.*”, which allows only the most basic capabilities. A user without a specific profile will always be able to at least run procedures in a particular procedure catalog. Care must be used entering custom profile names if there is a “*.*” profile because you get the “*.*” profile if you spell your custom name incorrectly. • When setting up $CLASS profile, you must add at least one user profile to it in order to use it. Only add one or two users to each $CLASS while testing, to make sure you have them correctly set up before adding all the rest of the users to each class. • As System Administrator, turn profile types to “CUSTOM” for testing. You can then test most of your profiles without having to sign off and onto the various users. Batch job strategies There are several choices for running a procedure: • interactively as part of the session • batch job automatically set up by Reporter • user-specified choice at runtime • as part of a job file set The default capability is to run procedures interactively. To allow users to submit jobs into the batch job stream from Reporter, set the INTERACTIVE BATCH MODE parameter to YES in the 116 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Profiles installation parameters. Each user has a PROCEDURE EXECUTION MODE parameter as part of the user profile, to control access to the batch submission process. The choices are: BATCH - Always submit the procedure to a batch job. SESSION - Always run interactively. CHOICE - Ask at runtime how the procedure is to be run. An interactively submitted job is always run under the same user ID as the person submitting it. When the INTERACTIVE BATCH MODE is set to YES, you can specify when the job is to run. Some customers prefer to run all procedures in batch. This makes report design impossible because you must have actual output from a procedure with which to work. For users requiring access to report design, set CHOICE as the batch job strategy and alter the settings of the number of records the user can read and/or write in the TABLE parameters for the user’s profile. Setting the MAXIMUM FILE ACCESS RECORDS to 200 (for example) allows 200 records to be read and processed online. This should be plenty for use in Report Design and may even be enough to complete some reports where keyed reads are possible. This technique is also useful to get a sample of the type of data being selected before submitting the complete extract to the batch job queue. In this case, the MAXIMUM ACCESS RECORDS IN BATCH must be set to a value other than zero, or the batch limit will be the same as the online limit. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 117 Batch job submission MBF-UDALink Batch job submission If the INTERACTIVE BATCH MODE in the installation parameters is set to YES and the PROCEDURE EXECUTION MODE in the capabilities parameters is set to CHOICE or BATCH, procedures can be streamed to run as batch jobs. Depending on procedure specifications, some of the following prompts may occur when a procedure is run. Note: If you are going to run a procedure as a batch job, you must save it first. If the procedure creates summary lines and the output format you selected supports them, you can specify whether you want them in the output file. NAME FOR GENERATED FILE [ ] Because the job stream is not connected to your terminal, the output file must be saved on the HP 9000 and downloaded manually. When Reporter has all the information it needs to run the procedure, it prepares a job stream file and launches it into the batch job stream. SCHEDULED FOR [ ] At the prompt, enter the time the batch process is to run. 118 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Maintaining USER ACCESS profiles Maintaining USER ACCESS profiles User Access Profiles are set up in a centralized user profile catalog using MBF Maintenance The Views Program controls access to records based on sets of values for particular fields assigned on a user ID-by-user ID basis. For example, Department A is assigned user ID Dept A and can only access ACCOUNTS in the range 0100 to 0500. Department B is assigned the user ID Dept B and can access ACCOUNTS in the range 0300 to 0800. The complete user profile facility will be available if the Profiles option is installed. The definition of which fields are to be used to control access can be added directly into a procedure using the SELECT BY prompt, if the Profiles option is installed. To enable this capability, the user profile CAPABILITY must be turned ON and the FIXED SELECTION CAPABILITY must be set to YES in the user profile of each user that can define user access security values in procedures. The FIXED SELECTION CAPABILITY must be set to OFF in the user profiles of other users. When a procedure including user profile security is run, Reporter: • accesses the user profile catalog for the logon user ID • determines the range or set of values the user is allowed to read for the secured fields • automatically excludes any record that contains the field with a value not in the specified set of values for the user running the procedure • returns the message: ACCESS DENIED, if the field has no security values for this user ID When defining security values for user profiles to be used with the ODBC driver, ensure profiles with account names of “$ODBC” are used. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 119 Maintaining USER ACCESS profiles MBF-UDALink USER ACCESS profile maintenance 1: DISPLAY secured fields Displays all fields that have security access values defined for them for this user ID. 2: ADD secured fields Allows you to add field names and ranges of values to the list of secured fields for this user ID. 3: DELETE secured fields Allows you to delete security definitions for fields for this user ID. DISPLAY secured field All fields with security definitions for this user are displayed. 120 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Maintaining USER ACCESS profiles ADD secured field Any name can be provided and any number of fields can have security values. This allows you to define security before building your database definitions. The SELECTION VALUE(S) follow the same rules as selection values in Reporter procedures. Only one set of selection security values can be entered for each field for a given user ID. Define the complete set of values this user may need for the field name shown. This is a security measure and is not normally a method of controlling record selection. The user should use the normal selection techniques of MBF-UDALink to control selection of records within the total set of records available. DELETE secured field Enter the name of the field for which security values for this field are to be removed. This procedure only removes security for the user profile currently specified. As with all catalog entries, you are asked to confirm the deletion. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 121 USER ACCESS security in procedures MBF-UDALink USER ACCESS security in procedures To add user profile security directly to a procedure: • Install the Profiles option. • Set the USER CATALOG PROFILES ENABLED prompt to YES. • Turn the FIXED SELECTION CAPABILITY setting to YES for each user allowed to build in user security to the procedures. • Ensure the FIXED SELECTION CAPABILITY setting is NO for all other users. • When creating procedures, add the data field to be secured to the SELECT BY prompt. Follow the menu number of the field with the letter “U”, as in “5U”. The procedure checks the user profile for the logon user ID and only selects records containing values in the range indicated in the profile. If no values are specified for this user ID, the message ACCESS DENIED is displayed and the procedure is terminated. 122 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink User security fields User security fields This example shows the effect of user access profile security when built into a procedure. The MBF Manager program, MBFMAINT, has been used to build user profiles for three users: raymond, george and bill. The fields with security definitions for each of the users are shown below. User Secured Field Report User: raymond page 1 of 1 —————————————————————————————— REGION = * LAST-NAME = * EXPIRY-DATE = * BALANCE * = —————————————————————————————— User: george page1 of 1 —————————————————————————————— REGION = MO OR PA TYPE = STU OR IND LAST-NAME = M EXPIRY-DATE = 950701 to 950731 BALANCE > 20 = —————————————————————————————— User: bill page1 of 1 —————————————————————————————— REGION = CE or EA RAN-DATE = 950401 TO 950630 TYPE = STU OR CORP LAST-NAME = >M EXPIRY-DATE = 950101 to 951231 BALANCE >0 = —————————————————————————————— User access security is specified in the SELECT BY prompt of a procedure. The following examples show the security field defined in the procedure. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 123 User security fields MBF-UDALink When this procedure is run by each of the three users described on the previous page, MBF-UDALink will automatically look in the user profile to determine which records each user can access. SELECT BY [7U ] If the select criteria was entered as SELECT BY [7U] raymond will get the message ACCESS DENIED even if he created the procedure because he does not have any security defined. george will see only those records where the TYPE code is STU or IND. bill will see only those records where the TYPE code is STU or CORP. SELECT BY [5,2 ] If the select by criteria was entered as SELECT BY [5,2], at runtime, the user will be prompted for a range of values for the REGION code. Because user access was not requested for this field, any region code can be accessed with this procedure. The user restrictions on BALANCE will apply. raymond will see all records in the REGION code range requested. george will see only records where the BALANCE exceeds $20. in the REGION code requested. bill will see any record with a positive BALANCE in the REGION code range requested. 124 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Changing an output format Customizing the Output File Format menu From time to time changes are made to the Output File Format menu to include new formats. Changing an output format Run MBF-UDALink Manager and choose option 4: MESSAGE CATALOG. The output formats are in MESSAGE TYPE 7 and the message numbers correspond to the output format numbers. To change item 17 to “Powerhouse format 7”: Note: When you run an Reporter program with message numbers displayed (use PARM=20), the message type is the first number shown in parentheses at the end of each line. The Output Format Menu would be displayed as Selection Menu - Item Text: The current menu text will be displayed. Enter the new text to be displayed on the menu. Selection Menu - Target Part(s): The current target part format will be displayed. Enter the new type at the prompt. There are two types of target parts: specific and custom. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 125 Changing an output format MBF-UDALink Specific formats TARGET PARTDescription DXSF 0 MBF-UDALink Subfile DBF DBASE .dbf data base PRN ASCII, comma delimited, strings in quotes DIF Data Interchange Format file REPORT Reporter report to screen or printer WP5.0 Word Perfect/MSWord mail merge format WK1 Lotus 1-2-3 .WK1 format spreadsheet PHSF 7 PowerHouse format 7 sequential subfile SYLK Excel SYLK format spreadsheet Custom formats Note: One item can be picked from each group and combined into a custom file format. TARGET PARTDescription ASCII/BINARY/EBCDICfile format COMMA/TAB delimiter to be used SD Self-describing file format LEFT Numeric formats Z and 9 are left adjusted in BINARY files QUOTES Text strings are enclosed in quotes For example, a target part of ASCII, COMMA,QUOTES would generate a file identical to the specific format PRN. 126 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink FDGEN Overview FDGEN – File Definition utility FDGEN Overview Files not already defined in a dictionary must be defined in a File Definition (FD) file. This definition can be created as part of the Reporter run or with the File Definition (FDGEN) program. When defined as part of the Reporter run, a separate FD file is created for each file. This can result in many small FD files being created, each of which must be documented and its name remembered when the user creates a procedure. The source file for a FDGEN program can contain the source for any number of these file definitions, so the user has only one name to remember. To use this capability: • Create an editor file with file description statements in the format described below. • Run the FDGEN utility program to compile the definition. • Specify the name of the compiled FD file when prompted for the FD file name during the CREATE process. • Repeat the above steps to add to or modify the definitions in the FD file. If the Profiles option is installed, this program is now controlled by a system/user profile capability switch. The settings for the switch are: 0 No access to the program 1 Can compile source files into a file definition 2 Can compile source in a file definition file and decompile file definitions into source files The default is 2. If the Profiles option is not installed, this capability cannot be changed. Users will have the same access to this program they had in previous versions. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 127 FDGEN Overview MBF-UDALink If user profiles are turned on, the FDGEN screen will be similar to the following: If the user does not have the required capability, an error message is displayed: ERROR: USER DOES ACCESS CAPABILITY PROGRAM (SYSTEM 79) NOT TO HAVE THIS Note: It is possible to have a situation where no user can run FDGEN. The System Administrator can correct this by creating the appropriate user profiles. Note: As of 6.01, when an FD file containing an Eloquence data base is decompiled, the source file will not include the password. A “,PASS=” parameter is added to the BASE statement. This is ignored when the source file is recompiled, unless a password is added. This is independent of the presence of Profiles. 128 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink FDGEN syntax FDGEN syntax The file description statements must follow these rules: BASE MAST DETL ITEM FILE FILL base-name[,PASS=password] [menu-name=] set-name [menu-name=] set-name item-name [count] type(bytes [, [digits] [,decimals]) [menu-name=] file-name[.directory ] X(bytes) Where: BASE MAST DETL FILE ITEM FILL Eloquence data base definition statement Eloquence manual or automatic master definition statement Eloquence detail definition statement file definition statement field definition statement filler field definition statement [ . . ]= optional syntax base-name set-name menu-name file-name item-name count type bytes digits decimals format an Eloquence data base name (1/6 characters) an Eloquence data set name (1/16 characters) file name to be shown on menu (1/20 chars.) file name (with path) field name (1/20 chars.) occurrence count data type field storage length in bytes numeric field display digit count numeric field decimal places The date subtype formats available are: YYMMDD, MDDYY, MMDDYYYY, DDMMYY, DDMMYYYY, YYMM, YYYYMM, MMYY, YYDDD, YYYYDDD, DDDYY, DDDYYYY, A few general rules need to be considered: • Statements are free format, one per editor file line. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 129 FDGEN syntax MBF-UDALink • Only fields required must be defined. (Fillers can be inserted.) • For Eloquence tables, all bytes in the record must be accounted for even if they aren’t required. The password used must give access to all the fields in the table even if they are masked by using FILL commands. • Items shown in capitals must be entered in capitals in the file. • Blank lines are allowed to improve readability. • Comment lines start with an “*” in column 1, followed by the desired comment text. • To use a date subtype, add “DATE=<date subtype>” to the ITEM definition statement. Sample editor file BASE TABLES,PASS=TABLES MAST AreaCodes=AREA-CODES ITEM AREA-CODE K(2),KEY ITEM STATE-CODE X(2),KEY ITEM TIME-ZONE X(2) MAST Countries=COUNTRIES ITEM COUNTRY-CODE X(4),KEY ITEM COUNTRY-NAME X(24) ITEM CAPITAL X(20) ITEM POPULATION I(6) ITEM AREA I(4) DETL States=STATES 130 ITEM COUNTRY-CODE X(4),KEY ITEM STATE-CODE X(2),KEY ITEM STATE-NAME X(20) ITEM CAPITAL X(20) ITEM POPULATION I(6) ITEM AREA I(4) ITEM POPULATION I(6) ITEM AREA I(4) MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Running FDGEN Running FDGEN At the Unix prompt, type /uda/fdgen Decompiling FD files If the files are defined in separate FD files, control of the source may become a problem, or the original source files may have been lost as “ownership” of the files and data changes over time. To allow users to combine all FDs into one file (or at least a smaller number of FD files), the FDGEN program allows decompiling of existing compiled FD files into source statements. The source file can be edited to: • add the “,DATE=<format>” designator to date fields • add any standard FDGEN features not entered when the file was created To perform this decompile: At the Unix prompt, type uda/fdgen PARM=1 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 131 Running FDGEN MBF-UDALink This is a sample dialog to decompile a series of FD files. Use your editor to enhance the statements as described under Syntax earlier in this chapter. Enter the name of the file to be created to hold the FD source statements. Only the available keys are displayed. A syntax error occurs if the original FD is used because there are no key fields identified. Re-creating and using the new FD to modify the procedure solves the problem. APPEND TO EXISTING FILE (Y/N)? [y ] If a file with the name entered already exists: Enter “Y” to append the file definitions or “N” to purge the existing file and generate a new file. USE FD FILE NAME [ ] Enter the name of an existing FD file to be converted into source statements. Enter as many FD file names as you want. If a file of that name is not found, you get the message: ERROR: FD FILE, File not found (SYSTEM 112) USE FD FILE NAME [ ] Certain earlier versions contain codes not readily convertible to current source. These records can contain “,DATE=????” at the end of each line. Remove these parameters with your editor or change the date to a valid date format. If you re-compile without correcting these parameters, you get error messages of the form: ERROR SHOWN AT SOURCE RECORD NUMBER 44 ERROR SHOWN AT SOURCE RECORD NUMBER 45 If the names do not include a directory name, they are assumed to be located in the logon directory. USE FD FILE NAME [ ] To stop decompiling FD files, press Return at file name prompt. The source file is now ready for editing and/or re-compiling. 132 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 Running FDGEN 133 Running FDGEN 134 MBF-UDALink MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Customizing and Maintaining MBF-UDALink Maintenance Customizing and Maintaining MBF-UDALink This section shows you how to customize your installation using the MBF-UDALink Manager program. This program allows you to perform procedure catalog maintenance and change the system profile. It is available to all MBF-UDALink account administrators. The menus shown describe all the prompts that may be seen when running MBF-UDALink Manager. You will see some prompts only if a particular MBF-UDALink Option has been purchased. These prompts are indicated by a two-character code in the menu to the right of the prompt. To run this program you normally enter: :RUN /opt/mbfoster/uda/mbfmaint General points • To change system-wide parameters you must be logged on as the user “mbfoster” or as a user in the DXSysMgr group, which is the System Administrator. • To perform procedure catalog maintenance you must be logged on as above or as a user in the DXAdmin group, which is the Account Manager. • All of the programs use menus and prompts that conform to the standard user interface described in the MBF-UDALink User Reference Manual. • Two levels of online help are provided while running the MBF-UDALink Manager program. From any prompt you can enter “?” to display brief help messages or “??” to display a full help message. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 135 Customizing and Maintaining MBF-UDALink MBF-UDALink Catalog maintenance Currently, there are five catalogs directly related to the maintenance program: 136 • DX0YCAT stores messages used by MBF-UDALink Manager. This catalog must be pointed to by the environment variable DX-DIRECTORY. • DX0XCAT stores messages used by MBF-UDALink and contains the system profile. This catalog must be the same as above. • DX0ECAT contains the procedures saved by the users. A procedure catalog can be located in any directory. • DX0DCAT contains the data views created with the Views program. A data view catalog can be located in any directory, although centralized data view catalogs are also valid. These catalogs will only be available if the Views Option has been purchased. • DX0UCAT contains the user profiles which describe the MBF-UDALink capabilities of each user or group of users. This catalog must be pointed to by the environment variable DX-DIRECTORY. DX0UCAT will only be available if the Profiles option has been purchased. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Maintenance Function menu Maintenance Function menu This is the Main Menu for MBF-UDALink Manager, which allows you to maintain system parameters, user profiles, and procedure catalog and Views. This is the first menu you will see when you run the MBF-UDALink Manager program when logged on as an administrator. What this menu actually looks like depends on the options you have installed. All menu sequences eventually return to this menu. Account managers from other accounts, and any other users authorized to use this program will not be able to change the system profile. Note: All prompts that can occur in MBF-UDALink Manager are shown in the following sections. Where a prompt requires that a particular option be installed, it is flagged with one of the twocharacter codes shown below: AB Allbase/SQL OD Driver DC Views OR Oracle/SQL FR French Catalog RD ReportDesigner MP Profiles SP Spanish Catalog 1: USER profile catalog Select this option to set up, update, or review Reporter user profiles. 2: PROCEDURE catalog Select this option to maintain procedure catalogs. This includes compacting catalogs and creating or importing procedure transfer files. Procedure transfer files contain procedures that you may want to copy from one procedure catalog to another. This allows you to copy procedures across directories and machines. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 137 Maintenance Function menu MBF-UDALink 3:MBF-UDALink Views Select this option to maintain Views. This option will appear only if the Views option has been installed. (See the section pertaining to Views.) 4: MESSAGE catalog Select this option to customize the prompts and error messages that appear when running Reporter. 5: SYSTEM profile Select this option to alter the system-wide parameters. Any change you make to default user parameters will not affect user profiles that currently exist. 8: EXIT Select this option to terminate MBF-UDALink Manager and return to the UNIX shell. 138 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink User profile catalog maintenance User profile catalog maintenance Note: This menu is only available if the Profiles Option is installed. 1: DISPLAY existing user profiles Select this option to display a list of current profiles. 2: CREATE a new user profile Select this option to identify a new user. This user can be assigned the default system parameters, or the parameters can be copied from another user profile. 3: CHANGE an existing user profile Select this option to alter the parameters for a user. 4: DELETE an existing user profile Select this option to indicate that a user is no longer valid. 5: AUDIT/COMPACT catalog entries Select this option to compact the catalog, which physically removes all deleted user profiles. 7: RETURN Select this option to return to the Main Menu of Maintenance. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 139 User profile catalog maintenance MBF-UDALink DISPLAY existing user profiles Enter the name match for the user profiles you want to display or press Return to display all user profile names. To see all profiles for an application group, enter a blank in the user ID match, and the application group you want to see in the application name match. The profiles are listed alphabetically by user id. Note: The system administrator can display all user profiles. To print the user profile report, press the PRINT (F7) function key. 140 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink User profile catalog maintenance CREATE a new user profile This menu allows the System Administrator to create new user profiles. USER name [ ] Enter a valid user name or user class name. A user name must start with an alphabetic character and contain only alphanumeric characters. A user class name must start with a “$” and contain only alphanumeric characters. Both user names and class names are case sensitive. user name - Enter the user ID which will match the user ID entered at logon. It can be any name up to 8 characters in length. Use an asterisk - “*” - to indicate a “missing” profile. Any user ID that is not specifically assigned will receive this profile. ODBC user ID - Enter the user ID corresponding to the one in the ODBC data source you want to use to identify the user to Reporter security. {class} - Enter a name to refer to a group or class of users that all have the same parameters. A class name can have up to 8 alphanumeric characters beginning with a dollar sign (“$”). Class names are not used directly in establishing the profile to be used. Application GROUP for user [ ] The application group is normally blank. If the user profile is to be used with ODBC driver (formerly ODBCLink), enter “$ODBC”. This prompt does not appear if the user ID is a class name. UNIX user group - Enter the UNIX user group name that will match the name used in the logon command. asterisk “*” - Indicates the “missing” profile. Any group name that is not specifically assigned will receive this profile. $ODBC - Enter this code if the user profile is to be used with the ODBC driver. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 141 User profile catalog maintenance USER PASSWORD [ MBF-UDALink ] Enter a password that must be entered before this profile can be used with Reporter. Profile passwords are not supported for user profiles used by the ODBC driver. If passwords are required, use the password in the data source. <CR> to copy default parameters ATTACH/COPY Profile from USER NAME Application GROUP name for user [ [ ] ] To copy the parameters from an existing user profile, enter the profile name of an existing profile or a {class} name; otherwise, the default system parameters are used. These values follow the same rules as the user and group names described above. Note: You will be notified that the catalog has been updated and given the option to create additional user profiles. CATALOG HAS BEEN UPDATED MORE USER PROFILE CREATES (N/y)?[n ] 142 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink User profile catalog maintenance CHANGE an existing user profile This menu allows you to alter the parameters that have been assigned to a particular user profile. This function is a two-part screen: the first menu asks for the user you want to alter and the second screen presents the options that can be altered. The System Administrator can change any user profile or class. Once a user profile has been established, it is unaffected by changes made to the default user parameters or capabilities. To change the settings for a user profile, you must make them explicitly. Changes made to a class will, however, change the profiles associated with it. USER name [joe ] Application GROUP for user [user ] The responses to these prompts are the same as for those used in creating a user profile. USER PASSWORD [ ] Enter a new password or press <RETURN> to keep the existing password. Enter at least one blank to remove a password. ATTACH profile to USER class [ ] Enter a class name to attach this user profile to a class rather than keeping its own parameters. Press Return to retain the class. Enter at least one blank to remove the attachment to a class. These parameters correspond to the parameters in the system profile, which are discussed later in this chapter. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 143 User profile catalog maintenance MBF-UDALink DELETE an existing user profile This menu allows you to delete a user profile or class. Enter the name of the profile or class to be deleted. This name must be in the user profile catalog. You are asked to confirm the deletion. Note: You cannot delete a class with user profiles attached. Note: You are notified that the user or class has been deleted and given the option to delete additional user profiles. AUDIT/COMPACT Catalog entries The user profile compacts when full. catalog automatically If the catalog develops inconsistencies, use this menu to correct the profiles and compact the catalog. Completed Audit Phase (1) - Checks the accuracy, completeness, and position of the catalog entry list. Completed Audit Phase (2) - Checks the linkages between the catalog entry list and the catalog entries themselves. Completed Audit Phase (3) - Checks the structural integrity of each catalog entry. Catalog Entry Count Summary - Shows the number under each status, together with the total and maximum entry count before compaction/expansion needs to take place. A catalog entry can have one of the following statuses: • 144 Active – Currently available for use. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink User profile catalog maintenance • Busy - Temporarily unavailable because maintenance is in progress. • Deleted - Has been deleted but can be recovered with the UNDELETE catalog maintenance function. • Purged - Not used in user profile catalogs. Catalog Compaction (N/y)? [ ] Enter “y” to erase all deleted and purged catalog entries. A summary of the compaction is displayed. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 145 PROCEDURE catalog maintenance MBF-UDALink PROCEDURE catalog maintenance Enter the name of the directory that contains a procedure catalog you want to work with. You must have the appropriate permissions to modify the catalogs. Procedure catalogs are named DX0ECAT. 1: DISPLAY catalog entries This option lists all of the procedures in the specified catalog. This list will show all procedures in the catalog, who created them and when, who can access them, and their description. 2: AUDIT/COMPACT catalog entries This option audits the catalog for procedures containing inconsistencies and, optionally, allows the account administrators to remove all logically deleted procedures from the catalog. 3: (UN)DELETE entries from catalog This option allows you to logically delete procedures from the procedure catalog. You can also reactivate (undelete) a procedure deleted previously, provided you have not compacted the catalog using option 2 of this menu. 4: CREATE a transfer file This option allows you to create a file containing procedures to be transferred to another procedure catalog. 146 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink PROCEDURE catalog maintenance 5: IMPORT a transfer file This option allows you to load procedures from a transfer file into this procedure catalog. This procedure must have been transferred using option 4 above. 7: RETURN This option returns you to the Main Menu. DISPLAY catalog entries NAME MATCH [ ] To limit the list of procedure names, enter a name match pattern. Enter <RETURN> to see all procedures, or enter a name match pattern. CREATOR NAME [ ] Enter <cr> to display entries of all creators in the catalog or enter a specific creator (user) name to see just his or her entries. SHOW DELETED PROCEDURES (N/y)? [y ] Enter “Y” to list all procedures deleted since the last compaction of the procedure file. SHOW PASSWORDS (N/y)? [y ] Enter “Y” to show passwords for procedures. This is the only way to access password information for user procedures. As MBF-UDALink Manager can only be run by an administrator, a user who forgets a procedure password must contact the account manager. nn ENTRY FOUND The number of procedures matching the NAME MATCH entered is displayed. Display Selected Entries (N/y)? [Y ] Enter “Y” to display the Procedure catalog report for the procedures found. Enter “N” to make a different selection. Procedures are listed alphabetically by name. Each entry requires three screens when displayed at a terminal, but only one page when sent to a printer. (See below for an explanation of codes and columns.) MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 147 PROCEDURE catalog maintenance MBF-UDALink The TY column contains the following information: D - Produces a formatted file for saving on the HP 9000 or downloading to the desktop. R - Produces a report. U - Prompts the user at runtime for the output file format. X - Appearing under the TYP heading, indicates the procedure has been deleted. It can be reactivated (undeleted) using option 3 of the Procedure Catalog maintenance menu. The AC column contains the following information: C - If only the creator of a procedure may use it. U - If another user is authorized to use it. A - If all users may use it. The date a procedure was created, last modified, and/or last accessed are shown. The Count indicates the number of times the procedure has been run. The creator of each procedure is shown along with the designated user, if appropriate. Passwords are shown if requested by the prompting sequence for the catalog report. If “NO” was entered at the prompt, no passwords are listed. Where passwords exist, asterisks (*) are printed. The description of the procedure that is entered when the procedure was saved is displayed. At the bottom of each page of the Procedure Catalog Report are shown: 148 • directory of the displayed catalog • the user ID of the creator being displayed; in this example, all creators in this catalog are shown • the PATTERN MATCH on the procedure names being displayed; in this example, all procedures are displayed MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink PROCEDURE catalog maintenance AUDIT/COMPACT catalog entries Procedure catalogs can be set to automatically compact when full. All logically deleted procedures are physically removed, freeing as much space as possible for new procedures. Some users prefer to suppress automatic compaction because they want to retain the logically deleted procedures in case an error is discovered in the active version. This option is used to manually compact the catalog. This option automatically performs three levels of audit on the procedure catalog. Should any inconsistencies be found, a message is displayed and you are given the option to have MBF Maintenance correct the error. You can then continue auditing. An example of an audit recovery follows. Note: You are informed of the total entries erased and retained. Completed Audit Phase [1 ] Checks the accuracy, completeness, and position of the catalog entry list. Completed Audit Phase [2 ] list and the catalog entries themselves. Checks the linkages between the catalog entry Completed Audit Phase [3 ] Checks the structural integrity of each catalog entry. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 149 PROCEDURE catalog maintenance MBF-UDALink Status of Catalog entries Active - Currently available for use. Busy - Temporarily unavailable because maintenance is in progress. Deleted - Has been deleted but can be recovered with the UNDELETE catalog maintenance function. Purged - Permanently unavailable; an active entry has been replaced by an entry that was recovered using the UNDELETE catalog maintenance function. Catalog entry count summary - Shows the number under each status, together with the total and maximum entry count before compaction/ expansion needs to take place. Two examples of an audit recovery follow: Example 1 AUDIT/COMPACT catalog entries ———————————————————————————— LISTCOUNTRY: CATALOG ENTRY DATE/TIME POSITION ERROR COMPLETED AUDIT PHASE [1 ] CATALOG ERRORS= 1 CATALOG REPAIR (N/y)? [y ] CONTINUE AUDIT (Y/n)? [y ] AUDIT/COMPACT catalog entries ———————————————————————————— COMPLETED AUDIT PHASE [1 ] COMPLETED AUDIT PHASE [2 ] global: TOTAL ACTIVE PROCEDURE COUNT ERROR COMPLETED AUDIT PHASE [3 ] CATALOG ERRORS= 1 CATALOG REPAIR (N/y)? [y ] CONTINUE AUDIT (Y/n)? [y ] 150 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink PROCEDURE catalog maintenance Example 2 AUDIT/COMPACT catalog entries ———————————————————————————— COMPLETED AUDIT PHASE [1 ] COMPLETED AUDIT PHASE [2 ] COMPLETED AUDIT PHASE [3 ] CATALOG ENTRY COUNT SUMMARY: TOTAL = 24 ACTIVE = 11 BUSY = 0 DELETED = 13 PURGED = 0 MAXIMUM = 200 CATALOG COMPACTION (N/y)? [y ] TOTAL PROCEDURES ERASED= 13 TOTAL PROCEDURES RETAINED= 11 CATALOG COMPACTION (N/y)? [ ] Enter “y” if you want to compact the catalog. This erases all deleted and purged catalog entries; you are then shown the results of the compaction. Enter “N” if you want to retain all procedures. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 151 Catalog compaction considerations MBF-UDALink Catalog compaction considerations Three types of catalogs can contain data created by users: Procedure, View and user profile. The size of each type of catalog is determined by an installation parameter indicating the maximum number of “average” entries, which in turn determines the number of disk blocks required. Catalog entries are not physically deleted when modified or deleted; they are marked for deletion at the next compaction of the catalog. These two factors can cause a CATALOG FULL message when the catalog review report shows fewer than the maximum number of entries. If several very large entries are saved, the catalog disk space (based on average-sized entries) may be exhausted before the maximum number is reached. A “deleted” entry is created when a catalog entry is modified (the old version is flagged as deleted) or deleted. This “deleted” entry is retained in the catalog until the next catalog compaction. The System Administrator (SA) or Account Administrator (AA) can retrieve the entry by UNdeleting it with MBF Maintenance. If there is a current active entry of the same name, it will be purged (after an appropriate request for confirmation from the SA). These purged entries are no longer available and are removed when the catalog is compacted. There are three compaction strategies which must be the same for all catalog types: LIMIT - When either the maximum number of entries or the maximum number of sectors is reached, a message is displayed. The SA or AA must use MBF Maintenance to manually compact the catalog. If the catalog is full of ACTIVE entries, either some must be deleted or the size of that type of catalog increased. COMPACT - When either of the limits is reached, the catalog is automatically compacted. Since this removes all deleted and purged entries, this setting should be used only if old entries are not likely to be required or if a backup copy is easily obtained. If the catalog is full of active entries, it will EXPAND. EXPAND - When either of the limits is reached, the catalog is automatically expanded by 10-20 percent, depending on the size of the catalog, in a multiple of 5 entries. In this mode, because the catalogs continue to increase in size, the SA or the AA should monitor the sizes of DX0nCAT files where “n” is “E” for procedure catalog, “D” for View catalogs and “U” for user profile catalogs. 152 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink (UN)DELETE entries from catalog When setting the number of entries in each catalog type, consider: • the number of entries plus modifications that will be made in the compaction cycle • the location strategy used. The more centralized the catalog and the more users saving entries, the larger the catalog needs to be. (UN)DELETE entries from catalog NAME MATCH [ ] Enter a procedure name or match pattern. PERFORM DELETE/UNDELETE (D/u)? [d ] Enter “D” to delete procedures specified. Enter “U” to recover the latest version of previously deleted procedures. The active version of a procedure being un-deleted is permanently disabled. A warning message is displayed before this purge is performed. If you inadvertently delete all procedures, you can recover them by using the Undelete feature. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 153 CREATING a transfer file MBF-UDALink CREATING a transfer file TRANSFER FILE NAME [ ] Enter the name for the transfer file. This file can be copied to any other directory, where it can be loaded into a procedure catalog using the “IMPORT a procedure transfer file” option NAME MATCH [all* ] It is possible to limit the list of procedure names shown by entering a match pattern. Enter a procedure name or a match pattern, or press Return to see all procedures. This prompt will be repeated until just a carriage return is entered. This allows the specification of multiple match patterns. 154 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink CREATING a transfer file IMPORTING a transfer file TRANSFER FILE NAME [ ] Enter the name of the file that was created using Option 4. By default, this file is located in your local group. However, you can qualify it with a directory name. EDIT CATALOG ENTRY ATTRIBUTES (Y/n)? [ ] Enter “Y” or “cr” to selectively load the entries, see the existing creator name and access value for each catalog entry and have the ability to change them. Enter “N” if you want all entries loaded with existing or new attributes. TRANSFER FILE CONTAINS ENTRY: <file name> RESTORE ENTRY (Y/n/e)? [y ] Enter “Y” or “cr>” if you want this procedure to be restored into the catalog. Enter “N” to skip the procedure. Enter “E” to exit. NEW CREATOR NAME [all] [test ] Enter “cr” to use existing name; Enter “*” to use your user ID, or, enter a new creator name. [*] ENTRY ACCESS [ ] Enter “cr” to leave existing access value. Enter “*” to restrict access to yourself (as new creator). Enter “*” to make entry available to all users of this catalog. Enter a user or user class name to restrict access to that user and yourself. To load all entries into the catalog without editing, enter NO at the EDIT prompt. You will have the opportunity to specify a new creator name and entry access value and whatever you enter will be applied to all entries loaded. You will not receive any other prompts unless a procedure with the same name is already in the catalog. In this case, you will receive a warning and have the opportunity to purge the old procedure and save the new one, or save the new procedure under a different name. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 155 Bulk importing of transfer files MBF-UDALink Bulk importing of transfer files The import function in MBF Maintenance allows you to change the CREATOR and ENTRY ACCESS values for all procedures in a transfer file to a particular combination, or to load the entries one at a time, setting the values on an entry-by-entry basis. In both cases, if the import process encounters a procedure with the same name, you are asked if you want to purge the entry or re-name the entry being imported. While this is the safest way to import entries, it can be quite time-consuming if you are transferring hundreds of entries. Users with account manager capabilities can import all the entries in a transfer file into a catalog without any questions being asked once the import starts. You can specify a new CREATOR and/ or ENTRY ACCESS that will be applied to all entries. If you press Return to these prompts, no changes are made to the CREATOR or ENTRY ACCESS values and, if an entry with the same name is found, it is deleted. As this is a very powerful capability, it is not provided as a menu option, to prevent accidental misuse. To invoke “automatic load” mode, enter a “,1” after the name of the transfer file. An example Note: Aborting the process is FATAL to the catalog. If you inadvertently abort the process, you will have to restore the catalog from the system backup. We strongly recommend that you make a backup copy of the catalog before importing strongly suggested. 156 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MESSAGE catalog maintenance MESSAGE catalog maintenance To change the prompts and messages in the message catalog DX0XCAT, you must have the appropriate capability, with the Profiles option installed, and you must be logged on to the account where the MBF-UDALink Manager program is located. To determine the catalog number and message number, run Reporter with PARM=20: mbfudar parm = 20 The message type and number will print before each message as shown below. The first number is the message type and the second is the message number. Editing a message When you run MBF-UDALink Manager and enter “4” to edit messages, you will receive the following prompts: MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 157 MESSAGE catalog maintenance MESSAGE TYPE [ MBF-UDALink ] Enter a number between 0 and 9 that corresponds to the message type, or press RETURN to stop editing. This number is the first number showing within brackets, when you enter mbfudar parm = 20, and corresponds to one of the following message groups: 0 basic menu and prompt text 1 report text 2 brief help messages 3 user error messages 4 system error messages 5 trap error messages 6 full help messages 7 output format codes 8 definition constants 9 ODBC driver function keys Enter the number of the message. This number is the second number showing within brackets. For error messages, the message number is the same as the error number. STANDARD MESSAGE TYPE: [****** THIS IS A MESSAGE CURRENTLY IN THE CATALOG] [ ] Modify the text or press RETURN to leave the message unchanged. To modify a line, position the cursor (using the space bar on the terminal) under the characters to be modified, then enter one of the following subcommands: D - Delete the character above. If D is repeated, the character above each D is deleted. I<text> - Insert the text following the I immediately following the character above the I. The “D” and “I” subcommands can be used on the same line to delete characters and insert new text. R<text> - Replace the characters above with the text following the R. The replacement begins with the character above the R and is for the length of the text following the R. Trailing blanks are significant. <text> - Replace the characters above with the text. The replacement begins with the character above the first character in the next string and is for the length of the text. The text cannot begin with the letters “D”, “I”, or “R” because these characters are subcommands. Use the “R” subcommand to replace text with a string beginning with one of these characters. / - Restore the current line to its original state. Press RETURN to perform modifications and to display the modified text. 158 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink MESSAGE catalog maintenance Press RETURN again to finalize the change. Adding items to FORMAT selection menus If the Profiles option is installed, the System Administrator can customize the choices available to the users in the Output File Format Menu and the ODBC driver function keys. The FORMAT selection menu described earlier in this chapter shows how the System Administrator can reorganize or suppress menu items by modifying the system or user profile. This section shows how the System Administrator can modify individual menu items. These items are changed using the “4:MESSAGE catalog” prompt of MBF Maintenance. To add an item to the table of choices, enter a message number one higher than the last one in the complete table. For example, to add an item to the default list: Run MBFMAINT. Press 4 to enter MESSAGE catalog routine. Specify the message type: • 7 for output file formats • 9 for ODBC driver function keys Enter the new ITEM TEXT: • the menu name for output file formats • the function key label for ODBC driver; two 8-character strings if the ITEM TEXT is correct, press Return; if not, modify using the techniques described in the MBF-UDALink User Reference Manual. Enter the TARGET PARTS: • the codes describing the desired output format • the name of the RCL file for ODBC driver If the TARGET PART is correct, press Return. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 159 MESSAGE catalog maintenance MBF-UDALink The preceding addition would add a new function key to the default set provided with the ODBC driver. The set of function keys available when the user presses F7 MORE KEYS would now be: F1 - PB APPL 1 F2 - PB APPL 2 F3 - VISUAL BASIC 160 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Common problems Troubleshooting the ODBC driver Common problems Occasionally you may not get the results you expected when using the ODBC driver. This section helps you determine the cause of the difficulty by separating the activities into host and PC activities and by displaying what is happening behind the scenes in various log files. Errors in the ODBC driver can come from several sources: from the communications layer, from the client DLL, from the SQL syntax parser in the ODBC driver, or from the ALLBASE/SQL or Oracle command interpreter. All messages have a prefix which indicates the source, as follows: [UDALink.DLL] The error was generated by the client DLL. [UDALink2.DLL] The error was generated by the client DLL. [ODBCCL32.DLL] The error was generated by the client DLL. [ODBCLINK Host] The error originated on the host. [WINSOCK.DLL] The error comes from the Winsock driver. [ALLBASE] The error comes from the ALLBASE/SQL command interpreter. The first action to take in case of a problem is to attempt to execute the command manually, for example, try to log on using a terminal emulator, or else try issuing the SQL statement that causes a problem in MBFUTIL or ISQL. If you do not know the command causing the error (because you are using Microsoft Access for example), do an export ODBC_LOG 1 on the host before running the server and check the ODBCLOG file afterwards. Communication problems with the native comm driver can sometimes be determined by using Regedit to set DEBUG_S2LX in the DSN information to a high level (9), running your application, and then examining the ODBCLINK.LOG file. Note: UDALink.DLL is ODBC-3-compatible. UDALink2.DLL is ODBC-2-compatible. ODBCCL32.DLL is backward-compatible to earlier versions of ODBC driver. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 161 Common problems MBF-UDALink Problems with the serial communications driver You are not able to connect (or you can connect but can't do anything else) Try to connect manually using a terminal emulator. If you can connect, check your communication settings. You may have to lock your modem speed (check your modem manual for correct initialization sequence) and disable software flow control on the modem. Also make sure that the host is configured for 8-bits, no-parity. Timeout on Data Read This is either a communication problem, or it indicates that the server did not respond within the required time. Try increasing your timeout values (particularly Command Timeout) in Setup. Note that databases with a large number of tables can sometimes take 20 or 30 seconds or longer to open. Unexpected data from host (or any other communication error) The ODBC driver does not attempt to do any kind of error correcting. Consequently you must use an error-correcting modem. If you get this problem in local mode, contact tech support. Server does not appear to be running Connect to the host with a terminal emulator and see if the server is running. If not, the server probably aborted. Do a SET ECHO=ON, check the ODBCLOG file and try to run the command in error from MBFUTIL. Problems with the Winsock driver Unidentified server name or IP address Check that the host server name is in a HOSTS file in your path, and/or that the address specified is correct. 162 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Using the MBFUTIL host test utility Using the MBFUTIL host test utility If you are having problems connecting or accessing a table on the server, and you are not sure if it is a communication problem, an ALLBASE/SQL, Eloquence or Oracle security problem, or some other problem, you can access it on the server in the same way that the ODBC server accesses it by running the MBFUTIL utility. To do this, run MBFUTIL and specify the user ID and password in the runtime arguments, as in: mbfutil "UserID Password" Note: Before running MBFUTIL, you can activate the following export variables if you don’t want to have to specify the uid and password every time: ODBC_DEBUG_UID = userid ODBC_DEBUG_PWD = password If you are activating an Oracle database, you must use a valid Oracle user ID and password. See your Oracle System Administrator. MBFUTIL output using Eloquence Enter the command you wish to use. E.g., Enter SHOW to see a list of available tables: >show Dataset/Table Database Type DCAT.TSTVIEW DCAT.TSTVIEW DCAT.XREF_FILES SUPERDXS.SUPERDXS DXSUBPRD.DXSUBPRD DBMANY.MANYCOLS SUPERT.MASTERFILE SUPERT.DETAILFILE SUPERT.MASTER_FILE SUPERT.DETAIL_FILE MEMBER.REGION_M MEMBER.TYPE_M MEMBER.ACCT_HISTORY MEMBER.MEMBERSHIP IB.PROSPECTS IB.ACTIVITY DX0DCAT/PHOENIX.DATA.PSCTM DX0DCAT/PHOENIX.DATA.PSCTM DX0DCAT/PHOENIX.DATA.PSCTM SUPERDXS.DATA.PSCTMBF dxsubprd.data.psctmbf dbmany.data.psctmbf SUPERT.UDADATA.PSCTMBF SUPERT.UDADATA.PSCTMBF SUPERT.UDADATA.PSCTMBF SUPERT.UDADATA.PSCTMBF member.udadata member.udadata member.udadata member.udadata IB.ONSITE.DISC IB.ONSITE.DISC VIEW VIEW VIEW DXSUBFILE DXSUBFILE Eloquence MASTER Eloquence MASTER Eloquence DETAIL Eloquence Eloquence Eloquence MASTER Eloquence MASTER Eloquence DETAIL Eloquence DETAIL Eloquence MASTER Eloquence DETAIL MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 163 Using the MBFUTIL host test utility IB.DX_CONFIG MBF-UDALink IB.ONSITE.DISC Eloquence MASTER MBFUTIL output using ALLBASE MBFutil PARTSDBE MB Foster ODBC Utility Version 7.00 Connecting as UID PARTSDBE... 0>show inventory Field ODBC-DatatypeHP-DatatypeLength Offset Nullable PARTNUMBER CHAR(16)16 0 0 BINNUMBER SMALLINT2 16 0 QTYONHAND SMALLINT2 18 1 LASTCOUNTDATECHAR(8)8 22 1 COUNTCYCLE SMALLINT2 32 1 ADJUSTMENTQTYSMALLINT2 36 1 REORDERQTYSMALLINT 40 1 44 1 2 REORDERPOINTSMALLINT2 To see the list of columns and indexes for a table, enter SHOW followed by the name of the table. For example: >show recdb.clubs Field ODBC-DatatypeHP-DatatypeLength Offset CLUBNAME CHAR(15)15 0 Nullable 0 CLUBPHONE SMALLINT2 16 1 ACTIVITY CHAR(18)18 20 1 Indexed field Index Type Index Name MBFUTIL output using Oracle mbfutil MB Foster ODBC Utility Version 6.02.03 Connecting as UID scott... 0>show emp 164 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Server Activity logging Field ODBC-DatatypeHP-DatatypeLength EMPNO INTEGER4 Offset 0 Nullable 0 ENAME VARCHAR(10)10 6 1 JOB VARCHAR(9)9 22 1 MGR INTEGER4 38 1 HIREDATE VARCHAR(9) 9 44 1 SAL INTEGER4 60 1 COMM INTEGER4 66 1 DEPTNO INTEGER4 72 1 Indexed field Index Type Index Name RecordLen=0 DummyRV=0 SnapShotOnly=0 RecCount=100000000 NPages=0 Server Activity logging A logfile trace is kept of activity on the UDALink server in a file called ODBCLOG in the directory of the listener job. The directory is defined by UDALINK_HOME, or in .tmp for versions before 7.03. Normally, only connections and errors are logged; however, if you want to log all activity, including commands sent from the client, enter the command: :export=ODBC_LOG=1 (in the listener job) You can trace the UDALink process in varying levels of detail by setting the environment variable ODBC_DEBUG in the listener job. The syntax is: :export=ODBC_DEBUG=n Where "n" is an integer - use one of the following values: 1: Shows the access path of an Eloquence Select statement 2: Shows calls to DBFIND 3: Shows calls to DBGET 4: Shows calls to DBINFO 5: Shows calls to ALLBASE/SQL 12: Shows many function entries 14: Shows client-server communication packets For example, export=ODBC_DEBUG 5 would show all the calls to ALLBASE/SQL. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 165 Terminating an ODBC connection MBF-UDALink Debug levels are cumulative, e.g. a debug level of 4 shows all information available for all levels up to 4. The output is sent to stdout. A high level of debug, especially greater than 5, can fill the server log very quickly. To limit the value of debug that the user can set for both the client and the server, use the following: export ODBC_DEBUG_LIMIT=n If either the client or server setting is set higher than the ODBC_DEBUG_LIMIT, the debug value will be lowered to equal the limit set. For more detailed logging, including calls made to the ODBC driver manager, tracing with Driver Manager should be used. Terminating an ODBC connection Occasionally it may be necessary to terminate an ODBC session that has deadlocked or is attempting to read a very large table (note that aborting the application will not be sufficient as the server has control at this point). You can do this from ISQL with the command TERMINATE USER user account. You can also kill the process by using kill -9 <process_id_#>. When an ODBC client terminates abnormally, the server process that handles the connection will normally go down after the timeout interval has expired. This is typically 30 minutes to 2 hours. UDALink connections can also be terminated using MBF-Console. MBF-Console is described later in this manual. 166 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Using Microsoft ODBC Test (32-bit) Using Microsoft ODBC Test (32-bit) You can use ODBCTest to verify the correct functioning of the ODBC driver and to enter ad-hoc SQL commands. ODBCTest and ODBCTE32 are part of the ODBC SDK that comes with the Microsoft Developers Network. To run ODBCTE32.EXE: 1. Select Connect, Full Connect. Enter a data source name, user ID and a password, and click OK. You receive the a message “Successfully connected to databasename”. 2. You can get a list of tables by selecting Catalog, SQL Tables, then clicking OK and then Results, Get Data All. 3. You can enter an SQL statement, such as “Select * from tablename” in the Query Window and then execute it by choosing Statement, SQLExecdirect. View the results with “Results, Get Data All”. Client ODBC call tracing with ODBCLink.LOG The preferred method to trace ODBC calls on the client is by setting the Trace ODBC Calls checkbox in ODBC Data Source Setup. To log all the ODBC calls made by the client, check the box Trace ODBC Calls on the Client on the data-source setup screen. This will create a file called ODBCLINK.LOG of all the ODBC calls made by the client. This file normally resides in C:\MBFoster\Udalink, but can be changed in the DSN setup. Some applications, however, change their working directory. For MS Access, for example, look for the log file in the My Documents directory. The ODBCLINK.LOG file has the following format: SQLDriverConnect(0) hstmt=0 Ver= 6.0.0000 szConnStrIn=<DSN=DBA MEMBER; UID=Admin; PWD=>,Completed_string=<DSN=DBA MEMBER; UID=#mpeix/ 123.456.789.111:MembrDBE.SQL.mbftest,an# DBA,dba/.MBFTEST/password,work/> Login=<> SQLError(100) hstmt=0 pfNativeError=0,szErrorMsg= SQLGetInfo(0) hstmt=0 fInfoType=23, rgbInfoValue= [1,0,0,0] SQLSetConnectOption(0) hstmt=0 fOption=101 vParam=1 SQLAllocStmt(0) hstmt=0 SQLGetStmtOption(0) hstmt=0 fOption=0 vParam=0 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 167 Using Microsoft ODBC Test (32-bit) MBF-UDALink SQLSetStmtOption(-1) hstmt=0 fOption=0 vParam=60 SQLError(0) hstmt=0 pfNativeError=-57,szErrorMsg=[ODBCLN32.DLL] Driver not capable SQLError(100) hstmt=0 pfNativeError=0,szErrorMsg= SQLExecDirect(0) hstmt=0 SELECT MEMBERDB.ACCTHIST.NUMBER,MEMBERDB.ACCTHIST.TRANTYPE,MEMBERDB.A CCTHIST. TRANDATE FROM MEMBERDB.ACCTHIST SQLFetch(0) hstmt=0 SQLGetData(0) hstmt=0 icol=1 fCType=99 pcbValue=4 data= '[25,39,0,0] SQLGetData(0) hstmt=0 icol=2 fCType=99 pcbValue=3 data=INV[73,78,86,0] SQLGetData(0) hstmt=0 icol=3 fCType=99 pcbValue=6 data=È [-56,7,1,0] Each line starts with the name of the function being called, with the return code in brackets, followed by the different parameters of the call. Refer to the ODBC SDK manual for a description of the parameters of the call. Monitoring ALLBASE/SQL activity with SQLMON SQLMON is a component of ALLBASE/SQL and monitors the activity of an ALLBASE/SQL DBEnvironment. SQLMON summarizes the activity for the entire DBEnvironment, or focuses on individual sessions, programs, or database components. For information, refer to the ALLBASE/ SQL Performance and Monitoring Guidelines. Checking the listener log file on the HP 9000 Look for ODBCLOG in the directory defined by UDALINK_HOME, or in the /tmp directory. The user must have write permissions to be able to write to the log file. 168 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Host logging Host logging Normally, only connections and errors are logged to the ODBCLOG file on the server. If you check the box labelled Host Logging in the data-source setup dialog, all the SQL sent from the host and the Allbase operation will be logged as well. If a listener error occurs, an error message is logged in the ODBCLOG file. Below is the format of the ODBCLOG file. 01/06/10 09:56:52 075 Prepare[0]SELECT * FROM MEMBER1.membership 01/06/10 10:00:51 075 Prepare[0]SELECT MEMBER1.NUMBER MEMBER1.region member1.state from member1.membership left outer join member1.region_m on 01/06/10 10:00:51 075 Expected '<ColumnName>', got ';' 01/06/10 10:01:30 075 Prepare[0]SELECT member1.membership.region member1.membershio\ MEMBER1.MEMBERSHIP.number 01/06/10 10:01:30 075 FROM clause is required 01/06/10 10:05:09 075 Prepare[0]SELECT MEMBER1.MEMBERSHIP.number member1.membership.region member1.membership.state from member1.membership left outer join member1.region_m on member..membership.region = member1.region_m.region where (member1.membership.state = "CA" or member1.membership.state = "NJ") 01/06/10 10:05:09 075 No such table 'MEMBER' 01/06/10 10:06:09 075 Prepare[0]SELECT MEMBER1.MEMBERSHIP.number member1.membership.region member1.membership. 01/06/10 10:06:09 075 FROM clause is required 01/06/10 10:09:06 075 Prepare[0]SELECT MEMBER1MEMBERSHIP.NUMBER MEMBER1.membership.region member1.membership.state. from member1.membership left outer join membr1.region_m on memsber1.membership.region = member1.region_m.region where (membe1.membership s.state = "CA" or mmember1.membership.state = "NJ") MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 169 Host logging 170 MBF-UDALink MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Data types supported by Reporter Data types Data types supported by Reporter NOTE: A plus sign (+) following numeric data types is optional and, if present, indicates that the number can contain only positive values X U 9 Z P I J K R F any ASCII character string upper case ASCII string numeric ASCII unsigned numeric zoned decimal numeric packed decimal numeric integer binary numeric integer binary (for COBOL) numeric logical binary unsigned numeric floating point numeric format (HP format) floating point scientific format (IEEE format) Special data types are available to identify date formats: DC DJ DP DY DM DD a day count from January 1, 1900 stored as a one or two word integer a Julian date stored as a one word integer in the HP date format a PowerHouse date stored as a one word integer a character date format of “YYMMDD” or “YYYYMMDD” a character date format of “MMDDYY” or “MMDDYYYY” a character date format of “DDMMYY” or “DDMMYYYY” If a date is stored in a type that does not meet the requirements of the date data types shown above, enter “&”. You will be prompted for the physical storage format of the date. Enter one of the following formats: YYMMDD or YYYYMMDD DDMMYY or DDMMYYYY MMDDYY or MMDDYYYY YYMM or YYYYMM MMYY or MMYYYY YYDDD or YYYYDDD DDDYY or DDDYYYY ASK CYMMDD year-month-day day-month-year month-day-year year-month month-year Julian year-day Julian day-year ASK manufacturing date format HP MPO date format (see below) MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 171 Data types supported by Reporter SQLDATE SQLTIME MBF-UDALink Allbase/SQL DATE and DATETIME Allbase/SQL TIME A date subtype can be defined for all field data types that are not date types. The date subtype indicates the date format of the numeric values stored in the field. Not all fields will have a date subtype defined. To display the subtype prompt, follow the data type with a “&”. The date data type or subtype used in EDIT FIELD DEFINITIONS can only be used to describe the actual storage format for the data. To change the format from one data type to another or to change the storage order from YYMMDD to DDMMYY, for example, you must create a computational field. If a date field is input to a computation, the date is converted to a day count (type DC). If a date field is the result of a computation, the day count is converted to the correct date field format. For data types DY, DM or DD, you can override the storage length of 6 with a lower number to obtain a truncated date value. To obtain the century format of the date, set the storage length to 8. The HP MPO date format uses a letter code in the first position of a 6-digit date to indicate dates beyond 1999/12/31. The letter “A” represents the decade “2000–2009”, the letter “B” the decade “2010–2019”, the letter “C” the decade “2020–2029” and so on. The date will display with the letter code unless a date edit mask is added in field modification or report designer. In calculations, sorts, downloads, and output files the date will be treated as if it were an 8-character format. For example: A00229 = 2000/02/29 B11231 = 2011/12/31 The SQLDATE and SQLTIME formats are automatically detected by Reporter when an SQL interface is used. If data is stored in “YYYY-MM-DD” format (including the dashes) this subtype can be used with other definition sources. 172 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Data types supported by Reporter Field storage length Following is a method of determining the length you require. DATA TYPE FOR A DISPLAY SIZE OF ENTER X n characters n* U n characters n* 9 n digits n* Z n digits n* P n digits (n+1) / 2 * I value <32767 value <2 billion value >2 billion 2 4 6 or 8 J 1 - 4 digits 5 - 9 digits 10 - 14 digits 2 4 8 K value <65535 value >65534 2 4 R 6 digits of precision 11 digits of precision 4 8 F 7 digits of precision 15 digits of precision 4 8 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 173 Data types supported by Reporter MBF-UDALink Edit masks Edit masks are combinations of the substitution and insertion characters that affect how a field is displayed on the output report. One character from the column is assigned to each substitution character in turn. Insertion characters (any character not in the list shown below) are printed as is. The following characters can be included in a field edit mask: SUBSTITUTION CHARACTERS DEFINITION ^ Insert actual data character in this position. Z Suppress leading zeros. $ Suppress leading zeros and place a dollar sign before the leftmost digit. * Replace all leading zeros with asterisks (*). . Align decimal point with decimal positions defined in the field. ! Put a decimal point in this position, regardless of the number of defined decimals for this field. mask( ) Format as indicated by the edit mask; if the value is negative enclose it in parentheses. mask- Format as indicated by the edit mask; if the value is negative, it will print with a trailing negative sign. maskCR Format as indicated by the edit mask; if the value is negative, it will print followed by “CR”. maskDR Format as indicated by the edit mask; if the value is negative, it will print followed by “DR”. Any other character is considered an insertion character, and will be displayed at that position in the field. When you specify an edit mask, you must be sure to allow a character for the sign position. For example, an edit mask of $$$$$$.^^ can hold a maximum value of 9999.99 because one character is taken up by the $ and another is reserved in case a negative sign is required. If your edit mask is not large enough to contain the field values, the field will be filled with ### characters. 174 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Data types supported by Reporter Date formatting If a field has a date type or subtype, the edit mask will be replaced by a date display format. Enter one of the choices shown below (do not include separator characters). Once a valid date format has been entered, a prompt for the separation character will be seen. Valid date formats are: YYMMDD, YYMMMDD, YYYYMMDD, or YYYYMMMDD (year-month-day) MMDDYY, MMMDDYY, MMDDYYYY, or MMMDDYYYY (month-day-year) DDMMYY, DDMMMYY, DDMMYYYY, or DDMMMYYYY (day-month-year) YYMM, YYMMM, YYYYMM or YYYYMMM (year-month) MMYY, MMMYY, MMYYYY or MMMYYYY (month-year) MMDD or MMMDD (month-day) DDMM or DDMMM (day-month) YYDDD or YYYYDDD (year-day) DDDYY or DDDYYYY (day-year) Enter a separation character for the date display format if required; typically, “-”, “/” or a blank are used as separators. Pressing Return indicates you do not want a separator and the date will print as 951231 (for example). Enter 0 (zero) to cancel any existing separator. This prompt will only appear if you enter a date display format. To change the date separation character, you must re-enter the date display format. Built-in functions Date functions If the system date is Tuesday, November 30, 1999, and the time is 2:30 P.M. the following values will be returned using these functions: $TODAY - The system date in the form YYMMDD with a DY data type; example: 991130 $DY[yymmdd] - Allows entry of a date literal in the form YYMMDD or YYYYMMDD; example: $DY[991130] or $DY[19991130] $DM[mmddyy] - Allows entry of a date literal in the form MMDDYY or MMDDYYYY; example: $DM[113099] or $DM[11301999] MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 175 Data types supported by Reporter MBF-UDALink $DD[ddmmyy] - Allows entry of a date literal in the form DDMMYY or DDMMYYYY; example: $DD[301190] or $DD[31101999] $TIME - Returns the current time in HHMMAM (12 hour format) example: 0127 PM $ITIME - Returns the current time in HHMM (24 hour format) example: 1327 $WEEKDAY - Returns the current day of the week as a number (1=Sunday...7=Saturday) $DAYNAME - Returns the current day of the week by name $MONTHNAME - Returns the current month name The $D[.......] functions perform date validity checks and display an error message if an invalid date is entered. String functions If the system date is Friday, June 1, 2001 and the time is 2:30 P.M. , these functions return the values: $USER - The logon user ID, for example, MGR $SESSION - The logon session ID, for example, JOHN $TIME - The system time in HHMMPM format (12 hour format), for example, 0230PM $ITIME - The system time in HHMM format (24 hour format), for example, 1430 $DAYNAME - The system day of the week by name, for example, Friday $MONTHNAME - The system month name, for example, June Numeric functions If the system date is Friday, June 1 and the time is 2:30 p.m. these functions return the following values: $YEAR - The system year, for example, 01 $MONTH - The system month, for example, 06 $DAY - The system day, for example, 01 $JDAY - The day of the year for the system date, for example, 152 $CYEAR - The system year as a four digit “century” year, for example, 2001 $WEEKDAY - the system day of the week, for example, Friday - 6 176 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Data types supported by ODBC driver Data types supported by ODBC driver The following table details the correspondence between HP data types and ODBC data types. HP DATA TYPE ODBC DATA TYPE DESCRIPTION CHAR, max length <255 SQL_CHAR CHAR, max length >=255 SQL_LONGVARCHAR VARCHAR, max length <255 SQL_VARCHAR VARCHAR, max length >=255 SQL_LONGVARCHAR BINARY, length <256 SQL_BINARY BINARY, length >=256 SQL_LONGVARBINARY VARBINARY <256 SQL_LONGVARBINARY VARBINARY >=256 SQL-LONGVARBINARY LONG BINARY SQL_LONGVARBINARY LONG VARBINARY SQL_LONGVARBINARY INTEGER (32-bit) SQL_INTEGER SMALLINT (16-bit) SQL_SMALLINT DECIMAL (Internal representation is packed decimal) SQL_DECIMAL FLOAT(24) or REAL or SQL_REAL FLOAT(53) or DOUBLE PRECISION or SQL_DOUBLE DATE SQL_DATE 6-byte with year, month, day in 2byte binary fields TIME SQL_TIME 6-byte with hour, minute, second in 2-byte binary fields MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 Character representation with leading sign and decimal point 177 Data types supported by ODBC driver MBF-UDALink DATETIME SQL_TIMESTAMP 16-byte made up of year(2), month(2), day (2), hour (2), minute (2), second (2), fraction (4) INTERVAL SQL_CHAR Format is Addddddd hh:mm:ss.fff@ Note: When creating a table using CHAR and Binary data types that are greater than 255 characters, the resulting data types used will be LONGVARCHAR and LONGVARBINARY. This may not be the data type expected by the application. Notes on data types Updates to LONGVARCHAR and LONGVARBINARY items are not supported. To retrieve them, call SQLFetch and SQLGetData in chunks. When a zoned-decimal item is a key item in a dataset and qualifying data according the value of the item, the DBFIND is done twice, once for the signed value and, if no entries are found, again for the unsigned value. This won’t work if both signed and unsigned values are present. Notes on ODBC data types SQL_CHAR can only go up to 255 bytes, so everything longer must go into a LONGVARCHAR. SQL_DECIMAL is a character-based value, with leading sign and decimal point. SQL_DATE is a 6-byte binary value, with the year in bytes 0-1, month in bytes 2-3, and day in bytes 4-5. Determining data types Run MBFUTIL with the user ID and password you are using and do a SHOW <tablename>. 178 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Data types supported by ODBC driver Notes on using BLOBs When creating an ALLBASE table for storage of BLOBs, use a LONG VARBINARY column. ALLBASE allocates storage space according to the actual size of the BLOB. For example, creating a table with a column defined as LONG VARBINARY (200000000) and writing a 10K BLOB to it results in only 10K of space being used (not the 2 GB specified when the column was created). Although you can store a BLOB using a LONGBINARY column, this is not recommended because ALLBASE will allocate storage space according to the specified column size for each BLOB regardless of the size of the actual data. Creating a table with a column defined as LONGBINARY(1000000) and writing a 10K BLOB will result in 1000000 bytes of space being used for each BLOB. You will quickly run out of space in your database. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 179 Data types supported by ODBC driver 180 MBF-UDALink MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Fully supported SQL Supported SQL syntax Fully supported SQL • Simple SELECT, UPDATE, INSERT, DELETE: no restrictions. • ORDER BY: no restrictions • GROUP BY AND AGGREGATE FUNCTIONS • WHERE clause: no restrictions, except for subqueries. Note: For relational databases, the SQL is parsed to the DBE. The driver generally supports whatever the DBE supports. Partially supported SQL For Image/Eloquence, the following limitations apply: • Joins: Inner joins and Left Outer Joins supported. Both ways of specifying join syntax are supported ("SELECT ... WHERE T1.key = T2.Key" and SELECT ... FROM table1 T1 LEFT OUTER JOIN table2 T2 ON T1.key = T2.key). It is possible to mix these syntax elements (e.g. join three tables, table 1 to 2 with an inner join and table 2 to 3 with a left outer join. The joined field in the secondary table must be a TurboIMAGE key value. The joined field in the primary table may be a compound (calculated) field. • Conversion functions in Select list: only SUBSTRING is supported. • Calculated columns: all numeric data types are converted to double-float. • SELECT COUNT(*) FROM ... :Count is not accurate in all cases except for TPI queries (see below). Usually it returns the count of the largest number of records that may qualify (up to the dataset capacity), prior to join expansion, and before any record qualification is done. • TRANSACTION CONTROL: is the ability to commit and rollback transactions. It is disabled by default, e.g. the AutoCommit option is on by default. This means all Inserts/ Updates/Deletes to the databases are normally performed immediately with no possibility of rolling back the transaction. To use transaction control on IMAGE or ALLBASE/SQL databases, do the following: Disable the AutoCommit option by calling SQLSet connection Option with fOption=102(SQLAUTOCOMMIT) and vParam=0 (SQL_AUTOCOMMIT_OFF) Call SQLExecDirect with your INSERT/UPDATE/DELETE operation. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 181 Partially supported SQL MBF-UDALink Call SQL Transact with fType=0 (SQL_COMMIT or 1(SQL-ROLLBACK). • ISOLATION LEVELS refers to the level of locking the host uses when reading the database. To set isolation level with ODBC driver you call SQLSetConnectOption with fOption=108 (SQL_TXN_ISOLATION) and a vParam that is either 1 (SQL_TXN_READ_UNCOMMITTED, 2 (SQL_TXN_READ_COMMITTED), or 4(SQL_TXN_REPEATABLE_READ). Refer to the ALLBASE/SQL manual for a description of isolation levels. Note: On IMAGE, all transactions are assumed RU, which uses no locking during retrieval. To lock data on an IMAGE read, use the SELECT FOR UPDATE clause (next bullet). • SELECT FOR UPDATE. You can lock data on a read of an IMAGE or ALLBASE/SQL database (prior to doing an update) by using the construct: “SELECT ... FROM table WHERE conditions FOR UPDATE”. When the record(s) are retrieved, it will lock the rows qualified by the WHERE clause until you Commit or Rollback the data. Use this feature to ensure your selected data remains stable until you can update it. Unsupported SQL For Image/Eloquence, the following are not supported: • Table creation and index creation (CREATE TABLE, CREATE INDEX, DROP TABLE, DROP INDEX, etc.) • Subqueries (where a query returns data based on the results of another query) • Isolation levels. ODBC driver never locks the data on a read and does not guarantee repeatability of the read. This is equivalent to isolation level RU (Read Uncommitted). • Any SQL construct not explicitly referred to above. • HAVING clause on a GROUP BY. The following features are supported even though they are not part of SQL or are not usually supported by SQL engines such as ALLBASE/SQL: 182 • CALL statement: can be used to call any function on the host that has a fixed number of parameters (e.g. option variable not supported) that has parameters of type integer, short integer, or character, and return results in the form of a result set with one row, and as many column as there are parameters in the CALL. For Details see Appendix D - Using the Call Command • SQLRowCount function:. Returns an accurate count on queries that are read by means of TPI (Third-Party Indexing) keys. • INSERT INTO _LOGFILE VALUES (...): Used for inserting a record into the ODBCLink logfile. Can be used by a programmatic client to explicitly log connections or other activity. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Partially supported SQL Requirements for joins Even though SQL does not require it, for Image and Eloquence, the UDALink driver requires a key field on the secondary joined table. For example, when using the syntax SELECT...FROM MEMBERSHIP T1 REGIONS_M T2 WHERE T1.REGION=T2.REGION, column T2.REGION must be an IMAGE key item. Certain clients, in particular Impromptu and MS-Access, seem to reverse the order of tables in the FROM clause. In order to correct this problem, ODBC driver now internally attempts to find a join order such that the secondary joined table has a key item. This does not affect the result of the query. It affects the way that ODBC driver processes the query internally. Joins by AUTO_RECNUM ODBC driver can generate a AUTO_RECNUM, or relative record number, field on MPE and KSAM files or IMAGE and Eloquence datasets. This is a key field that can be used to create a join. Numeric and character expressions Numeric and character expressions are supported in the Select list, in the join condition, and in the WHERE clause. Numeric expressions consist of numeric data field or constants separated by arithmetic operations (+,-,*,/), and may be nested within brackets (). All numeric expressions are converted to double float. Character expressions consist of character data fields or constants or SUBSTRING functions, separated by a “+” sign for concatenation. The syntax of SUBSTRING is SUBSTRING (Datafield, StartPos, Length). StartPos is 1 for the first byte. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 183 Partially supported SQL 184 MBF-UDALink MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Setting variable values Environment variables Environment Variables are environment settings that apply to a user logon session of an HP 9000. Settings are a shell-specific means of manipulating the UDALink driver. Setting variable values To set an environment setting on an HP 9000, use the command: export Variable Name =” ” To unset an environment setting on an HP 9000, use the command: unset Variable Name Setting commands are entered at the HP prompt. The default value for a variable is 0 (zero) unless otherwise specified. An asterisk (*) indicates the variable is not applicable to versions of ODBCLink prior to ODBCLink Version 5.56.13 release. ODBC driver setting variables MBF_DONT_OPEN_STATISTICS 1 - If set to 1 the statistics file is not updated. This will remove the ability to run console. Although this change was implemented to allow the user to increase driver speed in some circumstances by not logging statistics, it appears that in most cases running with statistics on has no significant impact on the speed of the driver. MBF_MOVE_SECONDARY_EXPR_TO_WHERE 1 - The default is 0, which means it won’t move the expr to the where by default (note this is NOT like the current shipping version of driver). If the parameter is set to 1, then secondary join expressions will be moved to the where clause, instead of being evaluated as a special join condition. ODBC_ACCEPT_DASHES_IN_FIELD_NAMES - Accepts dashes in field names as part of the name and converts them to underscores. If it is not set dashes are read as a minus operator. This variable is to maintain compatibility with older software versions. ODBC_AUTOCOMMIT - If this variable is set AUTOCOMMIT is turned on. UPDATE, INSERT, and DELETE statements are automatically committed to the database. Normally, AUTOCOMMIT is enabled or disabled by calling SQLSetStmtOption on the client. This variable is to maintain compatibility with older software versions. The default value is 1. ODBC_CENTURY_DELIMITER (*) - The delimiter can be set between the default 0 and 99. If the two-digit year is greater than or equal to the delimiter, the century will be considered to be 1900. If it is less than the delimiter, the century will be considered to be 2000. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 185 Setting variable values MBF-UDALink ODBC_DEBUG - Used to trace output information to standardout. The information contained in standardout is used by Technical Support at MB Foster to troubleshoot problems. When the option is set to 0, (zero), no data is displayed. The level of data returned increases in depth and type as the variable integer level changes. The debug levels should only be changed under the direction of the Technical Support department of MB Foster. ODBC_DEBUG_LIMIT - The default value is 3. The minimum value is 0. The maximum value is 100. If the ODBC_DEBUG_LIMIT is set to 0, ODBC logs will not be produced. On the server, there are no changes that will affect ODBC driver if each of ODBC_DEBUG and ODBC_LOG value is less than the ODBC_DEBUG_LIMIT or the ODBC_DEBUG_LIMIT is set to the Maximum Value 100. On the client, if the value of ODBC_DEBUG_LIMIT is greater than the client debug level, or the ODBC_DEBUG_LIMIT is set to the Maximum Value 100, the client debug level is kept at the current setting. If the value of the ODBC_DEBUG_LIMIT is less than the client debug level, the client debug level is treated as the same value of the ODBC_DEBUG_LIMIT set in the listener job. ODBC_DEBUG_PWD = password - Identifies a password to be associated with a user ID to be used with MBFUTIL. It must be implemented before running MBFUTIL if there is a password associated with the user ID being used. ODBC_DEBUG_UID = user-id - Identifies a user ID to be used with MBFUTIL. It must be implemented before running MBFUTIL. ODBC_DX0UCAT - This variable identifies the Profile catalog to be used when field value security is implemented. It is set to the file name of your MBF-UDALink user catalog. e.g. export=ODBC_DX0UCAT "/opt/mbfoster/uda/DX0UCAT" NOTE: If this variable is not set, Reporter security will not be enforced on the Views (DX0DCAT) file. ODBC_FILE_SORT_DEBUG - Keeps the sort output file around rather than deleting it. ODBC_FILE_SORT_MEM_SIZE_K - Determines how much K of internal memory will be used to sort the data. Default 200 settable from 20 to 1000 ODBC_INVALID_DATE_VALUE - The value MUST be of the form “yyyy-mm-dd”. If this parameter is not defined, the ODBC driver will use the HP standard of invalid date, 9999-01-01. ODBC_LIMIT_NUMERIC_PRECISION (*) - Setting this variable will return the precision of decimal columns larger than 15 as 15. This will allow MSACCESS to treat large numeric columns as numeric rather than character. 186 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Setting variable values ODBC_NULLIFY_INVALID_DATES (*) - Setting this variable will cause the ODBC driver to return a 1 instead of a 0 in the nullable column of an SQLColumns call. If the date conversion of the field results in an invalid date, the date returned by the ODBC driver will be NULL. ODBC_PARSE_ESCAPE_SEQUENCES - The insertion of a backslash followed by numerals in a character field is allowed when this variable is set. There is a routine parse_escape_character that searches for the “\ “ escape character. This routine will only be called if the variable is set. ODBC_REMOVE_TRAILING_SPACES - The default is 1. If set to 0 (zero), the ODBC driver will not strip trailing spaces in a fixed-length character field. ODBC_REQUIRE_COMMA-SEPARATOR - The default setting is FALSE (0). When set to TRUE (1), this variable treats non-comma-separated fields in the Select list as an implied “AS “ field. If the variable is set to True (1), you must put comma separators between each field. To mimic the previous behavior of the ODBC driver, which did not require comma separating the fields, the parameter must be set to 0 (zero). ODBC_RETURN_NULLS (*) - When set, this variable will return nulls for a field containing only space characters. If the default setting is used space characters will be returned. ODBC_SOCKET_ID - This variable sets the port number for the particular IP address being connected. Multiple listener jobs must have unique socket IDs. The values that can be set are between 10000 and 30000, providing it is a value not in current use. The default value is 21245. ODBC_SOCKET_TIMEOUT - Sets the IPC control parameter on the initial socket setup. Values entered are in a time frame of seconds. The default 0 is an indefinite time frame and will not timeout. ODBC_USE_ORACLE_SECURITY - If this variable is set and the ODBC user ID received from the client does not exist in the DBCONF database, the driver will attempt to connect to Oracle using the Unix login user ID and password received from the client. This is to avoid having to duplicate security for sites that do mostly Oracle connections. ODBC _USE_FILE_SORT = 0 - The default is 0. Setting the value at 1 (one) enables the Setting Variable ODBC_SORT_FILE_MAX_SIZE_K>0 to be implemented. ODBC_ZEROIZE_NULL_DECIMALS - If a null is present in a zoned decimal field, the ODBC driver will replace it with a 0 (zero). This will permit ADO to retrieve an entire table without stopping when it encounters an invalid character. The default is 1 (one). If set to 1, zoned decimal conversion will return a null decimal value in the db as a zero. MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 187 Setting variable values MBF-UDALink Host SSL parameters The following Setting Variables control the characteristics of SSL. MBF_SSL_ENABLE – Determines if SSL is enabled or disabled. “1” means SSL is enabled, “0” means SSL is disabled. Default 0 - SSL disabled. MBF_SSL_VERSION – Determines the versions of the SSL protocol that will be used. Default is 3. All four items reside on the server. Items 1, 2, 4 reside on the client. 1: SSL v2. 2: SSL v3. 3: allows dynamic negotiation of SSL v2 or v3 4: TLS v1(Transport Layer Security) MBF_SSL_CERTIFICATEFILE – Determines where to load the file containing the server's certificate. The server must have a certificate. The file can also contain the server's private key. MBF_SSL_KEYFILE – Determines where to load the file containing the private key of the server. The server must have a private key and the certificate must match this private key. 188 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Index A Activity logging - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -165 Add secured field - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -121 Add user ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -32 Adding a Database ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -53 Adding a new database - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -35 Adding a user - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -50 ALLBASE - Configuring for - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 Application - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -141 Application model using the Microsoft Distributed Transaction Coordinator - - - - - - - - - - - - - -66 Application-to-resource manager transaction propagation - - - - - - - - - - - - - - - - - - - - - - - - - - -70 Associating the user with databases and tables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -51 AUDIT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 144, 146, 149 B BATCH JOB SCHEDULING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -103 Batch job strategies - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -125 Batch job submission - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -118 Batch loading capability - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -14 BLOBs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -179 Built-in functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -175 Bulk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -156 Bulk importing of transfer file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -156 C Call tracing with ODBCLINK.LOG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -167 Calling applications - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -75 CAPABILITY default user parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -98 Catalog compaction considerations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -152 Catalog maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -136 Certificate creation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -45 Certificate management - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -45 Change an existing user profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -143 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 189 MBF-UDALink Changing a password - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 34, 51 Changing an output format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -125 Client SSL parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -39 COM Component Builder - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10 Common problems - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -161 Complementary products - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -12 Computational Expressions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 Concurrent transactions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -75 Configuring FDGEN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -37 Configuring files and directories for OpenSSL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -44 Configuring for ALLBASE or IMAGE/SQL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -55 Configuring for FDGEN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -59 Configuring for Image/Eloquence - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -56 Configuring for PowerHouse subfiles - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -56 Configuring for Subfiles - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -56 Configuring for the PDL data dictionary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -58 Configuring for Views - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -56 Configuring Reporter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -61 Configuring SSL in the ODBC Driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -39 Configuring the database - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -54 Configuring the Driver - ALLBASE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 Configuring the Driver - Oracle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 Configuring Users and Databases - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -48 CREATE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -146 Create a new user profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -141 CREATING a transfer file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -154 Current linked table - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -52 Customizable system profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 Customizing the ODBC Driver format options - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 Customizing the Output File Format menu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -125 D Data replication for decision support - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -73 Data sources and tables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -37 Data types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -171 Data types - Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -178 Data types - ODBC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -178 Data types supported by ODBC Driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -177 190 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Database - Add - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -35 Database ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -52 Date formatting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -175 DEFAULT PC FILE DIRECTORY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -108 Default PD file directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -83 DEFAULT TERMINAL EMULATOR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -107 DELETE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -121 DELETE an existing user profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -144 DELETE entries from catalog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -146 DELETE secured field - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -121 Deleting a user ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -33 Deleting and undeleting entries from catalog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -153 Determine If the listener job is running - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 DISPLAY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -147 DISPLAY secured field - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -120 Distributed transaction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -73 E Edit masks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -174 Editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -157 ELETE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -144 ENTRY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -155 Environment Variable ODBC_IMAGE_OPEN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -37 Environment variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 15, 185 Environment variables - Listener - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -27 EUROPEAN DECIMAL FORMAT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -107 European decimal format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -82 Explicit transactions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -75 F FD FILE ACCESS CAPABILITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -102 FDGEN - Configuring for - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -37 FDGEN - File Definition Utility - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -127 FDGEN - Sample editor file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -130 FDGEN - Syntax - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -129 FDGEN Dictionaries - Using - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -37 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 191 MBF-UDALink Field storage length - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -173 FILE DEFINITION CAPABILITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -101 Fixed selection capability - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -125 FORMAT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -159 Format parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -81 FORMAT selection menus - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -109 H HELP LEVEL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -104 Host Configuration Utility (32-bit) - Using - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -30 Host logging - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -169 Host SSL parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -188 Hostconf and path variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -27 hostconf_shm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -25 I Implicit transactions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -75 IMPORT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -147 IMPORT a transfer file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 147, 155 Input Specifications - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 Installation - Client and host - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -13 Installation directories - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -15 Installation parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -86 Installing ODBC Driver client from a CD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -16 Installing the ODBC Driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 J JDBC Level 2 Driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 Job stream files setting up - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -111 L Limitations of MS-DTC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -75 LIST COMPUTATIONAL ERRORS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -106 Listener environment variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -27 192 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Listener Job - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 Logging - Host - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -169 M Maintenance Function menu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -137 Managing users - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -49 MBF SUBFILE ACCESS CAPABILITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -102 MBFSERVR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -28 MBF-UDALink Administrator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -77 MBF-UDALink Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 MBF-UDALink Product Features - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 MBFUTIL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 28, 163 MENU COSMETIC LEVEL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -105 MENU FUNCTION LEVEL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -105 MESSAGE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 157, 158 MESSAGE catalog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -138 MESSAGE catalog maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -157 MODIFIABLE default user parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -104 Multiple listener jobs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -24 N NEW - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -155 Numeric functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -176 O ODBC - Configuring - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -29 ODBC 3.5 Compliant Driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 ODBC connection - Terminating - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -166 ODBC Driver setting variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -185 ODBC Driver - Installing the client from a CD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -19 ODBC Driver - Supported data types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -177 ODBC Driver Hostconf - Installing from a CD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -16 ODBCLINK.LOG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -167 ODBCUTIL - ALLBASE output - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -164 Online help - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 193 MBF-UDALink Open SSL concepts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -44 Oracle ORACLE_HOME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 ORACLE_SID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 Oracle - Configuring for - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -36 Oracle SQL ACCESS CAPABILITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -101 Oracle user ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -163 Output file characteristics - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -82 Output File Format menu - Customizing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -125 Output file formats - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -113 P PASSWORD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -142 Password changing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -34 PC DRIVE - Default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -83 PC FILE DOWNLOAD DELAY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -83 PC FILE TERMINATION CODE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -83 PC interchange parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -83 PDL FILE EQUATE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -101 PERFORM DELETE/UNDELETE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -153 PowerHouse interface for MPE-IX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -11 PowerHouse SUBFILE ACCESS CAPABILITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -102 PRINT ENVIRONMENT CAPABILITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -103 PROCEDURE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -146 PROCEDURE catalog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -137 PROCEDURE catalog maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -146 Profiles - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9, 115 Propagating MS-DTC transactions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -75 R Remote procedure calls - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10, 61 Removing a Database ID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -54 Removing a link - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -53 Removing a user - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -50 ReportDesigner - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -11 ReportDesigner CAPABILITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -102 Resource manager - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -71 194 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 MBF-UDALink Role of the Microsoft Distributed Transaction Coordinator - - - - - - - - - - - - - - - - - - - - - - - - - - -67 RPC pool contraction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -64 RPC server configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -63 RPC server default ALLBASE DBE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -64 RPC server pool - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -63 RPC server pool expansion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -64 Running multiple listener jobs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -24 S Saving a link - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -53 Secure Socket Layer (SSL) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9 Server Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -47 Server SSL parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -41 Setting variable values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -185 SHOW - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -147 SORT PDL FILE MENUS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -101 Specific formats - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -126 SQL interface - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -11 STANDARD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -158 Start the listener - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 Stop the listener - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -23 String functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -176 Supported data sources - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -57 Supported SQL Syntax - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -181 SUPPRESS PDL/QSCHEMAC REDEFINE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -101 SYSTEM profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -138 System profile configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -84 T Table Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -53 Table Name - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -53 TABLE/FILE size default user parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -95 TERMINAL EMULATOR - Default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -83 Terminating an ODBC connection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -166 TEXT QUALIFIER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -106 Text qualifier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -82 The - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -148 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004 195 MBF-UDALink The application programmer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -67 Transaction abort - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -74 Transaction commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -74 Transaction co-ordination - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -75 Transaction manager - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -72 TRANSFER FILE NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -154 Troubleshooting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -161 Two-Phase Commit Protocol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -65 Two-phase Commit Protocol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10 Two-tier programming model - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -67 U udalink_env - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -26 udalink_install.sh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -25 UNIQUE SORT FIELD VALUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -107 USER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -137 User - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -123 USER ACCESS profile maintenance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -123 USER ACCESS security in procedures - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -122 User ID - Adding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -32 User ID - Deleting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -33 User interface - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -77 USER profile catalog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -139 User profile catalog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -139 User profile strategies - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -115 User security fields - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -123 Using FDGEN dictionaries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -60 Using PDL Dictionaries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -59 Using Views from the ODBC Driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -58 Utility files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -25 V Variable values - Setting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -185 Views - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 196 MBF-UDALink Administration (Unix) ©M.B. Foster Associates Limited 1995-2004