PVRQ Version 1.30 - Release Notes December 2000 ------------------------------------------------------------------------------ A) Formula definition enhancements A.1 - The allowed length of formula definitions has been increased to 450 characters. A.2 - Added an optional entry for formula variable name. This allows the user to assign the results of the formula to a Basic-language variable, which may then be used in other columns or formulas occuring after this column. The variable name must begin with the letters FV followed by an underscore. Example: FV_MYVAL. B) Report filtering enhancements B.1 - Enhanced the report filter feature to allow formula variables. For example, if a formula has been defined which represents the sales for the past 12 months, and it has been given a formula variable name such as FV_YEARSALES, you can filter using the variable FV_YEARSALES. E.g. FV_YEARSALES>10000 C) User-defined procedures enhancements C.1 - Added the ability to specify user-defined procedures to be run each time a report is printed. User-defined procedures, introduced in version 1.20, allow developers to CALL or PERFORM other ProvideX programs they have developed, and to EXECUTE ProvideX directives. These procedures may now be associated with specific reports so they will be performed automatically by PVRQ each time the report is run. This feature has been added to allow developers to create ProvideX programs to prompt the user for a warehouse, date ranges, etc., returning the values in global variables referenced in the report filter. This gives developers the ability to do runtime replacements of filter values, and validate the user entries in their program. C.2 - Added the ability to import and export user-defined procedures. This option has been added to the administrator's control panel. It imports and exports the procedures named in the QREPORT.SEC file. The actual programs referenced by these procedures are not copied. C.3 - Added an option to user-defined procedures to tell PVRQ to run the procedure automatically when PVRQ is started. This allows developers to call or perform a program to setup global functions (such as date unpacking routines), environmental variables, etc., similar to the way start_up is used when ProvideX is started. D) Custom sorting enhancements D.1 - Enhanced the custom sort feature to allow descending sorts. To sort an element in descending order, simply enclose it in double square brackets. For example: [[MYVAL$]] will sort MYVAL$ in descending order. D.2 - Enhanced the custom sort screen to provide a default mask when sorting numeric fields. For example: if you select a numeric element MYNUM from the list of table elements, PVRQ will add this field to the custom sort definition as STR(MYNUM:"DR########.00"). This mask is used only for sorting, not reporting. Masking of numeric fields is necessary for the sort to work properly. D.3 - Improved custom sorting so unique keys are generated for each record, in case a full unique key has not been specified in the custom sort definition. E) Table linking enhancements E.1 - Added an option to the administrator's control panel to allow table link information to be predefined. By predefining common links between tables, the linking process will be much easier for end users. When a user selects the "link table" option on the report building screen, and selects a table that has a predefined link, the key selection and key definition will be filled in automatically for them. At present only direct links are supported in the predefined links feature; links that use elements from other linked tables to form the key cannot be predefined. E.2 - Added the ability to import and export predefined links. This option is in the administrator's control panel under the import/export tab. F) Other enhancements F.1 - PVRQ now turns on certain ProvideX parameters. These parameters are restored to their original value when the user ends the PVRQ session. a) 'FI' to ingore masking errors (error 43) b) 'F,' to attempt to print numbers without commas in the mask if the value overflows the mask c) 'XI' to allow read access to extracted records d) 'I0' to avoid some causes of substring reference out of range (error 47) e) 'D0' to avoid divide by zero error (error 40) F.2 - Corrected a problem in the config program where it was attempting to obtain a list of available fonts. In a WindX environment it was obtaining them from the server instead of the local PC. F.3 - Improved the ability to report numeric data contained in strings, i.e. numerics defined as "substring" and "last substring" in the data dictionary (FACTS). F.4 - Corrected a problem where numeric columns were sometimes not being defined wide enough to accommodate the default print mask. F.5 - Changed some buttons to flat button format, to improve overall appearance. F.6 - Closed a security hole in the table link screen that was listing tables a user might not have clearance to access.