Are the
^DD(50,0,"PT",
nodes not a complete list of the files and fields pointing to file 50?
Isn't this a fairly modest project in Mumps to $Order through these nodes
and then through each of the files. Of course you need a complete list of
all of the bad entries/IENs that are in file 50.
Jim
----- Original Message -----
From: "Kevin Toppenberg" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, November 15, 2005 10:56 AM
Subject: Re: [Hardhats-members] Re: ?Fileman bug?
On 11/14/05, Gregory Woodhouse <[EMAIL PROTECTED]> wrote:
On Nov 14, 2005, at 8:00 PM, Kevin Toppenberg wrote:
-snip-
If you know which IENs correspond to bad pointers, then you just
delete the corresponding field values. My preferred method is to use
the DBS API, but it can be done in Classic Fileman, too. There's no
need to bother with ^LOOP unless you want to avoid writing code.
I think you are still looking at a huge amount of work. There are
approximately 45 files that can potentially hold records to pointers
to file#50. And each of these files can hold multiple records.
So I would have to take each of the 45 files and perform a search for
in that particular file for records containing the erroneous pointer
value. Then use those found records to stuff a corrected value into.
That would laborous. And all that would have to be done just for one
erroneous record in #50. I would have to repreat this process for
each record.
200 records in file#50 to fix * 45 files potentially pointing to file
#50, * Fn(f) records in each file = labor!
Another use would be as follows. Lets say I VERIFY my PHARMACY
ORDERABLE ITEM file, and find an invalid pointer to IEN #1234 in
file#50. I can just delete this bad pointer in PHARMACY ORDERABLE
ITEM, but what about all the other 45 files that could also be
pointing to #1234. I need to be able generate a list of every pointer
in the database pointing to #1234.
As far as I know there is no function to do this programatically. But
I am about half way through writing a function that will generate just
such a list.
My thought is that it will take input like this:
PTRIN(FILE,IEN,ARRAY)
and have output like this:
ARRAY(1)=<file#>^<IEN>^<Field#><full ref>^<IENS>
ARRAY(2)=<file#>^<IEN>^<Field#><full ref>^<IENS>
...
Kevin
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_idv28&alloc_id845&op=ick
_______________________________________________
Hardhats-members mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hardhats-members
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
Hardhats-members mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hardhats-members