| DESCRIPTION OF ENHANCEMENTS |
After V22 of VA FileMan was released to National VistA Support (NVS) for
set logic are executed, the X1(order#) array contains the old field
values, and the X2(order#) array contains the new field values. If a
record is being added, and there is an X1(order#) array element that
corresponds to the .01 field, it is set to null. When a record is
deleted, all X2(order#) array elements are null.
Since the KIDS build for this patch brings in these fields automatically,
there is no need to rerun DINIT after installing this patch.
Routine: DICOMPV
NOIS
====
HAM-0499-21392
PHO-1198-62053
FNC-0599-30750
Thanks to Test Sites
====================
Hampton, VA
White City, OR
Bug: It was discovered that when using a Backward Extended Pointer and the
Fayetteville, NC
White River Junction, VT
Routine Summary:
================
The following routines are included in this patch. The second line of
these routines now look like:
<tab>;;22.0;VA FileMan;**[patch list]**;Mar 30, 1999
file that was being jumped to had a DINUMed .01 field back to the
CHECK^XTSUMBLD results:
Routine Name Before Patch After Patch Patch List
============ ============ =========== ==========
DIC1 7920273 8396997 1
DIC11 3133605 3318576 1
DIC3 8044472 8138582 1
DICA 8337676 8300985 1
DICA1 7134262 7156598 1
DICATTD 9780938 9786273 1
originating file, a jump was not being allowed.
DICOMPV 8888896 8426523 1
DIE 10522278 10606815 1
DIE1 10102666 10290843 1
DIEF 11594187 11950704 1
DIEFW 3026875 3026694 1
DIEZ 9351704 9378294 1
DIFROMSX 3683091 3497120 1
DIFROMSY 3656754 3974102 1
DIK1 6155873 6302851 1
DIKC 11169535 11836728 1
DIKZ1 9229373 9451304 1
DINIT2A1 13956613 14321834 1
DINIT2A2 12584241 14203695 1
DINIT2A3 14285423 13176711 1
DINIT2A4 2212843 9326344 1
DIR1 11551993 11554966 1
Installation Instructions:
==========================
Routine: DIC3
** 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.
Bug: Input variable DIC("S") to the ^DIC routine altered local variable Y.
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
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.
FileMan was not protecting Y and expected it to contain the record number
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
just looked-up, so the wrong value was displayed for the .01 field when
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.
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*1
field distribution several bugs were discovered at the test sites that
entries were presented to the end-user.
==========
Answer 'NO' to 'Want to DISABLE Scheduled Options, Menu
Options, and 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.
Routines: DIC1, DIC11
Bug: When the internal value of a date, pointer or variable pointer is
passed as a default lookup value in input variable DIC("B") to the ^DIC
routine, it should be displayed to the end-user in external format. This
worked in V21 but didn't in V22.
Routine: DIE
Bug: After a call to ^DIE with DR="[template name]", a ^TMP("DIE",number)
could affect various packages. The following is list of the routine(s)
node was not being killed.
Routine: DIEZ
Bug: An undefined X variable error could occur during a KIDS installation,
when KIDS called FileMan to uncompile an input template.
Routines: DICA, DICA1
Bug: If an UPDATE^DIE call is made from within another UPDATE^DIE call
(for example, when the Updater executes a cross-reference that makes
another Updater call), the call could fail and Dialog file error messages
and the problem that was corrected:
generated. Also the variable D was leaking out of UPDATE^DIE.
Routine: DIEFW
Bug: An undefined DIEFLOCK could occur if the Filer was called with the
"K" flag to do locking, and within that Filer call, a call was made to
WP^DIE (from within a cross-reference, for example) without the "K" flag.
Routines: DIFROMSX, DIFROMXY
Change: Before, if a partial DD was sent with KIDS and the file had KEYs,
all of the field definitions for the KEY fields had to be sent. We
decided that wasn't necessary, so after this patch, the field definition
for a key field must be sent only if the key is compound and other
field(s) in the key are being sent.
Routines: DIK1, DIKZ1
Bug: The ^DIK entry points did not have time-outs on the Lock commands
they issued.
Routine: DIR1
Bug: MAS patch DG*5.3*149 brought new code into routine DGREG. The old
Routine: DICATTD
code directly executed the input transform from subfile 2.101, field .01
to check the validity of a value entered by the user (in X). The new code
instead calls CHK^DIE (which also executes the input transform) to check
the validity of the value. The input transform code for this field sets
the variable DINUM. The MAS code at REG+2^DGREG then uses DINUM. In
version 22, FileMan NEWs DINUM in the CHK^DIE call before executing the
input transform, because DINUM is not a documented output variable, and
because it is a dangerous variable to leave around. MAS does not have
time to patch their code before the planned release of version 22, so
FileMan will temporarily 'leak' DINUM in order to avoid a hard error.
Bug: When using the option Modify File Attributes AND used the
After MAS patches their code, FileMan will issue another patch to restore
the NEW DINUM.
Routines: DIE1, DIEF, DIKC
Bug: If there is an X1 array element corresponding to the .01 field in the
new-style Index logic or condition, make sure it is set to null if the
record is being added.
Routines: DINIT2A1, DINIT2A2, DINIT2A3, DINIT2A4
Bug: These DINIT routines fix a typo on the description of the following
Screen-Mode version AND were adding a Free Text multiple, the 2nd piece of
field in the Cross-Reference Values multiple of the Index file (#.11):
11.1 Cross-Reference Values (Multiple-.114)
4.5 Computed Code
was: "Answer with M code that set X..."
should be: "Answer with M code that sets X..."
The DINIT routines also add information about the X1 and X2 arrays to the
descriptions of the following fields in the Index file (#.11):
the 0 node of the DD would be corrupted.
1.1 Set Logic
1.4 Set Condition Code
2.1 Kill Logic
2.4 Kill Condition Code
For each of the above fields, the following paragraph was appended to the
description:
When fields that make up a cross-reference are edited and the kill and
|