DI*21.0*29 (460)    BUILD (9.6)

Name Value
NAME DI*21.0*29
PACKAGE FILE LINK VA FILEMAN
TYPE SINGLE PACKAGE
DESCRIPTION OF ENHANCEMENTS
Prerequisites:
If FileMan patch DI*21*29 is installed without installing patch
the second file pointed-to by the variable pointer.  Found by Tom
Ackerman.
 
 
LOOKUPS USING POINTER FIELDS:
 
  a) Fixed a lookup problem in Social Work Case File (650) reported by
Kevin McGee, San Francisco VAMC. Lookup with lower case letter + last 4
digits SSN was very slow, and could potentially fail to find a valid match
as well.
GMRP*2.5*46, and if the site has the 'ASK TITLE OK?' parameter in file
 
 
LOOKUPS WHERE DIC(0)["N":
 
  a) When FileMan does a lookup by IEN because DIC(0)["N" and it can find
no other matches, make it ask OK?...  Reported by Clayton Curtis as a
MailMan bug when he accidently entered a number at the recipient prompt
(in an attempt to edit a line number of the message.).
 
 
121.99 (field 3.5) turned on and the user does the lookup on the title
VARIABLE PRESERVATION,CLEANUP,OUTPUT:
 
  a) Users lookup value X wasn't being protected while executing
IDENTIFIER logic.  Reported by George Huggins, Indian Health Service.
 
  b) When user was entering a new entry with DIC(0)'["A", and up-arrowed
out either during the entry of a required IDENTIFIER, or at the 'Are you
Adding...' message, FileMan wasn't setting output variable DUOUT. Reported
by Robert Whelan, Albany IRMFO.
 
file by Internal Entry Number (IEN) the '...OK? YES//' prompt will be
  c) UTILITY option to EDIT a file wasn't cleaning up the DR variable at
the end.  If the PRINT option was run immediately afterwards, it tried to
use DR as an input variable with unexpected results.  Reported by Skip
Ormsby, Clarksburg VAMC.
 
 
MIX^DIC1 AND IX^DIC CALLS:
 
  a) Honor cross-reference list D in an MIX^DIC1 call, when FileMan goes
off to look on cross-references for pointer, date, set and variable
displayed twice.
pointer fields on the home file, transforms lookup value from lower to
upper case, and other types of transforms.  Previously FileMan was looking
at all x-refs during this part of the logic.  Reported by Greg Kreis.
 
  b) Using the MIX^DIC1 call, if one of the x-refs in input variable "D"
is on a pointer field, we do a lookup in the pointed-to file.  FileMan was
still using the list of indexes in "D" on the pointed-to file, even though
they only had meaning in the original home file. Reported by Tom Love
(Indian Health Service).
 
 
  c) If developer did an MIX^DIC1 or IX^DIC call with D containing a
cross-reference before "B" (ex. "AC"), and lookup value was a pointer,
set, variable pointer or date, then lookup could only find the entry by
its internal value.  Reported by Greg Kreis.
 
 
PROBLEMS WITH PARTIAL MATCHING:
 
  a) Problem stuffing the .01 field of a multiple with "///" in an input
template, when field is defined as a date with time. When user enters a
After GMRP*2.5*46 has been installed, the user will only be prompted once
date with time as a lookup value, FileMan converts it to its FileMan
internal value, then if it finds a partial match to that date/time,
considers that to be a match.  If there is just one partial match, this
entry is selected.  This was a problem when user was trying to stuff a
date/time entry into a multiple with the 3 slash syntax.  The fix is for
FileMan to automatically put an X into DIC(0), thus forcing exact matches
only, when the 3 slash syntax is used in an input template.  Found by
Cindy Heuer (Hines IRMFO) in Radiology.
 
  b) FileMan did not properly find partial matches to a numeric lookup
under those conditions.
value, if the value in the index was alpha-numeric, but started with a
number containing decimals.  This was found at Tucson VAMC by Jim Orrey.
They had a file where entries contained rational numbers, but they had
created an index with a trailing blank, in order to force string
collation.
 
  c) If .01 field is longer than 30 characters, user enters a lookup value
greater than 30 characters in lower or mixed case, FileMan failed to find
valid matches to the lookup value.  Reported by Dave Bolduc (AIMC
programmer)
 
 
 
PROBLEMS ADDING NEW RECORDS:
 
  a) If a process held onto a LOCK on what would have been the next record
to be added to a file before incrementing the next record number count in 
the header node, any other process trying to add an entry to that file
would get stuck in an infinite loop (unless/until the first process
released its lock).
 
 
  b) If, contrary to the instruction on page 65 of the FileMan version 21 
Programmers Reference Manual, a routine called FILE^DICN with the local 
variable DD set equal to "B", or the name of some other index in the data 
file, or the record number of an existing record, or 0, that routine would
get stuck in an infinite loop.
  
  c) If a routine called FILE^DICN with DD set to some other value, the
