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

ENTIRA.m

Go to the documentation of this file.
ENTIRA ;WOIFO/SAB - IT EQUIPMENT RESPONSIBILITY ASSIGN ;2/4/2008
 ;;7.0;ENGINEERING;**87**;Aug 17, 1993;Build 16
 ;
 N ENC,ENDA,ENIA,ENPER,ENSM,ENSMV,ENSRT,ENX,ENY
 N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
 ;
GETEQ ; get equipment
 W !!,"Selecting accountable IT equipment to be assigned..."
 ;   ask method of selection
 S ENX=$$ASKEQSM^ENTIUTL2("ECULS","E")
 S ENSM=$P(ENX,U),ENSMV=$P(ENX,U,2)
 G:"^E^C^U^L^S^"'[(U_ENSM_U) EXIT
 ;
 ;   ask if already assigned equipment should be included
 I ENSM="E" S ENIA="1"
 E  S ENIA=$$ASKIAEQ^ENTIUTL2()
 G:ENIA="" EXIT
 ;
 ;   select equipment using method
 S ENSRT="E" ; set sort method = E
 D GETEQ^ENTIUTL2(ENSM,ENSMV,ENSRT,ENIA)
 ;
 ; display count of selected equipment
 S ENY=$G(^TMP($J,"ENITEQ",0))
 W !!,+ENY," equipment item(s) selected."
 ;
 I ENY'>0 D  G:Y GETEQ G EXIT
 . W !!
 . S DIR(0)="Y"
 . S DIR("A")="No equipment was selected. Do you want to try again"
 . S DIR("B")="YES"
 . D ^DIR K DIR
 ;
 ; ask if detailed report desired
 S DIR(0)="Y"
 S DIR("A")="Do you want to print a list of the equipment"
 S DIR("B")="YES"
 D ^DIR K DIR G:$D(DIRUT) EXIT
 I Y D AEN^ENTIRRE
 ;
GETPE ; get people that will be assigned the equipment
 W !!,"Selecting person(s) to be assigned responsibility..."
 D SELPER
 ;
 ; display count of selected persons
 S ENY=$G(^TMP($J,"ENITPE",0))
 W !!,+ENY," person(s) selected."
 I ENY'>0 D  G:Y GETPE G EXIT
 . W !!
 . S DIR(0)="Y"
 . S DIR("A")="No responsible person selected. Do you want to try again"
 . S DIR("B")="YES"
 . D ^DIR K DIR
 ;
 ; confirm
 S DIR(0)="Y"
 S DIR("A")="OK to create assignments"
 S DIR("B")="YES"
 D ^DIR K DIR G:'Y EXIT
 ;
 ; make assignments
 K ENC
 ;  loop thru equipment list
 S ENDA=0 F  S ENDA=$O(^TMP($J,"ENITEQ","NA",ENDA)) Q:'ENDA  D
 . ; loop thru person list
 . S ENPER=0 F  S ENPER=$O(^TMP($J,"ENITPE",ENPER)) Q:'ENPER  D
 . . ; create assignment
 . . S ENX=$$ASGN^ENTIUTL1(ENDA,ENPER)
 . . I ENX S ENC(1)=$G(ENC(1))+1
 . . I ENX=0 W !,"  Equipment # ",ENDA," is already assigned to ",$$GET1^DIQ(200,ENPER,.01) S ENC(0)=$G(ENC(0))+1
 . . I ENX="E" W !,"  ERROR. Equipment ",ENDA," was not assigned to ",$$GET1^DIQ(200,ENPER,.01) S ENC("E")=$G(ENC("E"))+1
 ;
 ; display totals
 W !!,+$G(ENC(1))," equipment assignment(s) created."
 W:$G(ENC(0)) !,ENC(0)," equipment assignment(s) already in place."
 W:$G(ENC("E")) !,ENC("E")," assignment(s) not created due to an error."
 ;
EXIT ;
 K ^TMP($J,"ENITEQ"),^TMP($J,"ENITPE")
 Q
 ;
SELPER ; Select Person(s)
 ; output
 ;   ^TMP($J,"ENITPE",0)=count
 ;   ^TMP($J,"ENITPE",ien)="" list of persons by internal entry number
 ;
 N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
 N ENCNT,END,ENDA,ENNAME
 S ENCNT=0,END=0
 K ^TMP($J,"ENITPE")
 ;
 ; ask person in loop
 F  D  Q:END
 . S DIC="^VA(200,"
 . S DIC(0)="AQEM"
 . I ENCNT>0 S DIC("A")="Select Another NEW PERSON NAME: "
 . W !
 . D ^DIC K DIC  I Y<1 S END=1 Q
 . S ENDA=+Y
 . S ENNAME=$P(Y,U,2)
 . S DIR(0)="Y",DIR("A")="Assign responsibility to "_ENNAME
 . D ^DIR I $D(DIRUT) S END=1 Q
 . I 'Y Q
 . ; user confirmed
 . S ENCNT=ENCNT+1
 . S ^TMP($J,"ENITPE",ENDA)=""
 ;
 ; set output header node
 S ^TMP($J,"ENITPE",0)=ENCNT
 ;
 ;ENTIRA