VA FileMan V. 22.0 Programmer Manual Banner


 

Main Chapter Getting Started Manual Advanced User Manual

Database Server (DBS) API


DELIX^DDMOD: Traditional Cross-Reference Deleter

This procedure deletes a traditional cross-reference definition from the data dictionary of a file. Optionally, it deletes the data in the index or executes the kill logic for all entries in the file. Compiled input templates that contain the field on which the cross-reference is defined are recompiled. If cross-references on the file are compiled, they are recompiled.

DELIX^DDMOD can be used is the pre-install or post-install routine of a KIDS (Kernel Installation and Distribution System) Build, for example, to delete a traditional cross-reference from the installing site.

See DELIXN^DDMOD for information on the call to delete a new-style index definition.

Format
DELIX^DDMOD(FILE,FIELD,CROSS_REF,FLAGS,OUTPUT_ROOT,MSG_ROOT)
Input Parameters
FILE (Required) File or subfile number.
FIELD (Required) Field number.
CROSS_REF

(Required) Cross-reference number. Traditional cross-references are defined in the data dictionary under^DD(file#,field#,1,cross reference number)

FLAGS

(Optional) Flags to control processing. The possible values are:

K

For Regular, KWIC, Mnemonic, and Soundex-type cross-references, delete the data in the index. For MUMPS and Trigger-type cross-references, execute the Kill logic of the cross-reference for all entries in the file. For Bulletin-type cross-references, the "K" flag is ignored; the kill logic for Bulletin-type cross-references is never executed by this procedure.

W

Write messages to the current device as the index is deleted and cross-references and input templates are recompiled.

OUTPUT_ROOT

(Optional) The name of the array that should receive information about input templates and cross-references that may have been recompiled and a flag to indicate that the deletion was audited in the DD Audit file (#.6). See "Output" below. This must be a closed root, either local or global.

MSG_ROOT (Optional) The name of the array that should receive any error messages. This must be a closed root, either local or global. If not passed, errors are returned descendent from ^TMP("DIERR",$J).
Output
OUTPUT_ROOT

See OUTPUT_ROOT under Input Parameters.

If the field on which the deleted cross-reference was defined is used in any compiled input templates, those input templates are recompiled. Information about the recompiled input templates is stored descendant from OUTPUT_ROOT("DIEZ"):

OUTPUT_ROOT("DIEZ",input template #) = 
input template name ^ file # ^ 
compiled routine name

If cross-references for the file are compiled, they are recompiled, and the compiled routine name is stored in OUTPUT_ROOT("DIKZ"):

OUTPUT_ROOT("DIKZ") = compiled routine name

If the data dictionary for the file is audited, an entry is made in the DD Audit file (#.6) and OUTPUT_ROOT("DDAUD") is set to 1:

OUTPUT_ROOT("DDAUD") = 1
Examples

Example 1

In this example, regular cross-reference #4 (the "C" index), defined on field #12 in file #16200, is deleted. The "K" flag indicates that the entire ^DIZ(16200,"C") index should be removed from the file.

    >D DELIX^DDMOD(16200,12,4,"K","MYOUT")

    >ZW MYOUT

    MYOUT("DDAUD")=1
    MYOUT("DIEZ",100)=ZZTEST EDIT^16200^ZZIT
    MYOUT("DIKZ")=ZZCR

The MYOUT output array indicates that the deletion was recorded in the DD Audit file (#.6). The input template ZZTEST EDIT (#100) was recompiled into the ZZIT namespaced routines, because field #12 is used in that template. Cross-references on file #16200 are recompiled under the ZZCR namespace.

Example 2

In this example, the whole-file regular cross-reference #7 (the "N" index), defined on field #15 within subfile #16200.075, is deleted. The "K" flag indicates that the entire ^DIZ(16200,"N") index should be removed, and the "W" flag indicates that messages should be printed to the current device.

    >D DELIX(16200.075,15,7,"KW")

    Removing index ...
    Deleting cross-reference definition ...


    Compiling ZZ TEST CR Input Template of File 16200...
    'ZZIT1' ROUTINE FILED..
    'ZZIT' ROUTINE FILED....
    'ZZIT2' ROUTINE FILED.

    Compiling Cross-Reference(s) 16200 of File 16200.

    ...SORRY, HOLD ON...

    'ZZCR1' ROUTINE FILED.
    'ZZCR2' ROUTINE FILED.
    'ZZCR3' ROUTINE FILED.
    'ZZCR4' ROUTINE FILED.
    'ZZCR5' ROUTINE FILED.
    'ZZCR' ROUTINE FILED.

Error Codes Returned
202 The specified parameter is missing or invalid.
301 The passed flags are incorrect.
401 The file does not exist.
406 The file has no .01 definition.
407 A word-processing field is not a file.
501 The file does not contain the specified field.

 


Reviewed/Updated: March 10, 2007