new record would be added to the file with that as its record number, even
if DD's value was not a legal record number. This erroneous behavior even
overrode the use of DINUM.
==============
 
 
 
 
In addition, a new flag DIC(0)["B" was added.  The purpose of the flag is
to restrict FileMan to looking only on the "B" index of any files
pointed-to by the file in which you're doing the lookup.  The complete API
description is available in HTML format at:
 
   http:
 //www.vista.domain.ext/softserv/infrastr.uct/fileman/docs/pm/cl-dic-f.htm
Patch Description
 
 
 
 
 
 Routine Summary: 
 ================
  
 The following routines are included in this patch.  The second line of
these routines now look like:
=================
   
   <tab>;;21.0;VA FileMan;**[patch list]**;Dec 28, 1994 
   
 CHECK^XTSUMBLD results: 
 
   Routine Name   Before Patch    After Patch     Patch List 
   ============   ============    ===========     ==========
DIA                 6481291         7724491               29
DIC                 9887383        10229217             8,29
DIC1                7157061         7440729               29
 
DIC2                3386307         3335934               29
DICM                8204058         9718946               29
DICM0               4918663         4859257             6,29
DICM2               6920486         7132763               29
DICM3               4620259         5089665               29
DICN                7476631         7973339         12,19,29
DICN1               7148963         5825723               29
DICQ                8535882         9280954               29
DICQ1               5481016         5602061               29
DIE1                6179725         6188430               29
This patch fixes many bugs and makes some minor enhancements in the
DIE17               6896286         6919106            19,29
DIE3                4863655         4850886               29
DIOU                4914520         5001668             8,29
DIU                 4034034         4050319               29
 
 
  
 Installation Instructions: 
 ==========================
   
FileMan lookup (^DIC, IX^DIC and MIX^DIC1) entry points.
     1.  The routines DIC, DIC1, DIC2, DICM, DICM0, DICM2, DICM3, DICN,
DICN1, DICQ, DICQ1, DIE1, DIE17 and DIOU are usually mapped on systems
that allow mapping, AXP sites will need to disable mapping for these
routines.
  
     2.  Use the 'INSTALL/CHECK MESSAGE' option on the PackMan menu. This
option will load the KIDS package onto your system.  (The environment
check routine DIENV will run automatically.  DIENV is sent in order to
prevent the inadvertent queueing of the installation of this patch.)
  
 
     3.  The patch has now been loaded into a transport global on your
system. You now need to use KIDS to install the transport global.
  
     4.  On the KIDS menu, under the 'Installation' menu, use the
following options:
            Print Transport Global 
            Compare Transport Global to Current System 
            Verify Checksums in Transport Global 
            Backup a Transport Global 
  
The patch addresses the following NOIS and E3R:
     5.  Inhibit users from login into the system.  The consequence of
having users on the system while installing this patch are that users
adding or editing records will get a 'source routine edited' error, the
edits will be lost and records may be left in an inconsistent state.  Note
that most of these routines are heavily used in DHCP applications.
  
     6.  AXP Sites - Place Taskman in a WAIT State.  
         MSM Sites - STOP Taskman.  
 
     7.  On the KIDS menu, under the 'Installation' menu, use the
 
following option:
            Select Installation Option: Install Package(s) 
            Select INSTALL NAME: DI*21.0*29 
                                 ==========
  
            Answer 'NO' to 'Want to DISABLE Scheduled Options, Menu
Options, and Protocols?
  
     8.  MSM Sites - Answer YES to the question 'Want to MOVE routines to
other CPUs?'. Then enter the names of your other Compute and Print
NOIS:                          E3R:
server(s).  NOTE: You will then see the following message:
   TASKMAN is not running. You must run the routine XPDCPU in the
production UCI for each of the VOLUME SETS you have listed once the
installation starts!!
  
     9.  MSM Sites - After the installation begins, you will be prompted
to enter a DEVICE.  After the device has been entered, KIDS will pause. At
this time, you need to go to each of the CPUs that were entered in step 8,
and start a job that will allow them to receive the patched routines.  On
each one, you do the following:
 
========                       =======
 
     a) >D ^XUP    This will set up the programming environment.  
         ======
     b) >D ^XPDCPU  This starts the job that receives the patched routines
         =========
     c) Select INSTALL NAME: DI*21.0*29
                             ==========
The installation will then continue.
  
     10.  AXP Sites - After the patch has been installed, rebuild your map
ANN-0496-42241                 7556
set. 
  
     11.  AXP Sites - Remove Taskman from WAIT State.  
          MSM Sites - Restart Taskman.  
  
     12.  Enable user's login.  
