XENTIS Documentation -- Release Notes
XENTIS 4.4d
XENTIS V4.4D Release Notes This document contains information about using XENTIS V4.4D and highlights features that are available in V4.4D that were not available in versions prior to V4.4. This initial section describes the difference between V4.4D and V4.4. The information beyond this section is the standard V4.4 release notes. A. GENERAL INFORMATION. 1. V4.4D is a bug fix release. It contains few functional enhancements when compared with V4.4C. All compiled command files, (XCC), command files, (XCF), and pointer files created with V4.4, V4.4A, V4.4B, and V4.4C are compatible with V4.4D. 2. The problem fixed is: a. Under some very complex circumstances, some calculations would not be performed at the time they needed to be performed. The circumstance where this happened was when calculation A depended upon calculation B, calculation A was defined in multiple places, calculation A was used in a selection expression, calculation B was not referenced in the last definition of calculation A, and calculation B was not used in a selection expression or other calculations that were used in selection expressions. In this situation calculation B needs to be performed before certain selection expressions are performed. There error was that calculation B was being performed until after selection expressions were being evaluated. This problem was introduced in V4.4. 3. The new features are: a. The XENTIS44_DEBUG_FLAGS logical now accepts two new debug flags. These flags are designed to output to the debug file a copy of the records as they are being read. The debug flag of A will cause Ascii characters to be output. The debug flag of H will cause a Hexidecimal representation of the bytes of the records to be output. When Hexidecimal output is chosen, two lines will be output. The first line is the most significant nibble, and the second line is the least significant nibble. These new debug flags only work if the R flag, if reading RMS files, or the Q flag, if reading SQL data, is also set. In addition, the user must have read access to all fields of all files in the report. These flags are not operative in XENTIS/Update. When SQL data is being read, only those fields begin retrieved will be visible. All other fields will be zeros or spaces. The output from these debug flags can be extensive. Use them with caution. b. If the logical UNIFORM_CALCS is set to Y, then XENTIS will perform all calculations at the same time, rather than determining the optimal point to perform each calculation. Under most circumstances, performance will be degraded when this feature is used. Under a few circumstances, performance will be improved. XENTIS V4.4C Release Notes This document contains information about using XENTIS V4.4C and highlights features that are available in V4.4C that were not available in versions prior to V4.4. This initial section describes the difference between V4.4C and V4.4. The information beyond this section is the standard V4.4 release notes. A. GENERAL INFORMATION. 1. V4.4C is a bug fix release. It contains no functional enhancements when compared with V4.4B. All compiled command files, (XCC), command files, (XCF), and pointer files created with V4.4, V4.4A, and V4.4B are compatible with V4.4C. 2. The problems fixed are: a. Under some very complex circumstances, some calculations would not be performed at the time they needed to be performed. One circumstance where this happened was when calculation A depended upon calculation B, calculation B was defined in multiple places, the multiple definitions of calculation B used different files, and the last definition of calculation B used a lower file than other definitions of calculation B. In this case calculation A did not get performed at the correct time. This problem was introduced in V4.4. Another circumstance where this happened was if a calculation was defined more than once and the result of this calculation was used in a selection expression. Under some circumstances, only some of the calculations with the same name would be performed before the selection expression was evaluated. b. When data from a data record was being printed in a report title, the data would sometimes be from the next record rather that the previous record when the first item on a page after the column headings was a break line rather than a detail line. This problem was introduced in V4.3. c. The barcode option of XENTIS is supposed to be a standard feature of version 4.4. Under most circumstances, the software was still checking the license key for the presence of the barcode option. This is wrong. XENTIS V4.4B Release Notes This document contains information about using XENTIS V4.4B and highlights features that are available in V4.4B that were not available in versions prior to V4.4. This initial section describes the difference between V4.4B and V4.4. The information beyond this section is the standard V4.4 release notes. A. GENERAL INFORMATION. 1. V4.4B is a bug fix release. It contains no functional enhancements when compared with V4.4A. All compiled command files, (XCC), command files, (XCF), and pointer files created with V4.4 and V4.4A are compatible with V4.4B. 2. The problems fixed are: a. There was a language compiler problem that would cause XENTIS/Edit to abort when executing under OpenVMS V7.0 on Alpha systems. This problem was solved by compiling one routine differently. b. There was a language compiler problem that would cause two numeric values to fail an equality comparison, even if the numeric values were the same. This comparison would fail only when the values contained fractional amounts. This problem occurs only on Alpha systems. It was solved by inserting additional programming statements into XENTIS at certain critical points. c. A calculation would not be performed at the correct point in processing if the calculation used only literal values and if the SEGMENTED-SELECT setup file parameter was set to Y. XENTIS V4.4A Release Notes This document contains information about using XENTIS V4.4A and highlights features that are available in V4.4A that were not available in versions prior to V4.4. This initial section describes the difference between V4.4A and V4.4. The information beyond this section is the standard V4.4 release notes. A. GENERAL INFORMATION. 1. V4.4A is a bug fix release. It contains few functional enhancements when compared with V4.4. All compiled command files, (XCC), command files, (XCF), and pointer files created with V4.4 are compatible with V4.4A. 2. The functional enhancements are: a. V4.4A can adjust the century of date fields defined with particular date data types or date fields resulting from particular calculation functions. The century can be adjusted for the TDA, MDY, DMY, and for user written date data types. The adjustment for TDA, MDY, and DMY data types is applicable only if the length of these fields is 6 bytes. The century can also be adjusted for date fields created by the D1, D3, and D5 functions. Upon initialization, XENTIS will examine the CENTURY_ADJUST logical. If this logical does not exist or has a value of zero, "0", then no century adjustment will occur. If the logical has a numeric value of 1 through 99, then a century adjustment for the above mentioned datatypes will occur. If the 2 digit year of the date field referenced is less than the value of the CENTURY_ADJUST logical, then XENTIS will place the date in the 21st century, 2000 - 2099, otherwise the date will be remain in the 20th century, 1900 - 1999. For example, suppose the field REVIEW_DATE is defined with the MDY datatype and contains "031502". Normally XENTIS assumes this date is March 15, 1902. If, however, the CENTURY_ADJUST logical has a value of 3 through 99, then XENTIS will use the date March 15, 2002. 3. The problems fixed are: a. The default mask for Oracle numeric fields that were not defined with a precision or scale was just a minus sign. This problem was introduce with version 4.0. b. XENTIS could not process Oracle synomyms, because the first two characters of field names were being overwritten with null characters. This problem was introduced in V4.3 when Oracle7 was supported. c. Oracle7 on some Alpha systems return numeric data as G-Float rather than D-Float as it does on Vax. This is resolved by having sites using G-Float define the logical ORACLE_GFLOAT to the value of "Y". d. XENTIS/File would not convert the output file from a sequential file to an indexed file if the MAX-FILES setup parameter was set to the maximum allowed, 18. This was introduced with the ability of XENTIS/File to convert to indexed files in V4.3. XENTIS/File is now limited to 17 input files. e. Break descriptions were being allowed to overlay report fields if the print frequency of the report field was a number. This problem was introduced in V3.6. f. XENTIS would not find an input file if the input file was specified using a search list logical, the first translation of the logical did not find the file, and the data dictionary for the file was the CDD. This problem was introduced with V4.2. g. The IGNORE-TIME setup parameter did not work on Alpha systems. This problem is solved by linking XENTIS differently. h. XENTIS would fail to produce a report if a pointer file was used. This problem was introduced with V4.4. XENTIS V4.4 Release Notes This document contains information about using XENTIS V4.4 and highlights features that are available in V4.4 that were not available in versions prior to V4.4. A. INSTALLATION AND GENERAL INFORMATION. 1. If you have a previous version of XENTIS already installed and you never installed version 4.1 or version 4.2, we recommend that you copy the release notes of these previous versions from saveset F on your release tape and review them. The following DCL command should retrieve these release notes and place them in your current directory: BACKUP/LOG tape_dev:XENTIS044.F/SELECT=[*...]*.REL*/SAVE_SET [] where 'tape_dev' is your tape drive. 2. The installation procedure for V4.4 is similar to the procedure used in V4.2, however V4.2 installation is quite different from V4.1. Prior to V4.2, all XENTIS images would be linked, with a LINK command, while the installation procedure was executing. Starting with V4.2, XENTIS images are copied onto your system without going through a LINK step. This results in a faster installation. This is accomplished by supplying several shareable images that act as stub routines for databases and other optional software that XENTIS supports but is not present on your system. In addition, the installation procedure no longer prompts the installer for an 'INSTALL' directory. The 'Install' or 'Object' files are no longer loaded onto your system. 3. Starting with V4.2 XENTIS logicals are created in the SYSTEM table in EXECUTIVE mode. This is done to support the new policy of not linking on the target system. These logicals are now defined during system startup. In version 4.1 and prior, the XENTIS$COMFILES logical was defined in the SYSTEM table in SUPERVISOR mode, while the XENTIS$PROGRAM, XENTIS$DEMO, and XENTIS$REPORT$DATA logicals were defined in the PROCESS table. To help avoid problems with user written DCL command files referring to XENTISLOGICALS.COM, this file's name has been changed to XENTIS_LOGICALS.COM, and XENTISLOGICALS.COM will still exist but contain only comments. 4. In response to customer demand, multiple versions of XENTIS may be installed and active at the same time. Please see section below for more information. 5. Beginning with V4.2, the XENTIS startup procedure defines a number of additional logicals. These logicals define which optional parts of XENTIS are available on your system, and which ones will have to use stub routines. The definition of these logicals are found in the XENTIS_SHARE_LOGICALS.COM file. 6. An additional system DCL command file is supplied for the purposes of shutting down XENTIS. This command file is called XENTIS_SHUTDOWN.COM and can be found in the XENTIS44$COMFILES: directory. This command file removes the system logicals that were created with the XENTIS44_START.COM file. It will also remove the XENTIS images if they were installed with the INSTALL command. (This does not delete any files from disk.) It is recommended that the XENTIS_SHUTDOWN.COM procedure be called from the system shutdown procedure, SYS$MANAGER:SYSHUTDWN.COM. 7. The user pack routine, used for user written data types, is implemented as a shareable image beginning with V4.2. This allows you to write and test your routine without having to relink XENTIS every time. Linking instructions are found in the sample source code, XUUSER_PACK.BAS. In addition, the number of parameters for this routine has changed. Please review the sample source code for further information. This information represents no change from V4.2, however the name of the shareable image is now XENTIS44_USER_PACK.EXE. 8. On VAX systems XENTIS V4.4 requires OpenVMS V5.0 at a minimum. Installation and operations has been tested on a OpenVMS V5.2 system, but it has not been tested on a OpenVMS V5.0 or V5.1 system. As result we recommend that users be running at least OpenVMS V5.2. On Alpha AXP systems XENTIS V4.4 requires OpenVMS V6.1 or later. 9. If an additional cpu is licensed, and that system has a different database configuration, it is not necessary to relink XENTIS. The XENTIS startup procedure effective with V4.2, which must be run on every node licensed for XENTIS, will detect the different database configuration and define the XENTIS logicals appropriate for each licensed CPU. 10. The circumstances where XENTIS needs to be relinked are now quite rare. Therefore, object libraries are no longer included on the distribution tape. 11. Beginning with V4.2, CALLABLE XENTIS is a feature that is available only upon request from your vendor. It is no longer available in the standard release. CALLABLE XENTIS provides the ability for a 3GL program to call XENTIS (except /Dictionary and /Edit) in the context of the same process or image. XENTIS can still be executed in the context of a subprocess. Using XENTIS in a subprocess is not considered CALLABLE XENTIS. 12. When the XENTIS44$SUPPORT logical is set to a value of Y, then whenever XENTIS/Report ( or /File, /Word, /Model, /Creport, /Update) writes a XENTIS Command File, .XCF, it will write into the file considerable information regarding the report, the data files, the setup file, and its operating environment. This information can be very valuable for the customer support staff in diagnosing problems with a particular report. When sending an XCF file to the customer support department, please set this logical to a value of Y before creating the XCF file. This feature became effective with version 4.1. 13. If you are upgrading from V4.2 or prior, please note that the names of the user modifiable shareable images have changed. Their previous and current names are as follows: XENTIS_USER_PACK.EXE XENTIS44_USER_PACK.EXE XENTIS_USER_FUNCTION.EXE XENTIS44_USER_FUNCTION.EXE XENTIS_XRP3GL.EXE XENTIS44_XRP3GL.EXE The application program interface (API) to these routines have not changed from V4.2. 16. The Alpha AXP version of XENTIS has not been tested with CDD, although it is likely that it will work. The Alpha AXP version does not work with Ingres, Sybase, or Oracle. Contact your vendor regarding more information on these databases. The Rdb interface has been tested and is supported. B. INSTALLING AND USING TWO DIFFERENT VERSIONS AT THE SAME TIME Beginning with version 4.3 XENTIS allows two or more different versions to be installed and active at the same time. This is accomplished by including the version number, in this case 44, with the logicals used by XENTIS and including the version number in many executable files. The information in this section describes how this is accomplished and what the customer needs to do to insure smooth operation of two or more versions at the same time. 1. All XENTIS logicals that previously began with XENTIS, now begin with XENTISnn, where 'nn' is the version number. Please note that symbols such as XENTIS$DICT and XENTIS$PASSWD have not changed. These symbols are unique to your process and do not need to be changed. 2. All XENTIS executable files that may get installed with the INSTALL utility now have the version number appended to the filename. This is because the INSTALL utility does not allow two or more files with the same name to be installed at the same time. Customers that have a limited user count license, or those that have a Progress database interface license must either install XENTIS executables with the SYSLCK privilege or must give each user the SYSLCK privilege. (The XENTIS startup procedure automatically examines the XENTIS license for these two conditions and installs the executables if appropriate.) Please note that due to a bug in Rdb, the XENTIS executables should not be installed if the Rdb interface is to be used. 3. None of the control files or data files that XENTIS uses have had their names modified for this purpose. The lone exception to this rule is the startup file that is executed during system startup. Its name is now XENTISnn_START.COM, found in the SYS$MANAGER directory, where 'nn' is the version number. 4. XENTIS version 4.4 may be installed and started, while a previous version is active and running. It may not be installed while another installation of V4.4 is active and started. The V4.4 installation procedure detects this condition and will halt its processing. 5. During system startup, the various versions of XENTIS should be started in order with the oldest version first and the newest version last. When shutting down XENTIS, it is best if the reverse order is followed; the latest version first. 6. Existing batch command files present a unique problem. Many or most batch command files created prior to version 4.3 contain a line in them similar to "RUN XENTIS$PROGRAM:XRP". Under the old scheme of filenames and logicals, this would always execute the current version of XENTIS. Under the new scheme of filename and logicals, this would execute the version of XENTIS that was previously installed. If it is desired for pre V4.3 batch command files to use version 4.4, then perform the following steps. a. Copy XRP44.EXE to XRP.EXE in the same directory. b. Define a logical as: DEFINE XENTIS$PROGRAM XENTIS44$PROGRAM Beginning with batch command files created under version 4.3 or later, you can control which version of XENTIS is used. This is done with the XEN_VER DCL symbol. To use version 4.3, set XEN_VER to "43"; to use version 4.4, set XEN_VER to "44"; etc. This symbol can be set in a user login file or the system login file, SYS$MANAGER:SYLOGIN.COM. If this symbol is not set, the current version will be used. 7. To remove an older version of XENTIS from your system, execute the XENTIS_SHUTDOWN.COM procedure for all versions in the order of most recent version first. (XENTIS_SHUTDOWN.COM was introduced in version 4.2.) Next, delete all the files from the older version. Next deassign the PKMSSHR logical. Next, execute the XENTIS startup files, found in SYS$MANAGER, in the order of most recent version last. C. NEW FEATURES 1. /Report and /Report modules (/File, /Word, /Model, /Update). a. XENTIS now supports a debug mode of operation. When operating in debug mode XENTIS will print detailed information to indicate what it is doing along each step of the way. The logical XENTIS44_DEBUG_FLAGS controls whether or not XENTIS operates in debug mode and what data is printed. Utilizing this feature is very beneficial in diagnosing reports where no records are selected, where too many records are selected, where calculation results are different than expected, and other similar problems. The following table documents what data is printed when the appropriate debug flag is set. Debug Flag Debug data printed ---------- ----------------------------------------- C Calculations Expressions D Dictionary Operations E Calculation Detail Operations F Data File Opens and Closes Q SQL Operations R Data File Reads S Selection Expressions T Selection Detail Operations W Data File Writes For example, to print debug information about file read, selection expressions, and calculations; define the debug logical as follows: $DEFINE XENTIS44_DEBUG_FLAGS RSC b. It is possible to direct the output of debugging statements to a file rather than the user's terminal. This is done by defining the XENTIS44_DEBUG_OUTPUT logical to translate to a file. For example, to cause all debug output to go to a file named REPORT_DEBUG.LIS then enter the following before executing XENTIS: $DEFINE XENTIS44_DEBUG_OUTPUT REPORT_DEBUG.LIS c. XENTIS now supports writing audit records to a history audit file. The name of this history file is controlled by the new HISTORY-FILE setup file parameter. This file has the following record layout: Field Name Data Type Field Size ---------------- --------- ---------- User_Name T Text 12 Terminal T Text 8 Node_Name T Text 6 Function T Text 10 Process_ID L Long 4 UIC_Member W Word 2 UIC_Group W Word 2 Start_Time DA VMS Date 8 End_Time DA VMS Date 8 CPU_Used L Long 4 Page_Faults L Long 4 Direct_IO L Long 4 Buffer_IO L Long 4 Select_Count L Long 4 Primary_Count W Word 4 File_Count W Word 4 File_Names CT2 Text 500 The history file is similar to, but different than, the registry file that was introduced in version 4.3. The registry file records which XCF files are being used, and a single report may reference several XCF files. The history file is designed to track who is using XENTIS, how much system resource is being used, and what data is being accessed. The statistics recorded in this history file will be different from the statistics displayed on your terminal. The statistics written to the history file are gathered from a point in time shortly after XENTIS is invoked, until a time shortly before XENTIS is exited. The statistics displayed on the user's terminal are gathered from a point shortly after the "Executing..." message is displayed. A temporary dictionary file is included in the XENTIS data directory that describes the history file. This will allow you to produce reports using the history file. To not use this feature set the parameter value to spaces within quotes. A description of each field in the history file is as follows: User_Name -- The OpenVMS user name. Terminal -- The name of the terminal where XENTIS was used. If used in batch, this field will be blank. Node_Name -- The Decnet node name. Function -- The XENTIS function(REPORT, UPDATE, etc) used. Process_ID -- The OpenVMS process Id (PID). UIC_Member -- The member part of the process' UIC. UIC_Group -- The group part of the process' UIC. Start_Time -- The date and time XENTIS was started. End_Time -- The date and time XENTIS completed. CPU_Used -- The amount of CPU used between the start time and the end time, measured in 1/100 second. Page_Faults -- The number of page faults recorded between the start time and the end time. Direct_IO -- The amount of direct I/O recorded between the start time and the end time. Buffer_IO -- The amount of buffered I/O recorded between the start time and the end time. Select_Count -- The number of records selected. Primary_Count -- The number of primary data files used. File_Count -- The number of data files used, not including the extra primary files. File_Names -- A list of filenames delimited by the pound (#) character, where the first name is the XCF filename, followed by the data file names. This field is variable in length. d. The calculation and selection processing routines have been rewritten. In previous versions, all calculations were performed on every selected detail, and all selection expressions were performed at the same time. Calculations and selections are now performed only when needed. To support the rewrite of the record selection logic routine the SEGMENTED-SELECT setup file parameter has been added. To use the rewritten routine set this parameter value to Y. To execute selection logic the way it existed prior to V4.4 set this parameter value to N. The default value is shipped as Y. To view selection logic as it is being executed use the debug feature documented elsewhere in these release notes. This rewrite of selection logic may yield substantial performance increases in situations where the report reads data from multiple files, the selection logic references data from multiple files, and a small number of records are being selected. Some reports may yield a 70% or more decrease in CPU usage. There are also some circumstances where a report will take slightly longer to execute. This situation involves reports where records are rejected due to missing data in auxiliary files rather than data that fails to match the selection criteria. e. XENTIS/Report now support some selection on subtotals. To activate this feature you must respond with an S at the "Do you wish to have breaks" prompt. When this this feature is used, each break field will prompt the user for a series of select-on-subtotal expressions. All expressions must evalute to TRUE for the group of records to be selected. Each expression must be of the form: Accum-fld Operator Numeric-literal. "Accum-fld" must be a field specified in the report that is is accumulated, but not using running totals or alternate accumulation types such as /AVE, /MIN, etc. "Operator" must be a XENTIS comparison operator. "Numeric-literal" must be a valid XENTIS numeric literal. For example, if you a accumulating a field called ORDER_AMOUNT and you wish to select those records whose accumulate order amount is greater than 1000, then you would enter the following expression. ORDER_AMOUNT > 1000.0 f. The QUOTES-AROUND-STRINGS parameter in the Model Control File has been enhanced to accept a value of C. The value will instruct XENTIS/Model to put quotes around the data (text, numeric, and datetime) only if the data contains a comma (,) character. In addition, if the data contains quotes, then the quotes will be doubled and the data will be surrounded by quotes. g. Two additional Model Control files have been added to the set of supplied control files, TAB_SEPARATED.DAT and COMMA_SEPARATED.DAT. Their names are self explanatory. h. The TABLE, MEMBR, and ELEM calculation functions now accept tab as a delimiting character. This is useful for importing tab delimited data. To use a tab character in display mode enter the following calculation: TAB;1 = CHR(9) and then use the TAB calculation field. i. The output format of the DIR command has been improved. j. The new setup file parameter PROMPT-LIT-INPUT controls whether prompted literal prompt the user on SYS$INPUT: or on SYS$COMMAND:. This parameter only accepts values of "I" or "C". The default value shipped with V4.4 is "I". Changing it to "C" may be beneficial for executing XENTIS within DCL command procedures. k. To improve the security of data files used with the temporary dictionary feature, the setup file parameters TEMP-DROP-PRIV ALLOW-TEMP-UPDATE have been added. If your site installs XENTIS with privileges and the TEMP-DROP-PRIV parameter has a value of Y, then XENTIS will drop its privileges whenever it accesses a data file that is described by a temporary dictionary. Please remember that the dictionary file must reside in the same directory as the data file. The ALLOW-TEMP-UPDATE parameter has valid values of Y or N only, and controls whether or not XENTIS/Update can be used with a file that is described by a temporary dictionary. The default value shipped for TEMP-DROP-PRIV is Y, and the default value shipped for ALLOW-TEMP-UPDATE is N. l. XENTIS now offers an additional method for determining how ISAM files are joined. XENTIS will now access a Join Suggestion file prior to the Key Section in the dialogue. The Join Suggestion file is a text file that contains the dialogue responses for the Key Section prompts that join two ISAM files. The name of the Join Suggestion file is a combination of the parent and child filenames with an underscore (_) between the parent and child and a .JOIN file type (extension), such as PARENT_CHILD.JOIN. The directory where the Join Suggestion file is located is controlled by the JOIN-SUGGEST-LOC setup file parameter. The default value as shipped for this parameter is XENTIS44$JOIN:, which is a logical the user needs to define. For example, suppose there are two ISAM files, ORDHEAD and ORDDETAIL, whose fieldnames are not consistent with each other. Until V4.4, XENTIS could not make an intelligent guess as to how these files should be joined. Now with a Join Suggestion file, XENTIS can join these two files using the information in the Join Suggestion file. This file should be named ORDHEAD_ORDDETAIL.JOIN and located in the directory specified by the JOIN-SUGGEST-LOC setup file parameter. The ORDHEAD_ORDDETAIL.JOIN file might have the following contents: 2 !Key to access file by CUSTOMER_NUMBER !First field to build key ORDER_NUMBER !Second field to build key NONE !No more fields to use Y !Key has multiple records N !Don't replace missing recs with zeros m. The setup file parameter FLOAT-LEFT-PAREN now controls whether or not the left parenthesis floats to the right when the 'surrounding parenthesis for negative numbers' feature is used. To maintain compatability with prior versions, the default value shipped is N. The allowed values for this parameter is Y and N. n. XENTIS version 4.4 provides a number of new functions that can be used in calculations. They are: 1. HEXN. This function converts a number into a long integer and then into its hexadecimal representation. This function has one argument, a number field. The result of this function is always an 8 character text field. 2. HEXT. This function converts a text field into its hexadecimal representation. It has one argument, a text field. The result of this function will be a text field whose length is twice that of the argument. 3. CURDT. This function retrieves the current date and time from the operating system. It has one argument, a text field or a number field. The result is a datetime field. The argument serves only to control the frequency of the execution of the calculation. To retrieve the date and time from the operating system every time a new record is read from the primary file, you would enter the following calculation: CURDATE = CURDT(#A1) assuming that the first field in file A is either a text field or a number field. 4. INCR. This function provides an increment capability to XENTIS. It uses three arguments. The first argument is a number field indicating the initial value of the result. The second argument is a number field indicating the increment value. The third argument is a number field or a text field that serves to control the frequency of it execution. For example, if I wished to create tag numbers that start at 1500 and increase by 10 for each record in the customer file, I would enter the following calculation expression. TAGNUM = INCR(1500, 10, A:CUSTOMER_NAME) Please note that all calculations are performed prior to sorting. 5. CVTN, CVTD, and CVTT. These three functions do data type conversions of data that you do not have control over their defined data type. These functions take two arguments. The first argument is a text field containing the data that you wish to convert. The data type of this argument can be any text class type. The second argument is a text field containing the data type abbreviation as specified in the reference manual appendix regarding data types. The only difference between these functions is the resultant data type. CVTN returns a numeric field, CVTD returns a datetime field, and CVTT returns a text field. For example, suppose you have a 120 byte field named FILLER whose data type is STR or T. You know that in bytes 21 and 22 is an unsigned word integer that you want to process. This data can be accessed by using the following calculation: CODE = CVTN( SEG( C:FILLER, 21, 22), "WU") In another example suppose characters 7 though 12 of an Order Number field contain the date of the order in DDMMYY format. This data can be accessed by using the following calculation: ORDER_DATE = CVTD( SEG( B:ORDER_NUMB, 7, 12), "DMY") 6. SUBSA and SUBS1. These two functions perform character substitutions in a text field. These functions take three text arguments. The first argument is the text field that is to modified. The second argument is the search text field. The third argument is the replacement text field. The difference between SUBSA and SUBS1 is that SUBSA performs the character substitution on all occurrences of the search field that are found, while SUBS1 performs only one substitution. The second and third arguments may be different lengths. For example, to substitute all commas with a dashes in a credit memo field, you might use the following calculation: NEW_MEMO;12 = SUBSA(B:CREDIT_MEMO_NUM,",","-") o. XENTIS now provides support for Comma Separated Value files and for Tab Separated Value files, CSV and TSV respectively. This makes importing data from an external source much easier. To use a CSV or a TSV file you must describe the imported data in either a XENTIS dictionary or in a Temporary dictionary. When using a Temporary dictionary you will need to add a "RECORD_FORMAT: C" line for a CSV file or a "RECORD_FORMAT: T" line for a TSV file to your Temporary dictionary file. When using a XENTIS dictionary you should respond with either a C or a T at the "Record Format" prompt. When using a CSV or TSV file, only a few data types are valid. The available data types are T, ZT, STR, and YN for text fields, GN for numeric fields, and TDA, MDY, DMY, and PRD for date fields. When defining fields for a CSV or TSV file be sure to specify a field length that will be large enough for the largest instance of the field. p. There is a new setup file parameter called RIGHT-MARGIN. This parameter controls the right margin which determines where certain elements of the title lines are printed. A value of zero indicates that XENTIS should duplicate its behavior prior to V4.4. The default value is shipped as zero. This parameter also affects the SPREAD command and the DUMP command. q. There is a new setup file parameter called STATS-ON-REPORT. This parameter controls whether or not performance statistics are printed on the bottom of the report. The valid values for this parameter are Y and N. The default value as shipped is N. r. XENTIS V4.4 now supports the GOTO NEXT command, the F17 key, and the PF1-PF4 key combination, in the Format Section of the dialogue. s. The error handling has been improved. Most occurrences of invalid floating point data will now be processed without aborting. Most circumstances where XENTIS needs to abort will now result in the setting of the DCL $STATUS symbol to an abort error code. This will allow DCL command files to trap for fatal aborts. t. The maximum number of literals allowed has been increased to 200. u. There is a new setup file parameter, UPDATE-LOG-NAME, that controls the name of the log file for XENTIS/Update. If the parameter value contains percent-X-percent, %X%, then this sequence is replaced with the current date and time with the format used in previous versions. If the parameter value contains percent-C-percent, %C%, then this sequence is replaced with the current XENTIS Command File name. If the parameter value contains percent-D-percent, %D%, then this sequence is replaced with 8 numeric characters that indicate the current date. If the parameter value contains percent-T-percent, %T%, then this sequence is replaced with 6 numeric characters that indicate the current time. The default value of this parameter is SYS$DISK:[]UPDATE_LOG_%D%_%T%.LIS. v. XENTIS now allows the user to respond with multiple ranges for the "First key to read" and "Last key to read" prompts for the primary file. This is done by entering multiple ranges at the prompts with each range separated by the delimited specified by the FIRST-KEY-RANGE-DEL setup file parameter. The default parameter value is a semicolon, (;). This new capability may be used with the multiple segment feature for first/last key to read that was introduced in version 4.3. For example, if reading the customer file using the customer name index and you wish to access all customer's whose name begins and end with A, C, E, or G, you would respond as follows at both the "First key to read" and "Last key to read" prompts: First key to read? A;C;E;G Last key to read? A;C;E;G If more than one range is specified for the First Key then an identical number of ranges must be specified for the last key. w. The Sort-On-Total feature is now available for XENTIS/File. Its usage is the same as in XENTIS/Report or XENTIS/Model. x. Pressing CTRL/C while XENTIS is in its selection phase will under many circumstances exit the selection phase and proceed on to the sort and print phases. This is not guaranteed to work this way under all cases. y. The following Sybase datatypes are partially supported: binary, varbinary, image, and text. The first three are converted to a XENTIS STR datatype with a maximum length of 512 bytes. The text datatype is converted to a XENTIS NT datatype with a maximum length of 512 bytes. z. Temporary dictionaries now support the FIELD_POSITION, FIELD_OCCURS, FIELD_STRIDE, and RECORD_FORMAT labels. The definition of these items are the same as in XENTIS/Dictionary. 2. /Edit No enhancements specific to XENTIS/Edit were made for version 4.4 3. /Dictionary No enhancements specific to XENTIS/Dictionary were made for version 4.4. 4. General Enhancements a. The Barcode module is now part of the standard XENTIS product. It is no longer an extra cost module. b. Due to a lack of usage, DBMS and Adabas/Natural database support has been removed from the software. MCBA Dibol and GSI'S FMS-Isam support has also been removed for similar reasons. This significantly reduces the size of the executable images. c. For MAXCIM users, XENTIS now allows the usage of the NCA Byte Array, XENTIS datatype NBY, fields. These fields will be treated identical to text fields whose datatype is STR. XENTIS will not alter or convert any byte of these fields. The real datatype of the data that is stored in these fields is unknown to XENTIS, and varies from file to file and program to program. It is the user's responsibility to know the real datatype of an NBY field. In many cases the data contained in these fields is of a binary nature and is not printable. You will probably need to use the new CVTN, CVTD, or the CVTT functions on a segment of the data contained in one of these fields. For example, suppose the STATUS_FLAG_ARRAY is a set of long integers, which are 4 bytes long, that contain some status flags. To use the third status flag you will need enter a calculation as follows: STATUS_FLAG_3 = CVTN(SEG(STATUS_FLAG_ARRAY,9,12),"L") This calculation says the following: Use the SEG function to extract bytes 9 through 12 from STATUS_FLAG_ARRAY, then use these four bytes as if they are a long integer, and place the result into STATUS_FLAG_3. d. For MAXCIM users, in save set F on the distribution tape are two files, ECBFILE.DMP, and ECBFILE.XCF. The ECBFILE.DMP describes the MAXCIM ECB file, and can be loaded into a XENTIS dictionary using the Dictionary Load utility. This file can also be used as a XENTIS Temporary Dictionary if it is placed in the same directory as the MAXCIM ECB file and given a Temporary Dictionary file extension. The ECBFILE.XCF file is a XENTIS Command File that produces a report describing your MAXCIM ECB file. To use this XCF file with a Temporary Dictionary you need to define a logical ECBFILE that translates to your desired MAXCIM ECB dictionary file. While these files are not supported, they provide a good example of some of the newer and more advanced features of XENTIS. e. The RDA and the RDR datatypes may now be either 2 bytes or 4 bytes in length. f. The General Numeric (GN) datatype now allows comma (,) characters and dollar ($) characters as part of the data. These characters will be ignored. This is useful if your input file is a comma separated values file (CSV) or a tab separated values file (TSV). g. The following data types are now supported on Alpha AXP systems only: Data type Abbr Size ----------------------------------- ---- ---- IEEE Single Precision Floating FS 4 IEEE Double Precision Floating FT 8 IEEE Extended Precision Floating FX 16 You may define a field in a XENTIS dictionary using these data types, however, if you should attempt to use them on a VAX system, you will read and write a value of zero. D. KNOWN PROBLEMS AND RESTRICTIONS XENTIS has several known problems and restrictions. Some of these are known bugs in the XENTIS software, some are known bugs in other software that XENTIS uses, such as Rdb, while others are limitations placed upon XENTIS by the operating system. 1. Print frequency U (for Unique) and the setup parameter ACCUM-IF-UNIQUE may not always work when multiple primary files are being used. This is because two records in different primary files may have the same record pointer (RFA in RMS files). After sorting, these two records may get sorted next to each other. As a result, XENTIS thinks they are the same record, because they have the same RFA. 2. If the user enters a prompted literal, then backs up and makes a correction to the prompted literal, the user may be prompted for the first literal even though it is no longer part of the report. This happens because literals that were entered and then changed during the report definition, remain in the internal literal pool. This problem will automatically disappear when the report definition is saved and the report is reexecuted after exiting. 3. A problem may occur with XENTIS Dictionaries created prior to XENTIS V3.1. In some cases the prefix entry in the file record was not created correctly. Due to enhancements made to the processing of prefixes, the incorrect data stored in such prefixes may cause reports or /Edit to work incorrectly. This problem is resolved by running "Edit a Data Dictionary" from the XENTIS/Dictionary menu and selecting "Change" "File" followed by changing the prefix value from spaces to null. Running the program XDFIX_PREFIX found the the images directory will also correct this problem. 4. The sizes of all records from all input files, plus calculations, sort records, and literals, cannot exceed 32767 bytes. Under most circumstances this restriction is not a problem. However, should this limitation be reached, it is possible to avoid the limitation by restricting the record size of certain files. This is accomplished as the following example illustrates. $ DEFINE RECSIZE_LIMIT_SALESHIS 12000 If the above DCL command is entered, then XENTIS will limit the SALESHIS file to 12000 bytes. 5. /Update does not allow the same data file to be used twice, unless those files are used only to perform selection and/or calculations. This means that you cannot modify a field or delete a record if that field or record is located in a file that is used two or more times in a single /Update run. This restriction is placed due to problems involving record locking, rereading records by RFA, and RMS not being able to keep track of where the next record is located. This restriction may cause certain existing XENTIS command files to no longer work; receiving the error message "Same physical file update not allowed". These XENTIS command files may not have been working correctly. The solution to this problem is to perform this operation in two passes; the first being a SELECT function where the desired records are selected and their pointers are saved into a pointer file, followed by a REUPDATE where the selected records are read after retrieving their pointers from the pointer file. This restriction was effective with V3.6 of XENTIS. 6. When using a MAXCIM ECB data dictionary, only one version of a data file is allowed. Specifying a version other than the most current version will be ignored. Using the ACTUAL/GENERIC syntax does not get around this restriction. The LIST FILES command displays the filename as the user entered the filename, which will be different from the file that will be used if a version other than the most current version is entered by the user. 7. The DROP-PRIV setup file parameter has no effect with MAXCIM V4 or later files. This is to conform to the MAXCIM security mechanism. 8. Calculations-on-totals should not use more than one occurrence of the same data field in the same report. An easy work around is to specify a calculation such as: AMOUNT3 = AMOUNT(3) 9. There is no support in the software for descending keys. They may, however, work under certain limited circumstances where the ascending/descending nature of the key is not used. 10. Entering a print mask using dual leading dollar signs or dual leading asterisks without including a trailing minus sign is accepted. Printing negative data will thus erroneously print as if it were positive, with no error indicated. 11. The COBOL to XENTIS dictionary transfer does not support sequence numbers in columns 73 through 80. Sequence numbers are typically used in older punched card source files. 12. The Rdb interface converts Rdb VARCHAR fields to CHAR fields. This means that VARCHAR fields will have spaces appended to the end of the field to fill out the field to its maximum size allowed. If a VARCHAR field is used in an index, which is usually not wise, and two or more tables are joined using the /NOSQL qualifier, then you will probably have to specify a sub-field as your 'field to build key' field. For example: if the desired index to file B is using datatype VARCHAR(5) but only two of the five characters are really being used, then you should use only the first two characters of the input field from file A. 13. When displaying the output of a report to the screen, there is a limit of the number of lines available. If a detail contains more than the limit, then one or more printed lines may scroll of the top of the screen. 14. The FMTNM function does not support the blank-when-zero feature of print masks, designated by the ampersand character, the trailing DB if negative feature, the trailing CR if negative feature, or the surrounding parenthesis if negative feature. 15. The minimum version of Ingres that is supported is version 6.3. This allows XENTIS to support groupids of the Knowledge Management Extension to Ingres. 16. The Rdb interface does not support the catalog and schema features of Rdb V4.1 and later. When XENTIS/Report attaches to a multischema database it specifies that the multischema capability will be turned off for the duration of the attachment. If a multischema database is used, the then the RDB-USE-ATTACH setup parameter must be set to Y. 17. When entering a CDD pathname and you do not want CDD$DEFAULT applied, be sure to start the pathname with _CDD$TOP rather than CDD$TOP. In other words, start the pathname with an underscore character. 18. XENTIS/File does not work when the output file is an Rdb table and the table contains computed_by fields, or virtual fields. 19. Calculation expressions may not include the vertical bar character (|). If you need a vertical bar character, the following calculation expression will yield one: BAR;1 = CHR(124.) 20. Due to a bug in Rdb, the Rdb interface for XENTIS does not work if XENTIS is installed with privileges. If you have a limited user license key, give all XENTIS users the SYSLCK privilege and define the XENTIS44_PRIV_LIST to NOINSTALL before executing the XENTIS startup procedure (SYS$MANAGER:XENTIS44_START.COM). 21. The minimum supported version of Rdb is version 4.0 on Vax systems and 6.0 on Alpha AXP systems. 22. The minimum supported version of Oracle is version 7.0. To use Oracle7 on Alpha AXP systems contact your XENTIS vendor. 23. The only supported versions of Progress are 6.2N and 6.2L. 24. The Info File Creation program does not work with Rdb V4.0, but it does work with later versions of Rdb. 25. While XENTIS is supported on OpenVMS V6.1 for Alpha systems, because of various RTL bugs we recommend that V6.2 or later be used. E. PROBLEMS FIXED IN XENTIS V4.4. 1. XENTIS/Dictionary erroneously allowed the user to define a file with an index comprised of integers and text fields. RMS does not allow an index with multiple segments if one of the segments is an integer or a date. This problem has existed since version 2.0. 2. The EXCEPTIONS-FILE and REGISTRY-FILE setup parameters could not be changed online with the SET command. This problem was introduced with these particular setup parameters. 3. The INSERT command did not work in the break section of the dialogue. It would delete all the breaks. This problem was introduced in V3.6. 4. If print attributes are used with title lines and the attributes flag, /ATTR=, was entered in lower case, then the attributes flag and the attribute name were displayed on the screen when using display mode. The report output did not have this problem. This problem was introduced in V4.1. 5. There were several instances, including using the SELECT function, where XENTIS would not prompt the user to press the return key when the program was completing and about to exit. XENTIS should now issue the prompt whenever it is exiting, unless the user has specifically requested the exit. 6. XENTIS would abort when using the LIST command if the LIST output was directed to a file whose name was not valid. This problem was introduced in V4.1. 7. If your first N files are from an SQL database, your N+1 file is an RMS file, you were joining your RMS file using a field from file 2 to N, and your join field was not used elsewhere in the report, then the RMS file would not get joined to the SQL files. 8. The SQL-SORT parameter would be ignored if the sort fields for an SQL database report were numeric or date. 9. If the CONVERT-SEGMENTS setup parameter was set to Y and a relative file was used as an auxiliary file, then under some circumstances the user would get the 'Key Segment Mismatch' error message. 10. XENTIS/Model would output a grand total line when only detail output was requested. This problem was introduced in V4.3 and has been corrected. 11. In display mode with several hundred fields, XENTIS/Report would sometimes go into an infinite loop at the very first "field name/number/literal" prompt if there was no default. This problem was introduced in V4.1 and magnified in V4.3. 12. A couple of info window problems that occur only when there are several hundred fields have been corrected. 13. Beginning with V4.3, whenever a user wanted to modify the primary key field with XENTIS/Update, XENTIS requires the user to perform a SELECT function followed by a REUPDATE function. This is due to RMS losing its position within the file. However, a bug was introduced that did not allow the user to modify the primary key even when using the REUPDATE function. This problem has been fixed. 14. A problem occurred in V4.3 that caused fields with print frequency "S" to print on the grand total line when data was being accumulated. This has been corrected. 15. XENTIS allows 150 fields on an output report. A problem was introduced in V4.3 such that if more than 147 fields were output on a report, then XENTIS would abort. This has been corrected. 16. Under certain very rare circumstances some negative numbers would print as a positive number. This would occur only if default negative indication processing was used, in other words, a leading minus sign. This problem has existed for a number of years and is corrected in version 4.4. 17. Using Rdb on Alpha AXP system would sometimes result in an abort before a report was produced and sometimes after a report was produced. This was a compiler problem that was resolved. 18. Specifying a text literal as your output field in XENTIS/File where the output file was described by a temporary dictionary would result in the text literal always having a length of one byte. This problem was introduced in V4.3.
GrayMatter Home | XENTIS Home | Download Software | XENTIS Technical Support | Contacting GrayMatter | XENTIS News
![]()
Comments? Send us your feedback.
![]()
www.graysoft.com© Copyright 2020 GrayMatter Software Corp.
All rights reserved.