Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: USRCLASS

USRCLASS.m

Go to the documentation of this file.
  1. USRCLASS ; SLC/JER - User Class Management actions ;11/25/09
  1. ;;1.0;AUTHORIZATION/SUBSCRIPTION;**7,11,33**;Jun 20, 1997;Build 5
  1. EDIT ; Edit user classes
  1. N USRDA,USRDATA,USREXPND,USRI,USRSTAT,DIROUT,USRCHNG
  1. N USRLST,NAME,NAME1,NAME2,LINE,CANTMSG
  1. D:'$D(VALMY) EN^VALM2(XQORNOD(0)) S USRI=0,USRCHNG=0
  1. F S USRI=$O(VALMY(USRI)) Q:+USRI'>0 D Q:$D(DIROUT)
  1. . S USRDATA=$S(VALMAR="^TMP(""USRCLASS"",$J)":$G(^TMP("USRCLASSIDX",$J,USRI)),1:$G(^TMP("USREXPIDX",$J,USRI)))
  1. . W !!,"Editing #",+USRDATA,!
  1. . S USRDA=+$P(USRDATA,U,2)
  1. . S NAME=$P(^USR(8930,USRDA,0),U),NAME1="|_ "_NAME,NAME2="-"_NAME
  1. . S LINE=^TMP("USRCLASS",$J,USRI,0)
  1. . D EDIT1
  1. . I (LINE[NAME1)!(LINE[NAME2) D Q
  1. . . S CANTMSG=1,VALMBCK="Q",USRCHNG=0
  1. . I +$G(USRCHNG) S USRLST=$S($L($G(USRLST)):$G(USRLST)_", ",1:"")_USRI
  1. . I $D(USRDATA) D UPDATE^USRL(USRDATA)
  1. Q:$D(DIROUT)
  1. I $D(CANTMSG) D K VALMY S VALMBCK="Q" Q
  1. . W !!," Expanded entries cannot be refreshed; please re-enter the option"
  1. . W !,"to see the result of your edits." H 3
  1. W !," Refreshing the list. If expanded entries require refreshing please"
  1. W !,"collapse and re-expand the entries." H 2
  1. S VALMSG="** "_$S($L($G(USRLST)):"Item"_$S($L($G(USRLST),",")>1:"s ",1:" ")_$G(USRLST),1:"Nothing")_" Edited **"
  1. K VALMY S VALMBCK="R"
  1. Q
  1. EDIT1 ; Single record edit
  1. ; Receives USRDA
  1. N DA,DIE,DR
  1. I '+$G(USRDA) W !,"No Classes selected." H 2 Q
  1. S DIE="^USR(8930,",DA=USRDA,DR="[USR CLASS STRUCTURE EDIT]"
  1. D FULL^VALM1,^DIE
  1. S USRCHNG=1 ;Needs check if not really changed.
  1. Q
  1. EXPAND ; Expand/Collapse user class hierarchy display
  1. N USRDNM,USRLNM,USRSTAT,USRVALMY
  1. D:'$D(VALMY) EN^VALM2(XQORNOD(0))
  1. I $D(VALMY) M USRVALMY=VALMY D EC^USRECCL(.USRVALMY)
  1. W !,"Refreshing the list."
  1. K VALMY S VALMBCK="R"
  1. S USRSTAT=+$P($G(^TMP("USRCLASS",$J,0)),U,2)
  1. S USRDNM=$P($G(^TMP("USRCLASS",$J,0)),U,3)
  1. S USRLNM=$P($G(^TMP("USRCLASS",$J,0)),U,4)
  1. S VALMCNT=+$G(@VALMAR@(0))
  1. S VALMBCK="R"
  1. Q
  1. CREATE ; Class constructor
  1. N USRCREAT
  1. N DIC,DLAYGO,X,Y,USRSTAT,USRDNM,USRLNM D FULL^VALM1
  1. S (DIC,DLAYGO)=8930,DIC(0)="AELMQ",DIC("A")="Select CLASS: "
  1. D ^DIC Q:+Y'>0
  1. S USRCREAT=+$P(Y,U,3)
  1. S DA=+Y,DIE=DIC,DIE("NO^")="BACK",DR="[USR CLASS STRUCTURE EDIT]"
  1. D ^DIE
  1. S USRSTAT=+$P($G(^TMP("USRCLASS",$J,0)),U,2)
  1. S USRDNM=$P($G(^TMP("USRCLASS",$J,0)),U,3)
  1. S USRLNM=$P($G(^TMP("USRCLASS",$J,0)),U,4)
  1. I 'USRCREAT Q ; Don't rebuild without cause
  1. W !,"Rebuilding main class list."
  1. D BUILD^USRCLST(USRSTAT,USRDNM,USRLNM)
  1. S VALMCNT=+$G(@VALMAR@(0))
  1. S VALMBCK="R"
  1. Q
  1. MEMBERS ; List Members of classes and their subclasses
  1. N USRDA,USRDATA,USREXPND,USRI,USRSTAT,VALMCNT,DIROUT
  1. D:'$D(VALMY) EN^VALM2(XQORNOD(0)) S USRI=0
  1. F S USRI=$O(VALMY(USRI)) Q:+USRI'>0 D Q:$D(DIROUT)
  1. . S USRDATA=$S(VALMAR="^TMP(""USRCLASS"",$J)":$G(^TMP("USRCLASSIDX",$J,USRI)),1:$G(^TMP("USREXPIDX",$J,USRI)))
  1. . W !!,"Listing Members of #",+USRDATA,!
  1. . S USRDA=+$P(USRDATA,U,2) D EN^VALM("USR LIST MEMBERSHIP BY CLASS")
  1. . I $D(USRDATA) D UPDATE^USRL(USRDATA)
  1. W !,"Refreshing the list."
  1. S VALMSG="Members listed"
  1. K VALMY S VALMBCK="R"
  1. Q