['UPDCOMP(FILE,[.]RECORD,FIELD,[.]NAME,PTRFIELD,PTRVAL,FMTF', 'LAGS)'] |
Update Name Components Entry
============================
This procedure updates an entry in the NAME COMPONENTS file. Optionally, the
pointer in the source file that points to the name components entry is also
updated.
This API is designed to be used in the SET logic of a MUMPS cross-reference on
the name field in a source file, to keep the name field and the associated
name components in sync. For an example of its use, see the ANAME
cross-reference in the NEW PERSON file (#200). The ANAME cross-reference is a
MUMPS cross-reference with the .01 NAME field of the NEW PERSON file as its
only cross-reference value. If an entry's NAME field is edited, the ANAME
cross-reference updates the associated entry in the NAME COMPONENTS file. Note
that existing MUMPS cross-references on the NAME COMPONENTS file already exist
to update the associated name field on the source file if the components are
edited. In the SET and KILL logic, you should check and set the variable
XUNOTRIG as follows:
I '$G(XUNOTRIG) N XUNOTRIG S XUNOTRIG=1
This prevents the ANAME cross-reference in the NAME COMPONENTS file from
circularly updating the source name field.
Example:
-------
Suppose the .01 field of File #1000 contains a person's name, and the
component parts of the name in entry 132 should be updated as follows:
Family (last) name: O'BRIEN
Given (first) name: JOHN HENRY
Middle name: A.
Suffix: JR.
Field #1.1 is defined as a pointer to the NAME COMPONENTS file (#20) and has a
value of 42, the IEN of a record in the NAME COMPONENTS file. To update the
NAME COMPONENTS file with this name, you can do the following:
>S MYNAME("FAMILY")="O'BRIEN"
>S MYNAME("GIVEN")="JOHN HENRY"
>S MYNAME("MIDDLE")="A."
>S MYNAME("SUFFIX")="JR."
>D UPDCOMP^XLFNAME2(1000,132,.01,.MYNAME,1.1,42)
If there is an entry in the NAME COMPONENTS file that corresponds to File
#1000, Field #.01, IEN #132, that entry is updated with the name components
passed in the MYNAME array. Otherwise a new entry is added to the Name
Components with this information.
If the entry in the Name Components that was updated or added is record #42,
no change is made to the value of the pointer field #1.1, since 42 was passed
in the 6th parameter.
MUMPS cross-references on the NAME COMPONENTS file updates the name in the
Field #.01 of File #1000 to "OBRIEN,JOHN HENRY A JR" if it doesn't already
contain that name.
|
VARIABLES |
TYPE |
VARIABLES DESCRIPTION |
FILE |
Input |
(Required) The number of the file or subfile (the
"source file") that contains the name.
|
RECORD |
Input |
(Required) The IENS or the internal entry number
array (that looks like the DA array) of the record in the source file that
contains the name.
|
FIELD |
Input |
(Required) The number of the field in the source file
that contains the name.
|
NAME |
Input |
(Required) An array that contains the component parts
of the name to store in the NAME COMPONENTS file entry:
NAME("FAMILY) = Family Name (required)
NAME("GIVEN") = Given Name(s) (optional)
NAME("MIDDLE") = Middle Name(s) (optional)
NAME("SUFFIX") = Suffix(es) (optional)
NAME("PREFIX") = Prefix (optional)
NAME("NOTES") = optional free text string
Alternatively, a name in standard format can be passed in the NAME input
parameter. If the NAME input parameter has no descendents (that is,
$D(NAME)=1), UPDCOMP^XLFNAME2 will make a call to NAMECOMP^XLFNAME to build
the NAME array for you.
|
PTRFIELD |
Input |
The number of the pointer field in the source file
that points to the NAME COMPONENTS file. Only if this parameter is passed will
the value of this pointer field be updated with the entry number of the record
in the NAME COMPONENTS file that was added or edited.
|
PTRVAL |
Input |
The current value of the pointer field specified by
the PTRFIELD input parameter. This parameter can be used to save processing
time. If both PTRFIELD and PTRVAL are passed, the pointer field will be
updated only if this value is different from the entry number of the record in
the NAME COMPONENTS file that was added or edited.
|
FMTFLAGS |
Input |
This contents of this parameter, if passed, is filed
into the SOURCE NAME FORMAT FLAGS (#7) field of the NAME COMPONENTS file. See
the DESCRIPTION of field for more information.
|
|
DELCOMP(FILE,[.]RECORD,FIELD,PTRFIELD) |
Delete Name Components Entry
============================
This procedure deletes an entry in the NAME COMPONENTS file, and optionally,
the value of the pointer in the source file that points to the name components
entry. (This call is designed to be used in the KILL logic for the MUMPS
cross-reference mentioned in the description of UPDCOMP^XLFNAME2.)
Example:
-------
Suppose that you have a NAME COMPONENTS file entry that contains the
components of a name stored in File #1000, Record #132, Field #.01. Pointer
field #1.1 of that File #1000 is a pointer to the NAME COMPONENTS file. To
delete the entry in the NAME COMPONENTS file, and the value of the pointer
field, you can do the following:
>D DELCOMP^XLFNAME(1000,132,.01,1.1)
|
VARIABLES |
TYPE |
VARIABLES DESCRIPTION |
FILE |
Input |
(Required) The number of the file or subfile (the
"source file") that contains the name.
|
RECORD |
Input |
(Required) The IENS or the internal entry number
array (that looks like the DA array) of the record in the source file that
contains the name.
|
FIELD |
Input |
(Required) The number of the field in the source file
that contains the name.
|
PTRFIELD |
Input |
The number of the pointer field in the source file
that points to the NAME COMPONENTS file. Only if this parameter is passed will
the value of this pointer field be deleted.
|
|