Annotation of freem_fileman/DIFG0A.m, revision 1.1.1.1
1.1 snw 1: DIFG0A ;SFISC/DG(OHPRD)-CALLED FOR CONTEXT SWITCH ;6/5/92 12:32 PM
2: ;;21.0;VA FileMan;;Dec 28, 1994
3: ;Per VHA Directive 10-93-142, this routine should not be modified.
4: SWITCH ;CONTEXT SWITCH
5: N DIC,DIFGM,DIFGNDC,DA,DIFGINCR,DIFGSKIP,DIFGDI,DIFGMO,DIFGPOIN
6: S DIFG=DIFG+1,(DIFGNDC,DIFGLAGO)=0
7: S DIFGTYPE="FILE"
8: D BASE^DIFG0
9: I DIFGER G X1
10: D FUNC^DIFG0
11: I '$D(DIFG("NOLKUP")) D BEGEND
12: I DIFGER G X1
13: D SET
14: D KILLVAR0
15: D FILE^DIFG
16: S DIFG=DIFG-1
17: D KILLVAR
18: X1 Q
19: ;
20: BEGEND ;CALL DIFG3 TO PROCESS BEGIN-END BLOCK
21: I "AL"[$P(DIFGMO(DIFGMULT),U) S DIFGSECP=$P(^DD(DIC,.01,0),U,2) S:DIFGSECP["P" DIFGPOIN="" I DIFGSECP'["'"!($D(DIFGENV("LAYGO",DIC,.01))) S DIFGLAGO=1
22: D ^DIFG3
23: Q
24: ;
25: SET ;
26: I '$D(DIFGSKIP(DIFGMULT)),$D(^UTILITY("DIFG",$J,DIFGINCR,DIC)),'$D(^(DIC,"DA")) S ^UTILITY("DIFG",$J,DIFGINCR,DIC,"DA")=+Y,^("DR")=""
27: I $D(DIFGSKIP(DIFGMULT)) S ^UTILITY("DIFG",$J,DIFGINCR,DIC,"DA")=DIFGALNK S:'$D(DIFGFLUS) ^("X")=$S($E(X)="`":$E(X,2,245)_"^N",X[("^UTILITY(""DIFG@"","_$J):X_"^N",1:X)
28: I $D(DIFGFLUS),$P(DIFGMO(DIFGMULT),U)="L" S $P(^UTILITY("DIFG",$J,DIFGINCR,DIC,"MODE"),U)="M"
29: S ^UTILITY("DIFG",$J,DIFGINCR,DIC,"GL")=^DIC(DIC,0,"GL"),(DA,DIFGDA(0))=DIFGALNK I $D(^("DIC(""DR"")")) S ^("MODE")="A"_"^"_$P(^("MODE"),U,2)
30: X2 K DIFGFLUS Q
31: ;
32: KILLVAR0 ;KILL VARIABLES AFTER LOOKUP FOR FILE ON THE WAY TO FIELDS
33: K DIFGALNK,DIFGO(DIFGMULT),DIFGFLD,DIFGPC,DIFGVAL,DIFGDOL,DIFGNUMF,DIFGNOLK,DIFGLAGO,Y,DIFG("NOLKUP")
34: Q
35: ;
36: KILLVAR ;KILL VARIABLES AFTER EACH CONTEXT SWITCH
37: K DIFGDA,DIFGDIC,DIFGDOL,DIFGFIND,DIFGFIRP,DIFGFLDN,DIFGHAT,DIFGMLND,DIFGNODE,DIFGNUM,DIFGNUMF,DIFGPC,DIFGPTER,DIFGSECP,DIFGSTRT,DIFGVAL,DIFGNDC,DIFGM,DIFGFLD,DIFGNOLK($P(DIFGMO(DIFGMULT),U,2)),DIFGDIC,DIFGSAVE,DIFGSVVL
38: K DIFGSKIP
39: Q
40: ;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>