Annotation of freem_fileman/DITMGM2B.m, revision 1.1

1.1     ! snw         1: DITMGM2B       ;SFISC/EDE(OHPRD),TKW-CONTINUATION OF DITMGM2 ;4/7/94  10:09
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4:        ;
        !             5:        ;
        !             6: SEARCH ; $O THRU DATA GBL
        !             7:        Q:'$O(@(DITMGMG_"0)"))
        !             8:        W:'$D(DITMGM2("NOTALK")) !,"No REGULAR xref on ",DITMGMFL,",",DITMGMFD,".  ",+$P(^(0),U,4)," entries.  Searching data global."
        !             9:        F DITMGMN=0:0 S DITMGMN=$O(@(DITMGMG_DITMGMN_")")) Q:DITMGMN'=+DITMGMN  D
        !            10:        . I DITMGMMU D SEARCHM Q
        !            11:        . I $D(^(DITMGMN,DITMGMNO)),$P(^(DITMGMNO),U,DITMGMPC)=DITMGMF D ENTRY
        !            12:        . Q
        !            13:        Q
        !            14:        ;
        !            15: SEARCHM        ; $O THRU DATA GBL FOR MULTIPLES (TOP)
        !            16:        S DITMGMDN=+$P(DITMGMGM,"DA(",2)
        !            17:        S DA(DITMGMDN)=DITMGMN,DITMGDA(DITMGMDN)=DITMGMN
        !            18:        S DITMGMGG=$P(DITMGMGM,"DA(",1)_"DA("_DITMGMDN_"),"
        !            19:        S DITMGMDN=DITMGMDN-1
        !            20:        NEW DITMGMN
        !            21:        D SEARCHM2
        !            22:        K DA,DITMGDA,DITMGMGG
        !            23:        Q
        !            24:        ;
        !            25: SEARCHM2       ; MIDDLE (CALLED RECURSIVELY)
        !            26:        I '$F(DITMGMGM,"DA("_DITMGMDN_"),") D SEARCHM3 Q
        !            27:        S DITMGMGG=$P(DITMGMGM,",DA("_DITMGMDN_"),",1)_","
        !            28:        F DITMGDA(DITMGMDN)=0:0 S DITMGDA(DITMGMDN)=$O(@(DITMGMGG_DITMGDA(DITMGMDN)_")")) Q:DITMGDA(DITMGMDN)'=+DITMGDA(DITMGMDN)  S DA(DITMGMDN)=DITMGDA(DITMGMDN) D SEARCHM4
        !            29:        Q
        !            30:        ;
        !            31: SEARCHM3       ; BOTTOM
        !            32:        D SETDA
        !            33:        F DITMGMN=0:0 S DITMGMN=$O(@(DITMGMGM_DITMGMN_")")) Q:DITMGMN'=+DITMGMN  I $D(^(DITMGMN,DITMGMNO)),$P(^(DITMGMNO),U,DITMGMPC)=DITMGMF D ENTRY,SETDA
        !            34:        Q
        !            35:        ;
        !            36: SETDA  ; SET DA ARRAY
        !            37:        K DA
        !            38:        F I=1:1 Q:'$D(DITMGDA(I))  S DA(I)=DITMGDA(I)
        !            39:        Q
        !            40:        ;
        !            41: SEARCHM4       ; RECURSE
        !            42:        S DITMGMDN=DITMGMDN-1
        !            43:        D SEARCHM2
        !            44:        S DITMGMDN=DITMGMDN+1
        !            45:        Q
        !            46:        ;
        !            47: ENTRY  ; PROCESS ONE FILE/SUBFILE ENTRY
        !            48:        D ENTRY^DITMGM2C
        !            49:        Q
        !            50:        ;
        !            51: INIT   ;
        !            52:        K DITMGMQF
        !            53:        K DITMGMRG("ERROR") S DITMGMEC=0
        !            54:        S:$D(ZTQUEUED) DITMGM2("NOTALK")=1
        !            55:        S:$D(ZTSK) DITMGM2("NOTALK")=1 ; old Kernel
        !            56:        I '$D(DITMGMFL) S DITMGMQF=20 Q
        !            57:        I 'DITMGMFL S DITMGMQF=20 Q
        !            58:        I '$D(^DIC(DITMGMFL,0,"GL")) S DITMGMQF=20 Q
        !            59:        S DITMGMFG=^("GL")
        !            60:        I '$D(DITMGMF)!('$D(DITMGMT)) S DITMGMQF=21 Q
        !            61:        I 'DITMGMF!('DITMGMT)!(DITMGMF=DITMGMT) S DITMGMQF=22 Q
        !            62:        I '$D(@(DITMGMFG_DITMGMF_",0)")) S DITMGMQF=23 Q
        !            63:        I '$D(@(DITMGMFG_DITMGMT_",0)")) S DITMGMQF=24 Q
        !            64:        Q

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>