[613] | 1 | VALMD ;MJK/ALB - List Manager Demo Routine; APR 2, 1992 ;06/26/2006
|
---|
| 2 | ;;1.0;List Manager;**8**;Aug 13, 1993;Build 1
|
---|
| 3 | ;
|
---|
| 4 | EN ; -- option entry point
|
---|
| 5 | K XQORS,VALMEVL
|
---|
| 6 | D EN^VALM("VALM DEMO APPLICATION")
|
---|
| 7 | ENQ Q
|
---|
| 8 | ;
|
---|
| 9 | ;
|
---|
| 10 | INIT ; -- build array
|
---|
| 11 | W ! S DIC("A")="Select Package: ",DIC="^DIC(9.4,",DIC(0)="AEMQ" D ^DIC K DIC
|
---|
| 12 | I Y<0 S VALMQUIT="" G INITQ
|
---|
| 13 | PKG ; -- entry pt if package known
|
---|
| 14 | N VALMX,VALMCNTI,VALMPRO,VALMIFN,X,VALMPRE,Z
|
---|
| 15 | S VALMPKG=+Y
|
---|
| 16 | D CLEAN^VALM10
|
---|
| 17 | S (VALMCNTI,VALMCNT)=0,(VALMPRE,VALMPRO)=$P($G(^DIC(9.4,VALMPKG,0)),U,2)
|
---|
| 18 | F S VALMPRO=$O(^ORD(101,"B",VALMPRO)) Q:$E(VALMPRO,1,$L(VALMPRE))'=VALMPRE S VALMIFN=0 F S VALMIFN=$O(^ORD(101,"B",VALMPRO,VALMIFN)) Q:'VALMIFN I $D(^ORD(101,VALMIFN,0)) S VALMX=^(0) D
|
---|
| 19 | .S VALMCNTI=VALMCNTI+1 W:(VALMCNTI#10)=0 "."
|
---|
| 20 | .S X=$$SETFLD^VALM1(VALMCNTI,"","NUMBER")
|
---|
| 21 | .S X=$$SETFLD^VALM1($P(VALMX,U),X,"NAME")
|
---|
| 22 | .S X=$$SETFLD^VALM1($P(VALMX,U,2),X,"TEXT") K Z S $E(Z,$L(X)+1,240)=""
|
---|
| 23 | .S VALMCNT=VALMCNT+1
|
---|
| 24 | .D SET^VALM10(VALMCNT,$E(X_Z,1,240),VALMCNTI) ; set text
|
---|
| 25 | .S ^TMP("VALMZIDX",$J,VALMCNTI)=VALMCNT_U_VALMIFN
|
---|
| 26 | .D:'(VALMCNT#9) FLDCTRL^VALM10(VALMCNT) ; defaults for all fields
|
---|
| 27 | .D FLDCTRL^VALM10(VALMCNT,"NUMBER") ; default for 1 field
|
---|
| 28 | .D:'(VALMCNT#5) FLDCTRL^VALM10(VALMCNT,"NAME",IOUON,IOUOFF) ; adhoc
|
---|
| 29 | D NUL:'VALMCNT
|
---|
| 30 | INITQ Q
|
---|
| 31 | ;
|
---|
| 32 | HDR ; -- demo header
|
---|
| 33 | N VALMX
|
---|
| 34 | S VALMX=$G(^DIC(9.4,VALMPKG,0)),X=" Package: "_$P(VALMX,U)
|
---|
| 35 | S VALMHDR(1)=$$SETSTR^VALM1("Prefix: "_$P(VALMX,U,2),X,63,15)
|
---|
| 36 | S VALMHDR(2)="Description: "_$E($P(VALMX,U,3),1,65)
|
---|
| 37 | Q
|
---|
| 38 | ;
|
---|
| 39 | NUL ; -- set nul message
|
---|
| 40 | I 'VALMCNT D
|
---|
| 41 | .F X=" "," No protocols to list." S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT,X)
|
---|
| 42 | .S ^TMP("VALMZIDX",$J,1)=1,^(2)=2
|
---|
| 43 | Q
|
---|
| 44 | ;
|
---|
| 45 | FNL ; -- clean up
|
---|
| 46 | K DIE,DIC,DR,DA,DE,DQ,VALMY,VALMPKG,^TMP("VALMZIDX",$J)
|
---|
| 47 | D CLEAN^VALM10
|
---|
| 48 | Q
|
---|
| 49 | ;
|
---|
| 50 | EXP ; -- expand action
|
---|
| 51 | D FULL^VALM1
|
---|
| 52 | N VALMI,VALMAT,VALMY
|
---|
| 53 | D EN^VALM2(XQORNOD(0),"O") S VALMI=0
|
---|
| 54 | F S VALMI=$O(VALMY(VALMI)) Q:'VALMI D
|
---|
| 55 | .S VALMAT=$G(^TMP("VALMZIDX",$J,VALMI))
|
---|
| 56 | .W !!,@VALMAR@(+VALMAT,0),!
|
---|
| 57 | .S DA=+$P(VALMAT,U,2),DIC="^ORD(101,",DR="0" D EN^DIQ,PAUSE^VALM1
|
---|
| 58 | S VALMBCK="R",VALMSG="'Expand' was last action picked."
|
---|
| 59 | Q
|
---|
| 60 | ;
|
---|
| 61 | EDIT ; -- edit action
|
---|
| 62 | N VALMA,VALMP,VALMI,VALMAT,VALMY
|
---|
| 63 | D MSG^VALM10("'Edit' action...")
|
---|
| 64 | D EN^VALM2(XQORNOD(0),"O") S VALMI=0 ; all the user to "O"ptionally answer
|
---|
| 65 | F S VALMI=$O(VALMY(VALMI)) Q:'VALMI D
|
---|
| 66 | .D SELECT^VALM10(VALMI,1) ; -- 'select' line
|
---|
| 67 | .S VALMAT=$G(^TMP("VALMZIDX",$J,VALMI))
|
---|
| 68 | .W !!,@VALMAR@(+VALMAT,0)
|
---|
| 69 | .S DA=+$P(VALMAT,U,2),VALMP=$G(^ORD(101,DA,0)),DIE=101,DR="1" D ^DIE K DIE,DR
|
---|
| 70 | .S VALMA=$G(^ORD(101,DA,0))
|
---|
| 71 | .I $P(VALMP,U,2)'=$P(VALMA,U,2) D UPD($P(VALMA,U,2),"TEXT",.VALMAT)
|
---|
| 72 | .D SELECT^VALM10(VALMI,0) ; -- 'de-select' line
|
---|
| 73 | D MSG^VALM10("")
|
---|
| 74 | S VALMBCK=$S(VALMCC:"",1:"R")
|
---|
| 75 | Q
|
---|
| 76 | ;
|
---|
| 77 | DESC ; -- display description action
|
---|
| 78 | N VALMI,VALMY,VALMAT
|
---|
| 79 | D EN^VALM2(XQORNOD(0),"OS") S VALMI=0 ; select only a "S"ingle protocol
|
---|
| 80 | F S VALMI=$O(VALMY(VALMI)) Q:'VALMI D
|
---|
| 81 | .S VALMAT=+$P($G(^TMP("VALMZIDX",$J,VALMI)),U,2)
|
---|
| 82 | .I '$D(^ORD(101,VALMAT,1)) W !!,"No Description entered." D PAUSE^VALM1 Q
|
---|
| 83 | .D WP^VALM("^ORD(101,"_VALMAT_",1)",$P($G(^ORD(101,VALMAT,0)),U))
|
---|
| 84 | S VALMBCK="R"
|
---|
| 85 | Q
|
---|
| 86 | ;
|
---|
| 87 | UPD(TEXT,FLD,VALMAT) ; -- update data for screen
|
---|
| 88 | D:VALMCC FLDCTRL^VALM10(+VALMAT,.FLD,.IOINHI,.IOINORM,1)
|
---|
| 89 | D FLDTEXT^VALM10(+VALMAT,.FLD,.TEXT)
|
---|
| 90 | Q
|
---|
| 91 | ;
|
---|
| 92 | CHG ; -- change package action
|
---|
| 93 | K X I $D(XQORNOD(0)) S X=$P($P(XQORNOD(0),U,4),"=",2)
|
---|
| 94 | I X="" R !!,"Select Package: ",X:DTIME
|
---|
| 95 | S DIC="^DIC(9.4,",DIC(0)="EMQ" D ^DIC K DIC G CHG:X["?"
|
---|
| 96 | I Y<0 D G CHGQ
|
---|
| 97 | .W !!,*7,"Package has not been changed."
|
---|
| 98 | .W ! S DIR(0)="E" D ^DIR K DIR
|
---|
| 99 | .S VALMBCK=""
|
---|
| 100 | D PKG,HDR S VALMBCK="R" S VALMBG=1
|
---|
| 101 | CHGQ Q
|
---|