BIR93-2-2097
CLE-1295-41595
CLL94-3-0077
DAY-0895-42009                  
DUB-0696-30598                  
HUN-0896-21930
ISL-0794-50399
KNX-0396-41289
Progress Notes patch GMRP*2.5*46 should be installed at the same time as
LEA-0496-41204
LON-0296-62113
MAD-0694-40057
MWV-1295-21154
NOL-0896-71128
OKL-0396-70731
PAL-1096-60467
REN93-4-0762
SFC-0696-61382
TUC-0295-60054
this FileMan patch.  Below is a brief description of that patch.  If the
WCO-0195-50090
 
 
In addition, the patch fixes the following bugs/shortcomings reported in
mail messages and not through the NOIS or E3R system.:
 
ONLINE HELP/PROMPTS:
 
  a) Question mark help on a set of codes wasn't right aligning the
external value of the possible choices in the display.  Reported by Cathy
Progress Notes patch is not installed, it will result only in a minor
Williamson (Hines IRMFO).
 
  b) If adding a new entry failed due to failure during execution of a
LAYGO node on the file, or because the file is restricted from editing
(such as an archive file), FileMan quit without giving any indication. Now
it will question mark beep so user knows something went wrong.  Reported
locally by Don Creaven.
 
  c) When doing a lookup on a multiple field with a whole-file
cross-reference (like a SYNONYM multiple), the entry from the x-ref was
annoyance as described, but will not affect any data.
being displayed, but not the .01 at the top level of the selected entry.
Reported by Robert Melmoth (Hines IFMRO).
 
  d) When doing a lookup on some index other than the .01, only the value
from the index is displayed, and not the value of the .01 field itself.
Reported by Tom Ash (Montgomery)
 
  e) A new field SHORT DESCRIPTION was added to the DIALOG file.  A WRITE
identifier was added to display this field on lookup.  Suggested by Mike
Kilmade.
 
 
 
HARD ERRORS:
 
  a) Bad variable name error at NAME+1^DICM2, when displaying DIC("B")
default value when following a pointer to a variable pointer.  Reported by
Mary Ann Ferrarese in Record Tracking.
 
  b) NOPEN error when job is queued with no device, DIC(0)["Q" and lookup
fails.  It tried to write #7,??.  Reported by Skip Ormsby (Clarksburg
 
VAMC).
 
  c) UNDEF error at R+1^DIC2 when a cross-reference entry exists but no
corresponding entry exists in the data.  Found during testing of FileMan
21 at Oklahoma City VAMC.
 
  d) UNDEF error in ALL^DICM2 was caused when we had a file with the .01
field a variable pointer, the .01 field of the first pointed-to file is a
pointer, user selects the value on the pointed-to file, presses return
when matches on the home file are selected, then FileMan starts to look at
TRACK PACKAGE NATIONALLY YES
FILE
  • UPDATE THE DATA DICTIONARY:   NO
    SEND SECURITY CODE:   NO
    RESOLVE POINTERS:   NO
    DATA COMES WITH FILE:   YES
    SITE'S DATA:   OVERWRITE
    MAY USER OVERRIDE DATA UPDATE:   NO
    SCREEN TO SELECT DATA:   I Y=10
  • DD NUMBER:
    • DIALOG (File-top level)
      FIELD NUMBER:
      • SHORT DESCRIPTION
    UPDATE THE DATA DICTIONARY:   YES
    SEND SECURITY CODE:   NO
    SEND FULL OR PARTIAL DD:   PARTIAL
    DATA COMES WITH FILE:   NO
BUILD COMPONENTS
  • ENTRIES:
    • DIA
      ACTION:   SEND TO SITE
      CHECKSUM:   B13061545
    • DICN1
      ACTION:   SEND TO SITE
      CHECKSUM:   B12011149
    • DICQ
      ACTION:   SEND TO SITE
      CHECKSUM:   B14261570
    • DICQ1
      ACTION:   SEND TO SITE
      CHECKSUM:   B12119564
    • DIE1
      ACTION:   SEND TO SITE
      CHECKSUM:   B10657171
    • DIE17
      ACTION:   SEND TO SITE
      CHECKSUM:   B12736887
    • DIE3
      ACTION:   SEND TO SITE
      CHECKSUM:   B7388978
    • DIOU
      ACTION:   SEND TO SITE
      CHECKSUM:   B10279507
    • DIU
      ACTION:   SEND TO SITE
      CHECKSUM:   B8039629
    • DIC
      ACTION:   SEND TO SITE
      CHECKSUM:   B21761395
    • DIC1
      ACTION:   SEND TO SITE
      CHECKSUM:   B12411209
    • DIC2
      ACTION:   SEND TO SITE
      CHECKSUM:   B4650993
    • DICM
      ACTION:   SEND TO SITE
      CHECKSUM:   B20166463
    • DICM0
      ACTION:   SEND TO SITE
      CHECKSUM:   B6697785
    • DICM2
      ACTION:   SEND TO SITE
      CHECKSUM:   B8943717
    • DICM3
      ACTION:   SEND TO SITE
      CHECKSUM:   B6204998
    • DICN
      ACTION:   SEND TO SITE
      CHECKSUM:   B19595219
ENVIRONMENT CHECK ROUTINE DIENV
PRE-INSTALL ROUTINE DIPRE