Annotation of freem_fileman/DIARR6.m, revision 1.1
1.1 ! snw 1: DIARR6 ;SFISC/DCM-PROCESS ARCHIVED FILE WITH INDEX ;11/18/92 11:49 AM
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: S DIARFILE=$P(DIARL,U,3),DIARFN=+$P(DIARL,U,2)
! 5: S DIARREC=$P(DIARL,U,4,99)
! 6: F DIARXX=1:1 S DIARFLD=$P(DIARREC,U,DIARXX) Q:DIARFLD="" S DIARFNO=$P(DIARFLD,":"),DIARFNA=$P(DIARFLD,":",2) D
! 7: . I +DIARFNO=.01 S DIAR01=DIARFNA
! 8: . S DIARPC(DIARXX)=DIARFNO_U_DIARFNA
! 9: . S:+DIARFNO'=.01 DIARID(DIARFNO)=DIARFNA_U_DIARFNO
! 10: . S DIARCNT=DIARXX
! 11: . Q
! 12: S DIARCTR=0,DIARFLGT=0
! 13: F X DIARX Q:DIARL["$DAT" S DIARCTR=DIARCTR+1 F DIARXX=1:1:DIARCNT S DIARFLD=$P(DIARL,U,DIARXX) S DIARFNA=$P(DIARPC(DIARXX),U,2),DIARFNO=+DIARPC(DIARXX),^TMP("DIARHLP",$J,DIARCTR,DIARFNO)=DIARFNA_" = "_DIARFLD D FLGTH
! 14: Q
! 15: ;
! 16: FLGTH S $P(DIARPC(DIARXX),U,3)=$S($L(DIARFLD)>+$P(DIARPC(DIARXX),U,3):$L(DIARFLD),1:+$P(DIARPC(DIARXX),U,3))
! 17: Q
! 18: ;
! 19: PROC S DIARIXCT=0 K DIARRF
! 20: PROC1 F X DIARX Q:DIARL["$DAT" G PROC1:DIARL["$INDEX" D PROC2 D MATCH^DIARR2 K:'$G(DIARIXX(DIARIXCT)) DIARIXX(DIARIXCT) G PROC1
! 21: Q:'$D(DIARIXX)
! 22: S (DIARIXCT,DIARXX)=1 D:$G(DIARIXX(DIARIXCT)) FOUND
! 23: F S DIARXX=$O(DIARIXX(DIARXX)) Q:DIARXX'>0 D PROC1A
! 24: Q
! 25: ;
! 26: PROC1A F X DIARX Q:DIARL["#$#" I DIARL["$DAT" S DIARIXCT=DIARIXCT+1 I DIARIXCT=DIARXX D FOUND Q
! 27: Q
! 28: ;
! 29: PROC2 K DIARA S DIARIXCT=DIARIXCT+1,DIARIXX(DIARIXCT)=""
! 30: F DIARXX=1:1:DIARCNT S DIARVAL=$P(DIARL,U,DIARXX) D PROC2A
! 31: Q
! 32: ;
! 33: PROC2A I +$P(DIARPC(DIARXX),U)=.01 S DIARA(.01)=DIARVAL Q
! 34: S DIARA("ID",+$P(DIARPC(DIARXX),U))=DIARVAL
! 35: Q
! 36: ;
! 37: FOUND K ^TMP("DIARFG",$J) S DIARZ=1 D SET
! 38: F DIARZ=DIARZ+1:1 X DIARX D SET I DIARL["$END DAT" Q
! 39: F DIARZ=1:1 S DIARY=$P(DIARIXX(DIARIXCT),",",DIARZ) Q:DIARY="" S DIARRF(DIARY)=$S($D(DIARRF(DIARY)):DIARRF(DIARY)+1,1:0) D SETFG
! 40: Q
! 41: ;
! 42: SET S ^TMP("DIARFG",$J,DIARZ)=DIARL
! 43: Q
! 44: ;
! 45: SETFG S %X="^TMP(""DIARFG"",$J,",%Y="^TMP(""DIAR"",$J,DIARY,DIARRF(DIARY)," D %XY^%RCR
! 46: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>