| [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
 | 
|---|