File:  [Coherent Logic Development] / freem_fileman / USER / DIFG0A.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:20 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    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>