Annotation of freem_fileman/USER/DIFROMSU.m, revision 1.1
1.1 ! snw 1: DIFROMSU ;SCISC/DCL-DIFROM SERVER BUILD "FIA" SUBSCRIPTS IN TRANSPORT ARRAY;03:24 PM 14 Sep 1994
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: FIA(DIFRFILE,DIFRFLG,DIFRPFL,DIFRTAR,DIFR222,DIFR223,DIFRDSCR,DIFRVER,DIFRMSGR) ;
! 5: ;FILE,FLAGS,PARTIAL_FILE_LIST,TARGET_ARRAY_ROOT,ANSWERS,DD_SCREEN,DATA_SCREEN,VERSION,MSG_ARRAY
! 6: I '$D(DIQUIET) N DIQUIET S DIQUIET=1
! 7: I '$D(DIFM) N DIFM S DIFM=1
! 8: I $G(U)'="^"!($G(DT)'>0)!($G(DTIME)'>0)!('$D(DUZ)) D DT^DICRW
! 9: N DIFRFD,DIFRFE,DIFRX,FIELD,FIELDNR,DIFRTA,DIFRP,DIFR00
! 10: S DIFRTA=$NA(@DIFRTAR@("FIA"))
! 11: I $G(DIFRFILE)'>0 D BLD^DIALOG(9542) Q
! 12: I '$D(^DIC(DIFRFILE)) D BLD^DIALOG(9539,DIFRFILE) Q
! 13: I $P($G(DIFR222),"^",3)'="p" G F
! 14: I $G(DIFRPFL)']"" G F
! 15: I $D(@DIFRPFL)'>9 G F
! 16: G F:$O(@DIFRPFL@(0))'>0
! 17: N DIFRDDC,DIFRFLDC,DIFRTMP
! 18: K ^TMP("FIA",$J)
! 19: S DIFRDDC=0,DIFRTMP=$NA(^TMP("FIA",$J))
! 20: M @DIFRTMP=@DIFRPFL
! 21: F S DIFRDDC=$O(@DIFRTMP@(DIFRFILE,DIFRDDC)) Q:DIFRDDC'>0 D
! 22: .I '$D(^DD(DIFRDDC)) K @DIFRTMP@(DIFRFILE,DIFRDDC) D BLD^DIALOG(9540,DIFRDDC) Q
! 23: .I '$O(@DIFRTMP@(DIFRFILE,DIFRDDC,0)) D Q
! 24: ..Q:@DIFRTMP@(DIFRFILE,DIFRDDC)="SUB"
! 25: ..D SB^DIFROMSS(DIFRDDC,"W",$NA(@DIFRTMP@(DIFRFILE)),"SUB")
! 26: ..Q
! 27: .S DIFRFLDC=0
! 28: .F S DIFRFLDC=$O(@DIFRTMP@(DIFRFILE,DIFRDDC,DIFRFLDC)) Q:DIFRFLDC'>0 D
! 29: ..I '$D(^DD(DIFRDDC,DIFRFLDC,0)) K @DIFRTMP@(DIFRFILE,DIFRDDC,DIFRFLDC) D Q
! 30: ...N DIFRX S DIFRX(1)=DIFRFLDC,DIFRX(2)=DIFRDDC
! 31: ...D BLD^DIALOG(9541,.DIFRX)
! 32: ...Q
! 33: ..I $P(^DD(DIFRDDC,DIFRFLDC,0),"^",2) S DIFRX=$P(^DD(+$P(^(0),"^",2),.01,0),"^",2) D
! 34: ...I DIFRX["W" S @DIFRTMP@(DIFRFILE,+$P(^DD(DIFRDDC,DIFRFLDC,0),"^",2))=0 Q
! 35: ...K @DIFRTMP@(DIFRFILE,DIFRDDC,DIFRFLDC)
! 36: ...Q
! 37: ..Q
! 38: .Q
! 39: ;
! 40: M @DIFRTA@(DIFRFILE)=@DIFRTMP@(DIFRFILE)
! 41: K @DIFRTMP
! 42: ;
! 43: I $D(@DIFRTA@(DIFRFILE,DIFRFILE))=1 G F
! 44: S @DIFRTA@(DIFRFILE,DIFRFILE)=1,DIFRFE=DIFRFILE
! 45: ;F S DIFRFE=$O(@DIFRTA@(DIFRFILE,DIFRFE)) Q:DIFRFE'>0 S:$P(^DD(DIFRFE,.01,0),"^",2)'["W" @DIFRTA@(DIFRFILE,DIFRFE,.01)=0
! 46: F S DIFRFE=$O(@DIFRTA@(DIFRFILE,DIFRFE)) Q:DIFRFE'>0 D
! 47: .S @DIFRTA@(DIFRFILE,DIFRFE)=$D(@DIFRTA@(DIFRFILE,DIFRFE))>9
! 48: .N DIFRX,DIFRY
! 49: .S DIFRY=$$UP^DIQGU(DIFRFE,.DIFRX)
! 50: .Q:'$D(DIFRX)!(+$G(DIFRX(-1))=DIFRFILE)
! 51: .K DIFRX($O(DIFRX("")))
! 52: .M @DIFRTAR@("UP",DIFRFILE,DIFRFE)=DIFRX
! 53: .Q
! 54: S DIFRFE=DIFRFILE
! 55: F S DIFRFE=$O(@DIFRTA@(DIFRFILE,DIFRFE)) Q:DIFRFE'>0 D:'^(DIFRFE)!($D(@DIFRTA@(DIFRFILE,DIFRFE,.01)))
! 56: .Q:'$D(^DD(DIFRFE,0,"UP"))
! 57: .N DIFRUP,DIFRFLD
! 58: .S DIFRUP=^DD(DIFRFE,0,"UP"),DIFRFLD=$O(^DD(DIFRUP,"SB",DIFRFE,0))
! 59: .Q:$G(@DIFRTA@(DIFRFILE,DIFRUP))=0!($D(@DIFRTA@(DIFRFILE,DIFRUP,DIFRFLD)))
! 60: .S @DIFRTA@(DIFRFILE,DIFRUP,DIFRFLD)=""
! 61: .Q:$D(@DIFRTA@(DIFRFILE,DIFRUP))#2
! 62: .S @DIFRTA@(DIFRFILE,DIFRUP)=1
! 63: .Q
! 64: ;
! 65: G G
! 66: F S @DIFRTA@(DIFRFILE,DIFRFILE)=0,DIFRFE=0
! 67: S:$P(DIFR222,"^",3)'="f" $P(DIFR222,"^",3)="f"
! 68: E F S DIFRFE=$O(@DIFRTA@(DIFRFILE,DIFRFE)) Q:DIFRFE'>0 D
! 69: .S DIFRFD=0
! 70: .F S DIFRFD=$O(^DD(DIFRFE,"SB",DIFRFD)) Q:DIFRFD'>0 S @DIFRTA@(DIFRFILE,DIFRFD)=0
! 71: .Q
! 72: G S @DIFRTA@(DIFRFILE)=$P(^DIC(DIFRFILE,0),"^")
! 73: S (DIFR00,@DIFRTA@(DIFRFILE,0))=^DIC(DIFRFILE,0,"GL")
! 74: S @DIFRTA@(DIFRFILE,0,0)=$P(@(DIFR00_"0)"),"^",2)
! 75: S @DIFRTA@(DIFRFILE,0,1)=$G(DIFR222)
! 76: S @DIFRTA@(DIFRFILE,0,10)=$G(DIFR223)
! 77: S @DIFRTA@(DIFRFILE,0,11)=$G(DIFRDSCR)
! 78: S @DIFRTA@(DIFRFILE,0,"RLRO")=$$ROOT($P(DIFR222,"^",6))
! 79: I $G(DIFRVER)]"" S @DIFRTA@(DIFRFILE,0,"VR")=DIFRVER
! 80: FE I $G(DIFRMSGR)]"" D CALLOUT^DIEFU(DIFRMSGR)
! 81: Q
! 82: ;
! 83: ERR501(DIFRFILE,DIFRFLD) ; 501 Errors
! 84: N DIFRERRX
! 85: S DIFRERRX("FILE")=DIFRFILE,DIFRERRX(1)=DIFRFLD
! 86: D BLD^DIALOG(501,.DIFRERRX)
! 87: Q
! 88: ROOT(IEN) ;Create root from DIBT(ien
! 89: ;
! 90: I $G(IEN)>0,$D(^DIBT(IEN,1))>9 Q "^DIBT("_IEN_",1)"
! 91: I $G(IEN)]"" S IEN=$O(^DIBT("B",IEN,"")) Q:IEN>0 $$ROOT(IEN)
! 92: Q ""
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>