There are a lot of nice features like multi-field cross-refences and
rec ord level execution (the cross-reference "fires" when the entire
record has been edited, not just the field), enforced uniqueness (if
desired), control of collation for individual subscipts, better thread
safey, text transforms, set and kill conditions, and no doubt others
that I've forgotten.
The disadvantages are that they take a little (not much) more effort to
set up, and the logic isn't stored directly in the ^DD global.
--- Kevin Toppenberg <[EMAIL PROTECTED]> wrote:
> Greg,
>
> I haven't had a need to learn about the new style
> indexes yet, but it sounds like I need to as some
> point.
>
> Thanks for this post.
>
> Kevin
>
> --- Greg Woodhouse <[EMAIL PROTECTED]>
> wrote:
>
> > Conceptually, cross-references are pretty simple.
> > When a field is
> > edited, first the kill logic, then the set logic is
> > executed for that
> > cross-reference. This makes it easy to identify the
> > record or records
> > for which a field has a given value. At least that's
> > the usual case.
> > Some of the more interesting types of
> > cross-references are "whole file"
> > cross-references on subfiles, allowing you to
> > idntify which records
> > have a given subentry and what the subsrecord number
> > is, and MUMPS type
> > cross-references that allow you to define your own
> > set and kill logic
> > for special purposes. Fileman also allows you to
> > build indexes of
> > multiple fields.
> >
> > You will also encounter references to traditional
> > and new style
> > cross-references. The code for traditional
> > cross-references is stored
> > in the DD, but for new style cross-referencess, it
> > is in the INDEX
> > file. New style cross-references have various
> > features giving you more
> > flexibility and control over execution. They are
> > also safer in a
> > multi-user environment, but the majority of
> > cross-references are
> > traditional, and traditional cross-references are
> > often all you need.
> > --- Kevin Toppenberg <[EMAIL PROTECTED]> wrote:
> > > Hey all,
> > >
> > > I've come to that time in my life where someone
> > needs
> > > to sit me down and tell me all about.... well...
> > > fileman cross-references. And I specifically want
> > to
> > > know how to fill them with the data I want.
> > >
> > > Let me set up my situation first. I am trying to
> > > understand the linkages between files etc. that
> > make
> > > up the pharmacy package.
> > >
> > > Currently, with Dave Whitten's help, I have one
> > drug
> > > that shows up when I try to add a new drug in
> > CPRS.
> > >
> > > Here is an overview of the steps that go behind
> > > getting information about the drug to show up in
> > CPRS.
> > >
> > > 1. CPRS is given a list of available drugs. This
> > list
> > > is stored in File 101.44 (ORDER QUICK VIEW). In
> > my
> > > example, diltiazem is stored as an option like
> > this:
> > > 44^DILTIAZEM. This 44 is the IEN of the Rx in
> > file
> > > 101.43 (ORDERABLE ITEM).
> > >
> > > 2. During lookup, it uses record/entry# 44 from
> > > 101.43, and gets the ID field (field 2). This is
> > > supposed to have a format like this: 'package
> > > code;99XXX' where XXX indicates the package table
> > > originating this item (i.e. RAP,LRT,etc.). In my
> > > example, the code was 1.
> > >
> > > 3. This package code is then used to access a
> > cross
> > > reference in file #50 (DRUG file, ^PSDRUG). It
> > > accesses it like this: $order(^PSDRUG("ASP",1,0)),
> > > where 1 is the package code from above. Because I
> > > have only one drug installed, there is only one
> > item
> > > in this cross-reference. This is 3819. Thus
> > > ^PSDRUG("ASP",1,3819)="".
> > >
> > > 4. This "3819" from above is the IEN of the drug
> > in
> > > the DRUG file. From this entry, the available
> > dosages
> > > etc. are available.
> > >
> > > 5. So to make drugs available in CPRS, file #50
> > (DRUG
> > > file) must not only have the drug defined, but
> > there
> > > must also be entries entries in the "ASP" cross
> > > reference.
> > >
> > > --------------
> > >
> > > OK, that's the setting.
> > > Now, what I have been able to figure out
> > >
> > >
> > > 1. When I lookup information about the "ASP"
> > > cross-reference in VPE, I see only this info about
> > the
> > > index:
> > >
> > > Index File Fields
> > > *ASP 50 PHARMACY ORDERABLE ITEM (#2.1)
> > >
> > > So I look it up in the Fileman data dictionary
> > > utilities and get this information:
> > >
> > > ASP REGULAR
> > > Field: PHARMACY ORDERABLE ITEM (50,2.1)
> > > Description: Cross-reference to PHARMACY
> > ORDERABLE
> > > ITEM file #50.7.
> > > 1)= S ^PSDRUG("ASP",$E(X,1,30),DA)=""
> > > 2)= K ^PSDRUG("ASP",$E(X,1,30),DA)
> > > 3)= Do not delete
> > >
> > > -------------
> > >
> > > So here are my questions:
> > >
> > > 1. Apparently there is some M code associated with
> > > each cross-reference. When is this code executed?
> > >
> > > 2. Where is this code stored? When I look in ^DD,
> > I
> > > find only ^DD(50,0,"IX","ASP",50,2.1)="" and
> > > ^DD(50,"IX",2.1)=""
> > >
> > > 3. From above, it looks like there is separate
> > > 'setting' code and 'killing' code. Is this true?
> >
> > >
> > > 4. How is the cross-reference filled? -- I think
> > I
> > > just figured out the answer on this one. It
> > occurs
> > > when a value is put into field 2.1 in one of the
> > file
> > > #50 records.
> > >
> > > I think I have more questions, but that's enough
> > for
> > > now..
> > >
> > > Thanks
> > > Kevin
> > >
> > >
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam? Yahoo! Mail has the best spam
> > protection around
> > > http://mail.yahoo.com
> > >
> > >
> > >
> >
> -------------------------------------------------------
> > > SF email is sponsored by - The IT Product Guide
> > > Read honest & candid reviews on hundreds of IT
> > Products from real
> > > users.
> > > Discover which products truly live up to the hype.
> > Start reading now.
> > >
> >
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> > > _______________________________________________
> > > Hardhats-members mailing list
> > > [email protected]
> > >
> >
> https://lists.sourceforge.net/lists/listinfo/hardhats-members
> > >
> >
> > A practical man is a man who practices the errors of
> > his forefathers. --Benjamin Disraeli
> > ====
> > Greg Woodhouse
> > [EMAIL PROTECTED]
> > [EMAIL PROTECTED]
> >
> >
> >
> >
> >
> >
> -------------------------------------------------------
> > SF email is sponsored by - The IT Product Guide
> > Read honest & candid reviews on hundreds of IT
> > Products from real users.
> > Discover which products truly live up to the hype.
> > Start reading now.
> >
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> > _______________________________________________
> > Hardhats-members mailing list
> > [email protected]
> >
> === message truncated ===
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by: Tell us your software development
> plans!
> Take this survey and enter to win a one-year sub to SourceForge.net
> Plus IDC's 2005 look-ahead and a copy of this survey
> Click here to start! http://www.idcswdc.com/cgi-bin/survey?id=105hix
> _______________________________________________
> Hardhats-members mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/hardhats-members
>
A practical man is a man who practices the errors of his forefathers.
--Benjamin Disraeli
====
Greg Woodhouse
[EMAIL PROTECTED]
[EMAIL PROTECTED]
-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start! http://www.idcswdc.com/cgi-bin/survey?id=105hix
_______________________________________________
Hardhats-members mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hardhats-members