DESCRIPTION OF ENHANCEMENTS |
This patch fixes the following problems:
were a lookup cross reference, and could pick up the wrong field. (DDS0)
string 18 string 18a
string 19 string 19a
Enter RETURN to continue or '^' to exit:
-------------------------------------------------------------------------
String 15a should have printed next to string 15, but instead printed on
the subsequent screen on a line by itself.
This change fixes this problem. (DDSMSG)
12. This patch fixes and enhances the POINTER LINK property of blocks.
Suppose you want to display, in a repeating block, entries in a file
reached via a backward pointer and then from one of those entries,
you want to follow a forward pointer and branch to a page to display
entries from the pointed-to file. No POINTER LINK syntax would allow you
to define this relationship. The reference point for the POINTER LINK
needed to be the Primary File of the form, and the syntax didn't allow for
navigation via a backward pointer.
This patch introduces the syntax:
3. If the last field on a block is uneditable, and you pressed <Up> or
DD(file#,pfield#) or [DD(file#,pfield#1):pfield#2...]
or DD(file#,field#)
to the POINTER LINK, where file# is the point of reference to start the
navigation, pfield# is the pointer field that points to the file defined
by the block's DD#, and field# is the field used as a lookup value in the
file defined by the blocks DD#.
This patch also allows for navigation via a variable pointer:
<PF4> from another block or from the Command Line to this field, the
vpfield#:file#
or vpfield#:file#:pfield:pfield#...
where vpfield# is a the number of a variable pointer field. The key
difference is that you can specify the file# to which to navigate.
(DDSPTR)
13. If DDSBR was set to "fieldId^blockId^pageId", and blockId was the
Block Name rather than the Block Order number, ScreenMan disregarded the
cursor would appear to be stuck, and would remain in its current location.
blockId and automatically assumed the first block on the page. (DDS2)
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
(DDS01)
CHECK^XTSUMBLD results:
Routine Name Before Patch After Patch Patch List
============ ============ =========== ==========
DDS0 3530371 3556700 4,11,20
DDS01 6353532 6466228 4,13,14,20
DDS02 3319070 3361580 20
DDS1 4939831 4949444 4,13,20
DDS2 8724593 7821612 20
DDS41 6131012 6283323 4,20
DDS7 4229219 3559395 13,20
DDSCAP 862095 860878 13,20
DDSM 4593795 4923688 6,13,14,20
DDSMSG 2481467 2834198 20
DDSPTR 5051244 5419548 20
DDSR 7814012 7813886 14,20
Installation Instructions:
=========================
4. Suppose on a form you have a form-only field that is defined as
1. AXP Sites - The routines DDS0, DDS01, DDS1, and DDSR are
usually mapped on systems that allow mapping, so you 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 to prevent the inadvertent queuing of the installation
'Reachable', which means the user can navigate to the field but can't
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
change its value. If the user tried to change the value, ScreenMan would
Verify Checksums in Transport Global
Backup a Transport Global
5. Inhibit users from login into the system. The consequences of
installing this patch while users are on the system are that users editing
data via ScreenMan forms will get a 'source routine edited' error, and
their edits will be lost, and the data may be left in an inconsistent
state. Note that PAID is an application that uses ScreenMan.
6. AXP Sites - Place Taskman in a WAIT State.
correctly display a message that editing was not allowed. But instead of
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*20
==========
Answer 'NO' to 'Want to DISABLE Scheduled Options, Menu
restoring the original value in the editing window, ScreenMan would
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 server(s).
NOTE: You will then see the following message:
TASKMAN is not running. You must run the routine XPDCPU in the
display the new value entered by the user. (DDS02)
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*20
==========
The installation will then continue.
10. AXP Sites - After the patch has been installed and IF you
disabled your map set (step 1 above), rebuild your map set.
5. Suppose you have a repeating block that displays pointer-type .01
11. AXP Sites - Remove Taskman from WAIT State.
MSM Sites - Restart Taskman.
12. Enable users' login.
fields, and connected to that .01 field you have a pop-up page that
displays fields in the pointed-to entry. If one of the .01 field values
in the repeating block is a dangling pointer, when we pressed return at
that record, the pop-up page would open up and display the data for the
record we last selected. This patch prevents the pop-up page from opening
1. If a form has no data dictionary fields, but DA happens to be set
up when we press return at the dangling pointer. (DDS1)
6. Before this patch, users were not able to jump to fields with
executable captions. This patch allows users to jumps to fields with
executable captions that are on the current page. (DDS2, DDSR)
7. Print message 'Please wait. Loading all pages ...' in the command
area right after the user issues a 'Save' command. If there are a lot
pages on the form, the loading process could take a while before the
'Verifying ...' message appears. (DDS41)
before the ^DDS call, the caller could get the message 'Entry does not
8. If we deleted an entry pointed to by a .01 field, we ended up with a
dangling pointer. This patch makes ScreenMan display the internal form of
the dangling .01 field pointer, so that the user can subsequently delete
that .01, if it's on the form. (DDS7)
9. In the Form Editor, if you're editing the properties of a field on the
form, at the Caption prompt, you should be able to enter the following
shortcuts:
exist', and the form would fail to run. (DDS0)
Shortcut To define the caption as
-------- ------------------------
!L The Label of the field
!T The Title of the field
!U The Unique name of the field
Prior to this patch, these shortcuts weren't working. (DDSCAP)
10. If a repeating block is used to display records in a multiple, and an
Index is specified for the repeating block, FileMan loads only those
entries that are in the index. Prior to this patch, a hard error would
result if the user selected an entry that was in the multiple but wasn't
in the index, because ScreenMan hadn't loaded the data for that entry.
This patch allows the user to select only those entries that have already
been loaded by ScreenMan. (DDSM)
11. Suppose you have a field with executable that calls EN^DDIOL. It
passes a global to EN^DDIOL with formatting nodes so that the text appears
in two columns. For example:
2. If in the Form Editor, you add a data dictionary field to the
^TMP($J,1)=string 1
^TMP($J,2)=string 1a
^TMP($J,2,"F")="?40"
^TMP($J,3)=string 2
^TMP($J,4)=string 2a
^TMP($J,4,"F")="?40"
etc.
D EN^DDIOL("","^TMP($J)")
form, but at the Field property, you enter a field number that doesn't
When you enter a ? at the field, ScreenMan displays in the help area the
first 14 lines correctly, but the fifteenth line is incorrect. The third
screen looks like this:
-------------------------------------------------------------------------
string 11 string 11a
string 12 string 12a
string 13 string 13a
string 14 string 14a
exist, the Form Editor went on to use the "GL" nodes in the DD as if they
string 15
Enter RETURN to continue or '^' to exit:
-------------------------------------------------------------------------
and the fourth screen looks like this:
-------------------------------------------------------------------------
string 15a
string 16 string 16a
string 17 string 17a
|