Annotation of freem_fileman/USER/DIFROMSI.m, revision 1.1

1.1     ! snw         1: DIFROMSI       ;SCISC/DCL-EDE IN ;08:42 AM  22 Nov 1994;
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4: FPRE(DIFRFILE,DIFRFLG,DIFRNAME,DIFRSA) ;
        !             5:        G FPRE^DIFROMSC
        !             6: EPRE(DIFRFILE,DIFRIEN,DIFRFLG,DIFRNAME,DIFRSA,DIFROIEN)        ;
        !             7:        I '$D(DIQUIET) N DIQUIET S DIQUIET=1
        !             8:        I '$D(DIFM) N DIFM S DIFM=1
        !             9:        I $G(U)'="^"!($G(DT)'>0)!($G(DTIME)'>0)!('$D(DUZ)) D DT^DICRW
        !            10:        N DIOVRD S DIOVRD=1
        !            11:        N DIFRRDA,DIFRX
        !            12:        S DIFRFILE=$G(DIFRFILE) S:DIFRFILE'>0 DIFRFILE=$G(XPDFIL)
        !            13:        I DIFRFILE'>0 D BLD^DIALOG(9521) Q
        !            14:        S DIFRIEN=$G(DIFRIEN) S:DIFRIEN'>0 DIFRIEN=$G(DA)
        !            15:        I DIFRIEN'>0 D BLD^DIALOG(9522) Q
        !            16:        S DIFROIEN=$G(DIFROIEN) S:DIFROIEN'>0 DIFROIEN=$G(OLDA)
        !            17:        I DIFROIEN'>0 D BLD^DIALOG(9523) Q
        !            18:        I $G(DIFRNAME)="" D BLD^DIALOG(9524) Q
        !            19:        I $G(DIFRSA)="" S DIFRSA=$NA(^XTMP("XPDI",DIFRNAME,"KRN"))
        !            20:        S DIFRRDA=$$CREF^DIQGU($$ROOT^DIQGU(DIFRFILE)_DIFRIEN)
        !            21:        S DIFRX=$P(@DIFRRDA@(0),"^")
        !            22:        G:DIFRFILE=.84 DIALOG
        !            23:        I DIFRFILE'=.403 K @DIFRRDA
        !            24:        E  D
        !            25:        .Q:$G(DIFRFLG)["N"
        !            26:        .N DA,DIC,DIK,DINUM,X,Y
        !            27:        .S DIK="^DIST(.403,",DA=DIFRIEN
        !            28:        .D ^DIK
        !            29:        .S DIC="^DIST(.403,",DIC(0)="LX",X=DIFRX,DINUM=DIFRIEN
        !            30:        .D FILE^DICN
        !            31:        .Q
        !            32:        I DIFRFILE=.403 D
        !            33:        .N DIFRA0,DIFRA1,DIFRA2,DIFRJ,DIFRL,DIFRP,DIFRX,DIFRY
        !            34:        .S DIFRJ=0
        !            35:        .F  S DIFRJ=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ)) Q:'DIFRJ  I $D(^(DIFRJ,0)) S DIFRP=$P(^(0),"^",2) D
        !            36:        ..S:DIFRP]"" DIFRP=$O(^DIST(.404,"B",DIFRP,0))
        !            37:        ..S:DIFRP $P(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,0),"^",2)=DIFRP
        !            38:        ..S DIFRL=0
        !            39:        ..F  S DIFRL=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,DIFRL)) Q:'DIFRL  S DIFRA0=$G(^(DIFRL,0)),DIFRP=$P(DIFRA0,"^") I DIFRP]"" D
        !            40:        ...S DIFRP=$O(^DIST(.404,"B",DIFRP,0)) I DIFRP D
        !            41:        ....S $P(DIFRA0,"^")=DIFRP,@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK",DIFRP,0)=DIFRA0
        !            42:        ....N DIFRX
        !            43:        ....S DIFRX=0
        !            44:        ....F  S DIFRX=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,DIFRL,DIFRX)) Q:DIFRX=""  S @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK",DIFRP,DIFRX)=^(DIFRX)
        !            45:        ....Q
        !            46:        ...Q
        !            47:        ..S DIFRA0=$G(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,0))
        !            48:        ..Q:DIFRA0=""
        !            49:        ..K @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40)
        !            50:        ..S (DIFRA1,DIFRA2)=0
        !            51:        ..S DIFRL=0
        !            52:        ..F  S DIFRL=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK",DIFRL)) Q:'DIFRL  S @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,DIFRL,0)=^(DIFRL,0),DIFRA1=DIFRL,DIFRA2=DIFRA2+1 D
        !            53:        ...N DIFRX
        !            54:        ...S DIFRX=0
        !            55:        ...F  S DIFRX=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK",DIFRL,DIFRX)) Q:DIFRX=""  S @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,DIFRL,DIFRX)=^(DIFRX)
        !            56:        ...Q
        !            57:        ..S $P(DIFRA0,"^",3,4)=DIFRA1_"^"_DIFRA2
        !            58:        ..S @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,0)=DIFRA0
        !            59:        ..K @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK")
        !            60:        ..Q
        !            61:        .Q
        !            62:        Q
        !            63: DIALOG N DIFRF,DIFRX
        !            64:        S DIFRF=$P(@DIFRSA@(DIFRFILE,DIFROIEN,0),"^",4)
        !            65:        I DIFRF]"" D
        !            66:        .S DIFRF=$O(^DIC(9.4,"B",DIFRF,0)) I DIFRF,$O(^(DIFRF)) D  S DIFRF=""
        !            67:        ..N DIFRERR S DIFRERR(1)=DIFRF,DIFRERR(2)=DIFRIEN
        !            68:        ..D BLD^DIALOG(9525,.DIFRERR)
        !            69:        ..Q
        !            70:        .S $P(@DIFRSA@(DIFRFILE,DIFROIEN,0),"^",4)=DIFRF
        !            71:        F DIFRX=1,2,3,5,6 K @DIFRRDA@(DIFRX)
        !            72:        Q
        !            73: EPOST(DIFRFILE,DIFRIEN,DIFRFLG,DIFRNAME,DIFRSA)        ;
        !            74:        I '$D(DIQUIET) N DIQUIET S DIQUIET=1
        !            75:        I '$D(DIFM) N DIFM S DIFM=1
        !            76:        I $G(U)'="^"!($G(DT)'>0)!($G(DTIME)'>0)!('$D(DUZ)) D DT^DICRW
        !            77:        N DIOVRD S DIOVRD=1
        !            78:        I '$G(DIFRFILE)!('$G(DIFRIEN)) Q
        !            79:        I $G(DIFRNAME)="" Q
        !            80:        S:$G(DIFRSA)']"" DIFRSA=$NA(^XTMP("XPDI",DIFRNAME))
        !            81:        N DA,DIFR,DIFR3,DIFROU,DIK,DMAX,DNM,X,Y,Z,DIFRTN
        !            82:        S DIK=$$ROOT^DILFD(DIFRFILE),DA=DIFRIEN
        !            83:        D IX1^DIK
        !            84:        I DIFRFILE=.403,DIFRIEN D  Q
        !            85:        .I $$VAL^DIFROMSS(DIFRFILE,DIFRIEN) D EN^DDSZ(DIFRIEN) Q
        !            86:        .S DIFRTN=$P($G(^DIST(.403,DIFRIEN,0)),"^")
        !            87:        .N DIFRERR S DIFRERR(1)=DIFRTN
        !            88:        .D BLD^DIALOG(9527,.DIFRERR)
        !            89:        .Q
        !            90:        S DIFR=$S(DIFRFILE=.4:"DIPT",DIFRFILE=.402:"DIE",1:"")
        !            91:        Q:DIFR=""
        !            92:        I ^DD("VERSION")>17.4,'$D(DISYS) D OS^DII
        !            93:        E  S DISYS=^DD("OS")
        !            94:        I '$D(^DD("OS",DISYS,"ZS")) D BLD^DIALOG(9526) Q
        !            95:        S Y=DIFRIEN
        !            96:        I $D(@("^"_DIFR_"(Y,""ROU"")")) K ^("ROU") I $D(^("ROUOLD")) S (DIFROU,X)=^("ROUOLD"),DIFRTN=$P(^(0),"^") D:X]""
        !            97:        .N %X,DIR,DMAX,X,Y,DIFRZTA
        !            98:        .S DIFR3="DI"_$E(DIFR,3)_"Z"
        !            99:        .I $$VAL^DIFROMSS(DIFRFILE,DIFRIEN) D  Q
        !           100:        ..D @("EN2^"_DIFR3_"(DIFRIEN,"""",DIFROU,"""",""DIFRZTA"")")
        !           101:        ..I $D(DIFRZTA) M @DIFRSA@(DIFR3,DIFRIEN)=DIFRZTA
        !           102:        ..S @DIFRSA@(DIFR3,DIFRIEN)=DIFROU
        !           103:        ..Q
        !           104:        .N DIFRTT,DIFRERR S DIFRTT=$S(DIFRFILE=.4:"PRINT",1:"INPUT")
        !           105:        .S DIFRERR(1)=DIFRTT,DIFRERR(2)=DIFRTN
        !           106:        .D BLD^DIALOG(9528,.DIFRERR)
        !           107:        .Q
        !           108:        Q
        !           109: FPOST  ;
        !           110:        G FPOST^DIFROMSC
        !           111: EXIT   I $G(DIFRMSGR)]"" D CALLOUT^DIEFU(DIFRMSGR)
        !           112:        Q

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