Annotation of freem_fileman/DDSCLONF.m, revision 1.1
1.1 ! snw 1: DDSCLONF ;SFISC/MKO-CLONE A FORM ;01:47 PM 29 Jul 1994
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: D ASKCONT Q:DDSQUIT
! 5: D CREATBK Q:DDSQUIT
! 6: D CREATFM Q:DDSQUIT
! 7: D EDITFM
! 8: D INDEXFM
! 9: K DDSNFRM
! 10: Q
! 11: ;
! 12: CREATBK ;Create blocks
! 13: N DA,DIC
! 14: W !!,"Creating new blocks ...",!
! 15: S DDSBKDA=0
! 16: F S DDSBKDA=$O(^TMP("DDSCLONE",$J,DDSBKDA)) Q:'DDSBKDA!DDSQUIT D
! 17: . S DDSBK=^TMP("DDSCLONE",$J,DDSBKDA)
! 18: . W !?2,$P(DDSBK,U,2)
! 19: . K DIC
! 20: . S DIC="^DIST(.404,",DIC(0)="QL",X=$P(DDSBK,U,2)
! 21: . D FILE^DICN K DIC
! 22: . I Y=-1 D Q
! 23: .. W !,$C(7)_"Attempt to create block "_$P(DDSBK,U,2)_" failed."
! 24: .. S DDSQUIT=1
! 25: . M ^DIST(.404,+Y)=^DIST(.404,DDSBKDA)
! 26: . S $P(^DIST(.404,+Y,0),U)=$P(DDSBK,U,2)
! 27: . W ?35,"#"_+Y
! 28: . S $P(^TMP("DDSCLONE",$J,DDSBKDA),U,3)=+Y
! 29: Q
! 30: ;
! 31: CREATFM ;Create form
! 32: N DA,DIC,DDSI,DDSJ
! 33: W !!,"Creating new form ..."
! 34: W !?2,$P(DDSFORM,U,3)
! 35: K DIC
! 36: S DIC="^DIST(.403,",DIC(0)="QL",X=$P(DDSFORM,U,3)
! 37: D FILE^DICN K DIC
! 38: I Y=-1 D Q
! 39: . W !,$C(7)_"Attempt to create form "_$P(DDSFORM,U,3)_" failed."
! 40: . S DDSQUIT=1
! 41: M ^DIST(.403,+Y)=^DIST(.403,+DDSFORM)
! 42: ;
! 43: ;Kill page and block multiple indexes
! 44: S DDSJ=" " F S DDSJ=$O(^DIST(.403,+Y,40,DDSJ)) Q:DDSJ="" D
! 45: . K ^DIST(.403,+Y,40,DDSJ)
! 46: S DDSI=0 F S DDSI=$O(^DIST(.403,+Y,40,DDSI)) Q:'DDSI D
! 47: . S DDSJ=" "
! 48: . F S DDSJ=$O(^DIST(.403,+Y,40,DDSI,40,DDSJ)) Q:DDSJ="" D
! 49: .. K ^DIST(.403,+Y,40,DDSI,40,DDSJ)
! 50: K ^DIST(.403,+Y,"AZ")
! 51: ;
! 52: S $P(^DIST(.403,+Y,0),U)=$P(DDSFORM,U,3)
! 53: W ?35,"#"_+Y
! 54: S DDSNFRM=+Y
! 55: Q
! 56: ;
! 57: EDITFM ;Edit blocks used on new form
! 58: W !!,"Repointing to new blocks ..."
! 59: N DDSBK,DDSNBK,DDSPG
! 60: S DDSPG=0 F S DDSPG=$O(^DIST(.403,DDSNFRM,40,DDSPG)) Q:'DDSPG D
! 61: . S DDSBK=$P(^DIST(.403,DDSNFRM,40,DDSPG,0),U,2)
! 62: . I DDSBK]"" D
! 63: .. N DIE,DA,DR
! 64: .. S DIE="^DIST(.403,"_DDSNFRM_",40,"
! 65: .. S DA(1)=DDSNFRM,DA=DDSPG
! 66: .. S DR="1////"_$P(^TMP("DDSCLONE",$J,DDSBK),U,3)
! 67: .. D ^DIE
! 68: . ;
! 69: . N DA,DIK
! 70: . S DIK="^DIST(.403,"_DDSNFRM_",40,"_DDSPG_",40,"
! 71: . S DA(2)=DDSNFRM,DA(1)=DDSPG
! 72: . S DDSBK=0
! 73: . F S DDSBK=$O(^DIST(.403,DDSNFRM,40,DDSPG,40,DDSBK)) Q:'DDSBK D
! 74: .. Q:$D(^TMP("DDSCLONE",$J,DDSBK))[0 S DDSNBK=$P(^(DDSBK),U,3)
! 75: .. M ^DIST(.403,DDSNFRM,40,DDSPG,40,DDSNBK)=^DIST(.403,DDSNFRM,40,DDSPG,40,DDSBK)
! 76: .. S $P(^DIST(.403,DDSNFRM,40,DDSPG,40,DDSNBK,0),U)=DDSNBK
! 77: .. S DA=DDSBK
! 78: .. D ^DIK
! 79: Q
! 80: ;
! 81: INDEXFM ;Index new form
! 82: W !,"Reindexing new form ..."
! 83: N DIK,DA
! 84: S DIK="^DIST(.403,",DA=DDSNFRM
! 85: D IX1^DIK
! 86: ;
! 87: D EN^DDSZ(DDSNFRM)
! 88: Q
! 89: ;
! 90: ASKCONT ;Final chance to abort
! 91: K DIR S DIR(0)="Y"
! 92: S DIR("A",1)=""
! 93: S DIR("A")="Ready to clone form"
! 94: S DIR("?")=" Enter 'Y' to clone form. Enter 'N' to exit."
! 95: D ^DIR K DIR
! 96: S:$D(DIRUT)!'Y DDSQUIT=1
! 97: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>