Annotation of freem_fileman/DITMGM2C.m, revision 1.1

1.1     ! snw         1: DITMGM2C       ;SFISC/EDE(OHPRD)TKW-CONTINUATION OF DITMGM2 ;5/11/94  15:16
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4:        ;
        !             5: ENTRY  ; PROCESS ONE FILE/SUBFILE ENTRY
        !             6:        ;
        !             7:        W:'$D(DITMGM2("NOTALK")) "."
        !             8:        I DITMGMDI D DINUM Q  ; merge dinum entries
        !             9:        ;
        !            10:        ; ----- Transform DITMGMT
        !            11:        S DITMGM("DITMGMT")=DITMGMT
        !            12:        I 'DITMGMV S DITMGMT=$S(DITMGMFD=.01:"`",1:"/")_DITMGMT I 1
        !            13:        E  S X=$P(DITMGMT,";",2),DITMGMT=$P(DITMGMT,";",1),X=+$P(@("^"_X_"0)"),U,2) D  Q:X=""  S DITMGMT=X_".`"_DITMGMT
        !            14:        . S X=$O(^DD(DITMGMFL,DITMGMFD,"V","B",X,0))
        !            15:        . Q:X=""
        !            16:        . S X=$P(^DD(DITMGMFL,DITMGMFD,"V",X,0),U,4)
        !            17:        . Q
        !            18:        ; -----
        !            19:        ;
        !            20:        I DITMGMMU D ENTRYM I 1
        !            21:        E  D ENTRYS
        !            22:        S DITMGMT=DITMGM("DITMGMT") K DITMGM("DITMGMT")
        !            23:        Q
        !            24:        ;
        !            25: ENTRYS ;
        !            26:        ;
        !            27:        S DITC="",DA=DITMGMN,D0=DA,DIE=DITMGMG,DR=DITMGMFD_"///"_DITMGMT
        !            28:        D ^DIE K DA,DIE,DITC,DR,D0
        !            29:        I $D(Y) S DITMGMEC=DITMGMEC+1,DITMGMRG("ERROR",DITMGMEC)="DIE"_U_DITMGMFL_U_DITMGMFD_U_DITMGMN_U_DITMGMF_U_DITMGMT
        !            30:        Q
        !            31:        ;
        !            32: ENTRYM ; PROCESS ONE SUBFILE ENTRY
        !            33:        S DITC="",DIE=DITMGMGM,DA=DITMGMN,DR=DITMGMFD_"///"_DITMGMT
        !            34:        D ^DITMU1 ; Set D0, D1, etc.
        !            35:        D ^DIE K DA,DIE,DITC,DR
        !            36:        D KILL^DITMU1 ; Kill D0, D1, etc.
        !            37:        I $D(Y) S DITMGMEC=DITMGMEC+1,DITMGMRG("ERROR",DITMGMEC)="DIE"_U_DITMGMFL_U_DITMGMFD_U_DITMGMN_U_DITMGMF_U_DITMGMT
        !            38:        Q
        !            39:        ;
        !            40: DINUM  ; DINUM FILE
        !            41:        ; Move the 'from' entry to it's new IEN location.  Do a merge
        !            42:        ; if there is already a record at that location.
        !            43:        ;
        !            44:        N DIDA,DIK,DITMFROM S DITMFROM=$S(DITMGMMU:DITMGMGM,1:DITMGMG)
        !            45:        S $P(@(DITMFROM_DITMGMF_",0)"),U)=DITMGMT
        !            46:        I '$D(@(DITMFROM_DITMGMT_",0)")) D
        !            47:        . S @(DITMFROM_DITMGMT_",0)")=DITMGMT
        !            48:        . S $P(@(DITMFROM_"0)"),U,3,4)=DITMGMT_"^"_($P(@(DITMFROM_"0)"),U,4)+1)
        !            49:        . Q
        !            50:        S DIDA=$S('DITMGMMU:",",1:$$IEN^DIEFU(.DA)),DIDA("F")=DITMGMF_DIDA,DIDA("T")=DITMGMT_DIDA
        !            51:        D TRNMRG^DIT("M",DITMGMFL,"",DIDA("F"),DIDA("T"))
        !            52:        S $P(@(DITMFROM_DITMGMF_",0)"),U)=DITMGMF
        !            53:        D
        !            54:        . N DA D DA^DIEFU(DIDA("T"),.DA) Q:$D(DIERR) 
        !            55:        . K DIK S DIK=$$ROOT^DIQGU(DITMGMFL,DIDA("T")) Q:$D(DIERR)
        !            56:        . N DIDA D IXALL^DIK Q
        !            57:        D
        !            58:        . N DA D DA^DIEFU(DIDA("F"),.DA) Q:$D(DIERR)
        !            59:        . K DIK S DIK=$$ROOT^DIQGU(DITMGMFL,DIDA("F")) Q:$D(DIERR)
        !            60:        . N DIDA D ^DIK Q
        !            61:        Q

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