Annotation of freem_fileman/DIFG1.m, revision 1.1

1.1     ! snw         1: DIFG1  ;SFISC/DG(OHPRD)-SINGLE VALUED FIELDS ; [ 02/03/93  3:17 PM ]
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4: START  ;ASSIGNMENT STATEMENT FOR SINGLE VALUED FIELD
        !             5:        I DIFGTYPE="WP FIELD" D WPFIELD G X1
        !             6:        S DIFGSECP=$P(DIFGDIX,"=",2)
        !             7:        I DIFGSECP="^" S DIFGVAL="@" D SETDR G X1
        !             8:        I DIFGSECP?1"@"1N.N,'^UTILITY("DIFG@",$J,DIFGSECP),$D(DIFG("UNRESOLVED",DIFGSECP)) S DIFGER=21_U_DIFGY D ERROR^DIFG G X2
        !             9:        I $P(^DD(DIC,DIFGNUM,0),U,2)["P",DIFGSECP'?1"@"1N.N D LOOKUP I 1
        !            10:        E  I DIFGSECP'?1"@"1N.N,DIFGSECP[";" D PARSE S DIFGVAL="^S X="_DIFGSECP I 1
        !            11:        E  S DIFGVAL=$S(DIFGSECP'?1"@"1N.N:DIFGSECP,^UTILITY("DIFG@",$J,DIFGSECP)[DIFGSECP:"^S X="_"""`""_^UTILITY(""DIFG@"","_$J_","""_DIFGSECP_""")",DIFGNUM'=.01:"/"_^UTILITY("DIFG@",$J,DIFGSECP),1:"`"_^UTILITY("DIFG@",$J,DIFGSECP))
        !            12:        I DIFGER G X1
        !            13:        D SETDR
        !            14:        K DIFGSECP,DIFGPC,DIFGFLD,DIFGVAL,DIFGDOL,DIFGNOLK,DIFGPARS,DIFGDOLF
        !            15: X1     Q
        !            16:        ;
        !            17: PARSE  ; PARSE AND CHANGE DIFGSECP IF CONTAINS ";"
        !            18:        NEW I S DIFGPARS="" F I=0:0 S DIFGDOLF=$F(DIFGSECP,";") Q:'DIFGDOLF  S DIFGPARS=DIFGPARS_$S(DIFGDOLF>2:""""_$E(DIFGSECP,1,DIFGDOLF-2)_"""_",1:"")_"$C(59)_" S DIFGSECP=$E(DIFGSECP,DIFGDOLF,245)
        !            19:        S DIFGSECP=$S(DIFGSECP="":$E(DIFGPARS,1,$L(DIFGPARS)-1),1:DIFGPARS_""""_DIFGSECP_"""")
        !            20:        Q
        !            21:        ;
        !            22: SETDR  ;
        !            23:        S:'$D(^UTILITY("DIFG",$J,DIFGINCR,DIC,"DR")) ^("DR")=""
        !            24:        I $L(^UTILITY("DIFG",$J,DIFGINCR,DIC,"DR"))+$L(DIFGNUM_"///"_DIFGVAL_";")<241 S ^("DR")=^("DR")_DIFGNUM_"///"_DIFGVAL_";" G X2
        !            25:        I $D(^UTILITY("DIFG",$J,DIFGINCR,DIC,"DR",DIFGNDC)),$L(^(DIFGNDC))+$L(DIFGNUM_"///"_DIFGVAL_";")<241 S ^(DIFGNDC)=^(DIFGNDC)_DIFGNUM_"///"_DIFGVAL_";"
        !            26:        E  S DIFGNDC=DIFGNDC+1,^(DIFGNDC)=DIFGNUM_"///"_DIFGVAL_";"
        !            27: X2     Q
        !            28:        ;
        !            29: LOOKUP ;FIELD LOOKUP
        !            30:        S DIFG=DIFG+1
        !            31:        S X=$P(DIFGDIX,"=",2)
        !            32:        S DIFGLAGO=0
        !            33:        I $P(^DD(DIC,DIFGNUM,0),U,2)'["'"!($D(DIFGENV("LAYGO",DIC,DIFGNUM))) S DIFGLAGO=1
        !            34:        D ^DIFG3
        !            35:        I DIFGER G X3
        !            36:        I Y>0 S DIFGVAL="/"_+Y G X3
        !            37:        S DIFGVAL="^S X="_"""`""_"_DIFGALNK
        !            38: X3     S DIFG=DIFG-1
        !            39:        K Y,DIFGLAGO
        !            40:        Q
        !            41:        ;
        !            42: WPFIELD        ;PROCESS WP FIELD
        !            43:        S DIFG("COUNT")=0
        !            44:        S ^UTILITY("DIFG",$J,DIFGINCR,DIC,"WP",DIFG("COUNT"))=DIFGFLDN
        !            45:        F DIFGL=0:0 X DIFGLINE Q:DIFGDIX="."  S DIFG("COUNT")=DIFG("COUNT")+1 D BUILD
        !            46:        K DIFG("COUNT")
        !            47:        Q
        !            48:        ;
        !            49: BUILD  ;
        !            50:        S ^UTILITY("DIFG",$J,DIFGINCR,DIC,"WP",DIFG("COUNT"))=$E(DIFGDIX,2,$L(DIFGDIX)-1)
        !            51:        Q
        !            52:        ;

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