Print Page as PDF
DIQUIET TO SUPPRESS WRITES ICR (2098)

DIQUIET TO SUPPRESS WRITES    ICR (2098)

Name Value
NUMBER 2098
IA # 2098
DATE CREATED 1997/09/02
CUSTODIAL PACKAGE VA FILEMAN
CUSTODIAL ISC San Francisco
USAGE Controlled Subscription
TYPE Other
DBIC APPROVAL STATUS APPROVED
NAME DIQUIET TO SUPPRESS WRITES
GENERAL DESCRIPTION
1. DESCRIPTION OF USE OF DIQUIET IN FILEMAN

HISTORY OF DIQUIET: The purpose for creating DIQUIET was mostly that as we
were creating the data-base server calls, we sometimes needed to call into
Classic FileMan, and we absolutely didn't want FileMan to talk.  DIQUIET was a
variable that would let us know within those classic calls that we were being
called from a DBS call, so we shouldn't talk. Therefore, at the start of
almost all the DBS calls, we set DIQUIET=1.  DIQUIET was also used as a flag
in EN^DDIIOL, which is embedded in Xecutable code in the DD, to assure that
text is placed in ^TMP instead of being Written when DBS calls are involved.


SETTING DIQUIET WITHIN FILEMAN CODE: DIQUIET is set to 1 at the start of the
following published calls:

Finder                       FIND^DIC
Finder (Single Record)       $$FIND1^DIC
Lister                       LIST^DIC
DD Field Retriever           FIELD^DID
DD Field List Retriever      FIELDLST^DID
DD File Retriever            FILE^DID
DD File List Retriever       FILELIST^DID
Attribute Retriever          $$GET1^DID
Data Checker                 CHK^DIE
Filer                        FILE^DIE
Helper                       HELP^DIE
Updater                      UPDATE^DIE
Validator                    VAL^DIE
Word-Processing Filer        WP^DIE
Single Data Retriever        $$GET1^DIQ
Data Retriever               GETS^DIQ

In addition, there are a few places that Classic FileMan sets DIQUIET for the
same reason.

Import Tool (DDMP, DDMPU) because the Import tool is designed to be silent
like the DBS calls.

DIED and DIEZ1 (classic DIE call to edit data) sets DIQUIET if the user is
stuffing data in a SET OF CODES field, because it makes a call to ^DIR and
does not want the Reader to talk.

DIEZ, DIKZ and DIPZ (template and x-ref compilation) appear to have silent
entry points (all labeled EN2) that set DIQUIET.  I believe that these were
created by Rick, I don't think they're documented.  Perhaps KIDS uses them, I
need to discuss this with him.

DIP (the PRINT routine) sets DIQUIET if it is not already set, and if all
the information that DIP normally prompts the user for has been sent (I.E.,
file and fields to print, sort criteria, device, etc.), or if the print job is
queued.  That was to avoid some places where FileMan was writing error
messages.


HONORING DIQUIET TO SUPPRESS WRITES: Mostly we made changes to classic FileMan
as we needed to, in places where we were calling it from the new DBS calls and
wanted it to be silent. The places are:

DDIOL (The loader), where DIQUIET tells the routine to load the text that is
passed into an array rather than writing it.  That's why we were able to tell
people that any writes that they have in their DDs should call ^DDIOL rather
than just write.

%DT (date validation routine) to keep the date from echoing back.

DT^DICRW (routine that sets up required FileMan variables).  Was writing a
line-feed.

DIE3 (enter/edit)  Does not write "Searching for a..." when doing a lookup on
a file pointed-to by a variable pointer, and does not ask OK when a pointed-to
entry is found, even if the DD has been set up that way.

DIP  The changes to the print are described above, and were not done for the
DBS calls, as we don't call the print from within any of them.

DIR1  The Reader doesn't write a message when processing sets of codes if
DIQUIET is set.  This was required by DIE when stuffing a SET OF CODES field,
as I described above.

2. REASON RPC BROKER NEEDS TO SET DIQUIET:

Setting of DIQUIET variable, which is used within the VA FileMan package to
suppress WRITEs from FileMan routines and DDs, to 1.  Variable being set by
RPC Broker when it is certain that no direct user-interaction is appropriate
(client/server environment).

The only FileMan code that the Broker does directly that requires DIQUIET to
be set is DT^DICRW (a linefeed is suppressed).  However, since the Broker
performs the code written in RPCs, having DIQUIET set protects the code in the
RPCs from inadvertently Writing because of a call to a FileMan routine or the
Xecution of a DD node.
STATUS Active
KEYWORDS DIQUIET
DURATION Till Otherwise Agreed
SUBSCRIBING PACKAGE
SUBSCRIBING PACKAGE ISC
RPC BROKER Oakland
LAB SERVICE
MAILMAN
REGISTRATION
IMAGING
INTEGRATED BILLING
CONSULT/REQUEST TRACKING