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

ENTIRT.m

Go to the documentation of this file.
  1. ENTIRT ;WOIFO/LKG - TERMINATE RESPONSIBILITY ;2/4/08 12:32
  1. ;;7.0;ENGINEERING;**87,89**;Aug 17, 1993;Build 20
  1. TERMLST ;Entry for list termination processing
  1. N DA,DIR,DIROUT,DIRUT,DTOUT,DUOUT,DIC,D,ENACL,ENCNT,ENDA,ENMETHOD,ENERR,ENX,ENI,ENJ,X,Y
  1. LSTSTART S DIR(0)="S^E:EQUIPMENT;P:PERSON",DIR("A")="Specify method for selecting IT assignments"
  1. D ^DIR K DIR G:$D(DIRUT) LSTEXIT
  1. S ENMETHOD=Y
  1. I ENMETHOD="E" D G:$D(ENERR) LSTEXIT
  1. . N D,DIC S DIC("S")="I $D(^ENG(6916.3,""AEA"",Y))" D GETEQ^ENUTL
  1. . I $D(DTOUT)!$D(DUOUT)!(Y<1) S ENERR=1 Q
  1. . S ENDA=+Y
  1. . K DIC,D,^TMP($J,"ENITTR"),ENERR
  1. . D FIND^DIC(6916.3,"","@;.01;1;20","PQX",ENDA,"","AEA","I $P(^(0),U,8)=""""","","^TMP($J,""ENITTR"")","ENERR")
  1. I ENMETHOD="P" D G:$D(ENERR) LSTEXIT
  1. . N D,DIC S DIC=200,DIC(0)="AEMQ",DIC("S")="I $D(^ENG(6916.3,""AOA"",Y))"
  1. . D ^DIC I $D(DTOUT)!$D(DUOUT)!(Y<1) S ENERR=1 Q
  1. . S ENDA=+Y
  1. . K DIC,D,^TMP($J,"ENITTR"),ENERR
  1. . D FIND^DIC(6916.3,"","@;.01;1;20","PQX",ENDA,"","AOA2","I $P(^(0),U,8)=""""","","^TMP($J,""ENITTR"")","ENERR")
  1. I $P($G(^TMP($J,"ENITTR","DILIST",0)),U)'>0 W !!,"There are no active responsibilities for this "_$S(ENMETHOD="E":"equipment",ENMETHOD="P":"person",1:"")_"." K DIR S DIR(0)="E" D ^DIR K DIR K ^TMP($J,"ENITTR") G LSTEXIT:'Y,LSTSTART
  1. K ^TMP($J,"SCR"),^TMP($J,"INDX"),ENACL
  1. S ^TMP($J,"SCR")=$P(^TMP($J,"ENITTR","DILIST",0),U)_"^ACTIVE IT RESPONSIBILITIES"
  1. S ^TMP($J,"SCR",0)="5;9;ENTRY #^15;20;MFG EQUIP NAME^37;30;OWNER^69;10;STATUS"
  1. S ENI=0
  1. F S ENI=$O(^TMP($J,"ENITTR","DILIST",ENI)) Q:+ENI'>0 D
  1. . N ENX S ENX=$G(^TMP($J,"ENITTR","DILIST",ENI,0))
  1. . S ^TMP($J,"SCR",ENI)=$P(ENX,U,2)_U_$E($$GET1^DIQ(6914,$P(ENX,U,2)_",",3),1,20)_U_$P(ENX,U,3,4)
  1. . S ^TMP($J,"INDX",ENI)=$P(ENX,U)
  1. K ^TMP($J,"ENITTR")
  1. D EN2^ENPLS2(1)
  1. G:'$D(ENACL)!$D(DIRUT) LSTEXIT
  1. S DIR(0)="Y",DIR("A")="OK to terminate assignments",DIR("B")="NO" D ^DIR K DIR
  1. G:'Y!$D(DIRUT) LSTEXIT
  1. S ENCNT=0,ENX=""
  1. F S ENX=$O(ENACL(ENX)) Q:ENX="" D
  1. . N ENXSTR
  1. . S ENXSTR=$G(ENACL(ENX)) Q:ENXSTR=""
  1. . I $L(ENXSTR,",")>0 D
  1. . . F ENJ=1:1 S ENI=$P(ENXSTR,",",ENJ) Q:+ENI'>0 D
  1. . . . S DA=^TMP($J,"INDX",ENI) L +^ENG(6916.3,DA):$S($G(DILOCKTM)>5:DILOCKTM,1:5) E D MSG(DA,"Termination") Q
  1. . . . S X=$$TERM^ENTIUTL1(DA)
  1. . . . L -^ENG(6916.3,DA) K DA
  1. . . . S ENCNT=ENCNT+1
  1. W !!,ENCNT," IT responsibilities were terminated." K DIR S DIR(0)="E" D ^DIR K DIR
  1. K ^TMP($J,"SCR"),^TMP($J,"INDX")
  1. G LSTEXIT:'Y,LSTSTART
  1. LSTEXIT ;
  1. K ^TMP($J,"SCR"),^TMP($J,"INDX")
  1. Q
  1. MSG(ENDA,ENMSG) ;Write Error Message
  1. N END,ENERR,ENDAC S ENDAC=ENDA_"," D GETS^DIQ(6916.3,ENDAC,".01;1","E","END","ENERR")
  1. W !,"Assignment Equip Entry# ",$G(END(6916.3,ENDAC,.01,"E"))," for ",$G(END(6916.3,ENDAC,1,"E"))," is locked by another process.",!?10,ENMSG," was bypassed."
  1. Q
  1. ;
  1. ;ENTIRT