You should use the Fileman APIs, anyway. I wrote this for a daemon process that I wanted to be as light on the system as possible.
--- Kevin Toppenberg <[EMAIL PROTECTED]> wrote: > Thanks Greg. I decided to go ahead and use FIELD^DID > to get the information. I'm concerned that I wouldn't > be aware of all the variations on a theme that I might > encounter. > > Kevin > > > --- Greg Woodhouse <[EMAIL PROTECTED]> > wrote: > > > My mistake. Try looking at the .01 field of the > > subfile associated with > > the WP field. You should see something like > > > > ^DD(8925.02,.01,0) = REPORT TEXT^W^^0;1^Q > > > > --- Kevin Toppenberg <[EMAIL PROTECTED]> wrote: > > > > > When I look at file 8925, field 2 is a WP field, > > but I > > > don't see the W or WL symbols. Only a node > > > specification of TEXT. And in instances of > > processing > > > the TEXT node, when I tried to print WP, it was 0 > > (as > > > expected per the code). > > > > > > So I don't see that the W symbol is being used. > > > > > > Kevin > > > > > > > > > GTM>zwr ^DD(8925,2,*) > > > ^DD(8925,2,0)="REPORT TEXT^8925.02^^TEXT;0" > > > ^DD(8925,2,21,0)="^^1^1^2961217^^" > > > ^DD(8925,2,21,1,0)="This is a word processing > > field > > > that contains the report tex > > > t." > > > > > > > > > GTM>zwr ^DD(8925,.01,0) > > > ^DD(8925,.01,0)="DOCUMENT > > > TYPE^RP8925.1'O^TIU(8925.1,^0;1^Q" > > > > > > > > > > > > --- Greg Woodhouse > > <[EMAIL PROTECTED]> > > > wrote: > > > > > > > That's right. The point of this code is to > > quickly > > > > traverse a file > > > > entry without actually making FM calls. I don't > > do > > > > anything special > > > > with WP fields here, so that value isn't used. > > > > However, if you actually > > > > wanted to do something with the data, you'd want > > to > > > > know if a subfile > > > > was a multiple, or if it contained a WP field > > with > > > > or without line > > > > wrap. > > > > > > > > Of course, the right way to fetch WP contents > > (if > > > > you want to follow > > > > standards)is with GETS^DIQ or $$GET1^DIQ. > > > > > > > > --- Kevin Toppenberg <[EMAIL PROTECTED]> wrote: > > > > > > > > > Greg, > > > > > > > > > > Your code has been very helpful. > > > > > > > > > > I don't fully understand these lines > > > > > > .S X=$P(^DD(FNUM,.01,0),"^",2) > > > > > > .S WP=$S(X="W":1,X="WL":2,1:0) > > > > > When the second piece="W", or "WL", what is > > the > > > > > significance of these codes? You don't seem > > to > > > > use WP > > > > > in your code. > > > > > > > > > > Thanks > > > > > Kevin > > > > > > > > > > > > > > > > > > > > --- Greg Woodhouse > > > > <[EMAIL PROTECTED]> > > > > > wrote: > > > > > > > > > > > Hee's a slightly modified version of some > > code I > > > > > > wrote to recursively > > > > > > traverse a file entry. You could probably > > adapt > > > > it > > > > > > to produce an XML > > > > > > serialization of the file. (Note that I > > > > originally > > > > > > wrote this using > > > > > > GETS^DIQ, but according to my benchmarks, > > that > > > > > > version was much too > > > > > > slow). > > > > > > > > > > > > TRAVERSE(FNUM,IEN,SREF) ; > > > > > > N > > > > > > > > > > > > > > > > > > > > > VAL,FLD,TYPE,STORE,NODE,POS,IVAL,OROOT,GREF,RANGE,FIRST,LAST > > > > > > N > > SFILE,SROOT,CROOT,SREC,VAL2,LABEL,WP,X > > > > > > I $G(SREF)'="" D > > > > > > .S X=$P(^DD(FNUM,.01,0),"^",2) > > > > > > .S WP=$S(X="W":1,X="WL":2,1:0) > > > > > > S VAL=0 > > > > > > I $G(SREF)="" D > > > > > > .S OROOT=$G(^DIC(FNUM,0,"GL")) > > > > > > E S OROOT=SREF > > > > > > Q:OROOT="" 0 > > > > > > S FLD=0 > > > > > > F S FLD=$O(^DD(FNUM,FLD)) Q:+FLD'>0 > > D > > > > > > .S > > TYPE=$P($G(^DD(FNUM,FLD,0)),"^",2) > > > > > > .S > > LABEL=$P($G(^DD(FNUM,FLD,0)),"^",1) > > > > > > .S > > STORE=$P($G(^DD(FNUM,FLD,0)),"^",4) > > > > > > .S NODE=$P(STORE,";",1) > > > > > > .Q:NODE="" ;computed field > > > > > > .S POS=$P(STORE,";",2) > > > > > > .S GREF=OROOT_IEN_","_NODE_")" > > > > > > .I POS?1.N D > > > > > > ..S IVAL=$P($G(@GREF),"^",POS) > > > > > > .I POS=0 D > > > > > > ..;multiple > > > > > > ..S SFILE=+TYPE > > > > > > ..S SROOT=OROOT_IEN_","_NODE_"," > > > > > > ..S > > CROOT=$E(SROOT,1,$L(SROOT)-1)_")" > > > > > > ;closed root > > > > > > ..S SREC=0 > > > > > > ..F S SREC=$O(@CROOT@(SREC)) > > Q:+SREC'>0 > > > > D > > > > > > ...;descend into subfile > > > > > > ...S > > VAL2=$$TRAVERSE(SFILE,SREC,SROOT) > > > > > > ...S VAL=$$STUFF(VAL,VAL2) > > > > > > .I POS?1"E"1.N1","1.N D > > > > > > ..;extract format > > > > > > ..S RANGE=$E(NODE,2,999) > > > > > > ..S > > > > FIRST=$P(NODE,",",1),LAST=$P(NODE,",",2) > > > > > > ..S IVAL=$E($G(@GREF),FIRST,LAST) > > > > > > I $G(IVAL)'="" S > > > > > > VAL=$$STUFF(VAL,IVAL_$C(13)_LABEL) > > > > > > Q VAL > > > > > > > > > > > > --- Kevin Toppenberg <[EMAIL PROTECTED]> > > wrote: > > > > > > > > > > > > > One of my goals for my site has been the > > > > ability > > > > > > to > > > > > > > get data back out of VistA in a painless > > > > manner. > > > > > > For > > > > > > > me this means XML. And I am rapidly > > nearing > > > > the > > > > > > point > > > > > > > where I plan on finishing this project. > > > > > > > > > > > > > > I have a couple of approaches I could > > take, > > > > and > > > > > > I'd > > > > > > > like input from the list > > > > > > > > > > > > > > 1. Write a custom program that dumps > > progress > > > > > > notes > > > > > > > (currently the only unique data being > > stored > > > > in > > > > > > our > > > > > > > VistA) in XML format. I think I could > > very > > > > easily > > > > > > do > > > > > > > this. > > > > > > > > > > > > > > 2. Writing an extension to fileman's data > > > > export > > > > > > > abilities, to include an option for XML. > > This > > > > > > would > > > > > > > be the better option in the long run, but > > > > probably > > > > > > > would be a good deal more difficult for > > me. > === 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: Discover Easy Linux Migration > Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > Hardhats-members mailing list > Hardhats-members@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/hardhats-members > "The most profound technologies are those that disappear." --Mark Weiser ==== Greg Woodhouse [EMAIL PROTECTED] [EMAIL PROTECTED] ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members