DI*22.0*20 (2699)    BUILD (9.6)

Name Value
NAME DI*22.0*20
DATE DISTRIBUTED 2000-01-20 00:00:00
PACKAGE FILE LINK VA FILEMAN
REQUIRED BUILD
  • DI*22.0*1
    ACTION:   Don't install, remove global
  • DI*22.0*4
    ACTION:   Don't install, remove global
  • DI*22.0*16
    ACTION:   Don't install, remove global
  • DI*22.0*17
    ACTION:   Don't install, remove global
TYPE SINGLE PACKAGE
DESCRIPTION OF ENHANCEMENTS
Fixes several bugs in the FileMan lookup ^DIC routines and the finder
 
no need to re-run DINIT to get the new field installed.
 
Routines: DINIT0FA, DINIT0FB
============================
When a new-style cross-reference is edited, provide a default for
Subscript Number only for Regular-type indexes, not MUMPS-type indexes.
Also, set the Subscript Length to 30 for Free Text and MUMPS fields only
if the the field is used as a subscript. Note that these changes to the
ScreenMan form for editing new-style cross-references is transported as
part of the KIDS build for this patch, so there is no need to re-run DINIT
Routines: DIC1, DIC2, DIC5 
to get these changes.
 
Routine: DIKCP1
===============
Include the new field TRANSFORM FOR LOOKUP (#5.3) in Data Dictionary
Listings.
 
 
NOIS 
====
==========================
BIL-1299-32021
ISD-1199-72724
ISL-1299-51117
SLC-1299-51331 
 
 
Thanks to Test Sites 
====================
 
Routine Summary: 
When the "T" flag in DIC(0) is used, FileMan displays the field on which a 
================
The following routines are included in this patch.  The second line of these
routines now looks like: 
  
  <tab>;;22.0;VA FileMan;**[patch list]**;Mar 30, 1999 
  
CHECK^XTSUMBLD results: 
  
  Routine Name   Before Patch    After Patch     Patch List 
  ============   ============    ===========     ==========
match is made, as it presents the entries. This was happening even when DIC(0)
  DIC            9925689         9515778         4,17,20
  DIC0           4839635         5249546         4,20
  DIC1           8596617         8701710         1,4,17,20 
  DIC2           5005952         5078251         4,17,20
  DIC3           7365376         7735073         1,16,4,17,20
  DIC4           5435232         5480003         4,20
  DIC5           1959090         1889906         4,20
  DICF           8504495         8884337         20
  DICF2          8940451         9016160         4,20
  DICL2          4796448         4973816         20
did not contain "E". This patch prevents the display unless DIC(0) contains
  DICM           8330209         8458025         4,20
  DICM0          9037748         9043441         16,4,20
  DICM1          6170473         6277445         20
  DICM3          4576635         4769867         16,4,20
  DICUIX         7050873         7091249         20
  DIKCFORM      10827227        10615684         20
  DIKCP1         7463319         7673038         20
  DINIT0F1       5527731         5526766         20
  DINIT0FA       7807085         9430600         20
  DINIT0FB       9020615        10086109         20
"E".   (Found by Gary Beuschel, MailMan developer).
  DINIT2A3      13176711        14045038         1,20
  DINIT2A4       9326344        10531062         1,20
 
  
Installation Instructions: 
==========================
** It is HIGHLY recommended that ALL Users and VISTA Background jobs to be 
STOPPED.  Failure to do so may result in a 'source routine edited' error, the
edits will be lost and records may be left in an inconsistent state.  
** 
 
 
     1.  AXP sites: Review your mapped routine set.  If any of the routine(s)
listed in the ROUTINE SUMMARY section are mapped, they should be removed from
the mapped set at this time.  
 
     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 DIENVWRN will run automatically.  
Routine DIENVWRN is sent in order to prevent the inadvertent queuing during the
Routines: DIC3, DICF, DICF2, DICL2
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 
 
     5.  Inhibit users' login into the system.  The consequence of having users
on the system while installing this patch are that users 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.  
FIND^DIC.
A .01 field that was 240 characters long caused a SUBSCRIPT error to occur
         OpenM/Cache 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*22.0*20
                                 ==========
 
         Answer 'NO' to 'Want to DISABLE Scheduled Options, Menu Options, and
in the Finder FIND^DIC calls. I also found a similar problem in ^DIC if
Protocols? 
 
 
     8.  AXP Sites - After the patch has been installed, rebuild your map set,
if necessary.  
 
     9.  AXP Sites - Remove TaskMan from WAIT State.  
         OpenM/Cache Sites - Restart TaskMan.  
 
    10.  Enable users' login.  
the lookup value was very long. This patch corrects both problems.
(Reported by Hellevi, Ruonamaa of Finland.)
 
Routines: DICM3
===============
When doing a lookup on an indexed variable pointer field where the pointer
had a screen, the screen logic wasn't being honored during lookup on the
pointed-to file. Found by Frank Stalling and Paul Sharp. NOIS:
 
ISD-1199-72724, SLC-1299-51331.
 
Routines: DICM0
===============
If a New Style index on the .01 field has a TRANSFORM FOR STORAGE on it,
then don't allow LAYGO to the file while the value is in it's format after
going through the transform, as it may not be proper internal storage
format. An example is a date transformed to backwards collating sequence,
9999999-2991214. Found by developer.
 
Y2K Waiver ID#:  Y2KW0001               Y2K Waiver Status: Approved
Routines: DIC, DIC0
===================
The new feature that makes ^DIC set DIC("P") so that it doesn't have to be
set as an input variable by the developer when allowing LAYGO to
multiples, wasn't working correctly. Found by Jerald F Rutherford. NOIS:
ISL-1299-51117.
 
Routines: DIC1, DIC2, DICM, DICM1
=================================
In the process of testing the Name Standardization project for the New
 => This patch MAY NOT be installed between 12/15/1999 and 1/15/2000
Person file, it was discovered that when there was a transform on the "B"
index, the index value wasn't being displayed correctly during lookup.
 
Routines: DIC4
==============
When the new "T" flag was used in DIC(0), developer discovered that a hard
error could occur if one of the indexes was a new style index with
TRANSFORM FOR STORAGE code. The error happened during the code that
executes the transform against the lookup value, then does a second lookup
on the index looking for a match to the transformed lookup value.
    (the Y2K Lockdown Period).
 
Routines: DIC3
==============
Entries were not being found doing lookup when DIC(0) contained the
undocumented flag "U", as it is when doing a relational jump using a
backwards pointer. NOIS: BIL-1299-32021
 
Routine: DICUIX
===============
Look for the new field 'TRANSFORM FOR LOOKUP' in the INDEX file.
 => This patch may be installed during the Y2K Moratorium
Previously during lookup, if FileMan failed to find a match to the lookup
value, and if a lookup index had TRANSFORM FOR STORAGE code, FileMan
executed that against the lookup value and tried to find a match with the
new transformed value. Now it uses the TRANSFORM FOR LOOKUP code instead.
The TRANSFORM FOR STORAGE code is used only to transform an entries field
value before storing it in the index for that entry.
 
Routines: DIC3, DIC5, DICM
===========================
Because of the place where the DICR array was being NEWed when DIC(0)
    - AFTER 1/15/2000.
contained the new "T" flag, I was losing a flag that told me I asked the
user whether they wanted to add a new entry while I had an internal,
transformed lookup value to stuff in the .01 field. This was causing me to
ask again whether they wanted to add a new entry, after all the transforms
were done.  Found by developer.
 
Routine: DIKCFORM
=================
When a new-style index is created and a TRANSFORM FOR STORAGE code was
defined on one of the cross-reference values, the TRANSFORM FOR DISPLAY
 
field was made required. This change makes the TRANSFORM FOR DISPLAY
optional, even if a TRANSFORM FOR STORAGE is defined, since the internal
form of the index value may already be readable to the user.
 
Routines: DINIT2A3, DINIT2A4, DINIT0FA, DINIT0FB
================================================
Add a new field to the Index file (#.11), Cross-References Values multiple
(#.114). The field is TRANSFORM FOR LOOKUP (#5.3) and is used by FileMan's
lookup utilities (see change to routine DICUIX above). Note that this new
field is transported as part of the KIDS build for this patch, so there is
TRACK PACKAGE NATIONALLY YES
FILE
  • DD NUMBER:
    • CROSS-REFERENCE VALUES (sub-file)
      FIELD NUMBER:
      • TRANSFORM FOR STORAGE
      • TRANSFORM FOR LOOKUP
      • TRANSFORM FOR DISPLAY
    UPDATE THE DATA DICTIONARY:   YES
    SEND SECURITY CODE:   NO
    SEND FULL OR PARTIAL DD:   PARTIAL
    DATA COMES WITH FILE:   NO
BUILD COMPONENTS
  • ENTRIES:
    • DIKC EDIT FILE #.11
      FILE:   INDEX
      ACTION:   SEND TO SITE
  • ENTRIES:
    • DIC1
      ACTION:   SEND TO SITE
      CHECKSUM:   B31701185
    • DICM3
      ACTION:   SEND TO SITE
      CHECKSUM:   B10723692
    • DICF2
      ACTION:   SEND TO SITE
      CHECKSUM:   B29582212
    • DIC4
      ACTION:   SEND TO SITE
      CHECKSUM:   B15105977
    • DICM
      ACTION:   SEND TO SITE
      CHECKSUM:   B29210327
    • DICM1
      ACTION:   SEND TO SITE
      CHECKSUM:   B16642112
    • DICUIX
      ACTION:   SEND TO SITE
      CHECKSUM:   B20306246
    • DIKCFORM
      ACTION:   SEND TO SITE
      CHECKSUM:   B55033607
    • DINIT0F1
      ACTION:   SEND TO SITE
      CHECKSUM:   B52011854
    • DINIT0FA
      ACTION:   SEND TO SITE
      CHECKSUM:   B58401988
    • DINIT0FB
      ACTION:   SEND TO SITE
      CHECKSUM:   B57833769
    • DIC2
      ACTION:   SEND TO SITE
      CHECKSUM:   B14641942
    • DINIT2A3
      ACTION:   SEND TO SITE
      CHECKSUM:   B70482169
    • DINIT2A4
      ACTION:   SEND TO SITE
      CHECKSUM:   B35710310
    • DIKCP1
      ACTION:   SEND TO SITE
      CHECKSUM:   B41630978
    • DIC5
      ACTION:   SEND TO SITE
      CHECKSUM:   B4014776
    • DIC
      ACTION:   SEND TO SITE
      CHECKSUM:   B23405129
    • DIC0
      ACTION:   SEND TO SITE
      CHECKSUM:   B17141668
    • DIC3
      ACTION:   SEND TO SITE
      CHECKSUM:   B28147379
    • DICF
      ACTION:   SEND TO SITE
      CHECKSUM:   B32050803
    • DICL2
      ACTION:   SEND TO SITE
      CHECKSUM:   B15655174
    • DICM0
      ACTION:   SEND TO SITE
      CHECKSUM:   B25529295
ENVIRONMENT CHECK ROUTINE DIENVWRN