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

ACRFPRCS.m

Go to the documentation of this file.
  1. ACRFPRCS ;IHS/OIRM/DSD/THL,AEF - PROCESS PENDING DOCUMENTS; [ 02/22/2007 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**22**;NOV 05, 2001
  1. ;;ROUTINE TO CONTROL LISTING AND SIGNATURE PROCESS FOR ARMS DOCS
  1. EN D EXIT^ACRFPRC2
  1. D ENA:$D(^ACRAPL("AC",DUZ))
  1. EXIT D EXIT^ACRFPRC2
  1. K ACRREV
  1. ;I $D(ACRDTIME) S DTIME=ACRDTIME K ACRDTIME ;ACR*2.1*22 SAC COMPLIANCE
  1. Q
  1. ENA D RESP^ACRFPRC2
  1. N ACRREF,ACRDATA
  1. I $D(ACRCSI) S ACRREV="" F D CSI^ACRFPRC2 Q:$D(ACRQUIT)!$D(ACROUT) D
  1. .I '$D(^TMP("ACRDATA",$J))#2 D Q
  1. ..W !!,"NO "_$P(ACRTX(ACRY),U,2)_" PENDING"
  1. ..H 2
  1. .I $D(^TMP("ACRDATA",$J))#2 D
  1. ..S DIR(0)="YO"
  1. ..S DIR("A")="Review Document in detail"
  1. ..S DIR("B")="NO"
  1. ..W !
  1. ..D DIR^ACRFDIC
  1. ..D EN2:Y=1
  1. ..K ACRDATA1
  1. EN1 I '$D(ACRQUIT) F D EN2 Q:$D(ACRQUIT)!$D(ACROUT)
  1. K ACRQUIT
  1. I '$D(ACROUT),$D(^TMP("ACRALTDT",$J)) D ^ACRFALT
  1. Q
  1. EN2 ;
  1. D LOOKUP
  1. EN21 ;EP;
  1. D SELECT:'$D(ACRQUIT)&ACRI
  1. I 'ACRI S ACRQUIT=""
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. D EDIT^ACRFPRC9
  1. I $D(^ACROBL(ACRDOCDA,2)) D TREPORT^ACRFPRC4
  1. K ACRPSUM
  1. D APPROVE^ACRFPRC1:'$D(ACRCSI)
  1. K ACRQUIT
  1. Q
  1. LOOKUP ;LOOKUP OF DOCUMENTS WHICH NEED CURRENT USER'S SIGNATURE
  1. ;DOCUMENTS PENDING SIGNATURE OF CURRENT USER OR ALTERNATE
  1. ;KILL ANXT CROSSREFERENCE DURING LOOKUP IF IT IS INAPPROPRIATE
  1. S ACRI=0
  1. S ACRDUZ=DUZ
  1. K ^TMP("ACRDATA",$J,DUZ)
  1. I $D(^TMP("ACRDATA",$J,ACRDUZ)) D RELIST^ACRFPRC4 G LX
  1. S ACRAPVT=0
  1. K ^TMP("ACRALT",$J),^TMP("ACRALTDT",$J)
  1. F S ACRAPVT=$O(^ACRAPVS("ANXT",ACRAPVT)) Q:'ACRAPVT D
  1. .W "."
  1. .S ACRINDV=0
  1. .F S ACRINDV=$O(^ACRAPVS("ANXT",ACRAPVT,ACRINDV)) Q:'ACRINDV I $D(^ACRAPL("AC",ACRINDV,ACRAPVT)) S ACRAPLDA=$O(^(ACRAPVT,0)) D:ACRAPLDA
  1. ..S ACRAPLDT=+$G(^ACRAPL(ACRAPLDA,0))_U_$G(^ACRAPL(ACRAPLDA,"DT"))
  1. ..Q:(U_ACRAPLDT_U)'[(U_DUZ_U)
  1. ..S ACRAPDA=0
  1. ..F S ACRAPDA=$O(^ACRAPVS("ANXT",ACRAPVT,ACRINDV,ACRAPDA)) Q:'ACRAPDA D:DT+1>$P($G(^(ACRAPDA)),U,2)
  1. ...S ACRAP0=$G(^ACRAPVS(ACRAPDA,0))
  1. ...S ACRAPDT=$G(^ACRAPVS(ACRAPDA,"DT"))
  1. ...Q:DT<$P(ACRAPDT,U,8)
  1. ...I $P(ACRAPDT,U)]""!($P(ACRAPDT,U,3)="")!('$D(^ACRAPVS("AB",+ACRAP0,ACRAPDA))) D Q
  1. ....K ^ACRAPVS("ANXT",ACRAPVT,ACRINDV,ACRAPDA)
  1. ....N ACRDOCDA
  1. ....S ACRDOCDA=+ACRAP0
  1. ....D EN1^ACRFNXT
  1. ...S ACRDATE=$P(ACRAPDT,U,3)
  1. ...D LIST^ACRFPRC4
  1. I '$D(ACRESIG),$D(^TMP("ACRDATE",$J,DUZ))!$D(^TMP("ACRALTDT",$J)) D Q:$D(ACROUT)
  1. .D ESIG^ACRFPRC4
  1. .I $D(ACRQUIT)!$D(ACROUT) S ACROUT="" K ACRESIG Q
  1. .;S ACRDTIME=DTIME ;ACR*2.1*22 SAC COMPLIANCE
  1. .;S:DTIME<120 DTIME=120 ;ACR*2.1*22 SAC COMPLIANCE
  1. .D SECURITY^ACRFPRC4
  1. I '$D(^TMP("ACRDATE",$J,DUZ)) D Q
  1. .W !!,@ACRON,"There are no DOCUMENTS pending for you.",@ACROF
  1. .W !
  1. .H 2
  1. .S ACRQUIT=""
  1. E D RELIST^ACRFPRC4
  1. LX D LIST2
  1. Q
  1. SELECT ;SELECT DOCUMENT TO BE REVIEWED FOR APPROVAL
  1. S DIR(0)="FOA^1:15"
  1. S DIR("A",1)="Enter a Sequence NO. (1 to "_ACRMAX_")"
  1. S DIR("A")="or enter the DOCUMENT NUMBER: "
  1. S DIR("?",1)="Enter the number listed under column 'NO.' of the document you want to approve,"
  1. S DIR("?",2)="or enter the DOCUMENT NUMBER of the document you want to review."
  1. S DIR("?")="Select a number from 1 to "_ACRMAX
  1. W !
  1. D DIR^ACRFDIC
  1. I $D(ACRQUIT)!$D(ACROUT)!'$D(^TMP("ACRDATA",$J,ACRDUZ,$S(X]"":X,1:0))) S ACRI="" Q
  1. N ACRENTRY,ACRDOC
  1. S (ACRJJ,ACRX)=X
  1. S ACRENTRY="OBLAMT"
  1. S X=^TMP("ACRDATA",$J,ACRDUZ,ACRX)
  1. I $L(ACRJJ)>8 S ACRJJ=$P(X,U,10)
  1. S (ACRZDA,DA,ACRDOCDA)=$P(X,U)
  1. S ACRTXTYP=$P(X,U,3)
  1. S ACRAPDA=$P(X,U,4)
  1. D SETDOC^ACRFEA1
  1. S ACRREFX=ACRREF
  1. K ACRSIGN
  1. S ACR=0
  1. F S ACR=$O(^ACRAPVS("AB",ACRZDA,ACR)) Q:'ACR I ACRAPDA'=ACR,$D(^ACRAPVS(ACR,0)),$D(^ACRAPVS(ACR,"DT")) D
  1. .S ACRAPV0=^ACRAPVS(ACR,0),ACRAPVDT=^ACRAPVS(ACR,"DT")
  1. .I "^1^2^5^36^40^43^"[(U_+$P(ACRAPV0,U,3)_U) S ACRAPVS($P(ACRAPV0,U,3))=U_$S($P(ACRAPVDT,U,6)]"":$P(ACRAPVDT,U,6),1:$P(ACRAPVDT,U,2))_U
  1. .I "^1^2^7^12^14^21^22^23^24^31^37^38^39^45^"'[(U_$P(ACRAPV0,U,3)_U),$P(ACRAPVDT,U,5)'="Y",$P(ACRAPVDT,U)="",$P(ACRAPVDT,U,2)=DUZ,$P(ACRAPVDT,U,5)="" S ACRSIGN(ACR)=""
  1. Q
  1. LIST2 ;EP;
  1. S (ACRXX,ACRMAX)=0
  1. F S ACRXX=$O(^TMP("ACRDATA",$J,ACRDUZ,ACRXX)) Q:'ACRXX!($L(ACRXX)>8) S ACRMAX=ACRMAX+1
  1. D HEAD^ACRFPRC9:$O(^TMP("ACRDATA",$J,ACRDUZ,0))
  1. S ACRI=0
  1. F D LIST21 D:ACRI>0&(ACRI#10=0) PAUSE^ACRFPRC4 Q:$D(ACRQUIT)!$D(ACROUT)!(ACRI#10=0&('$D(^TMP("ACRDATA",$J,ACRDUZ,ACRI+1))))
  1. K ACRQUIT
  1. Q
  1. LIST21 I '$D(^TMP("ACRDATA",$J,ACRDUZ,ACRI+1)) S ACRQUIT="" Q
  1. N X,ACRAPDA
  1. S ACRI=ACRI+1
  1. S ACRII=ACRI+10
  1. S X=^TMP("ACRDATA",$J,ACRDUZ,ACRI)
  1. S ACRDOC=$P(X,U,5)
  1. S ACRID=$P(X,U,6)
  1. S ACRAPDA=$P(X,U,4)
  1. W !,$J(ACRI,2)
  1. K ACRQUIT
  1. S X=0
  1. F S X=$O(^ACRAPVS(ACRAPDA,1,X)) Q:'X I $D(^ACRAPVS(ACRAPDA,1,X,"CNG"))!$D(^ACRAPVS(ACRAPDA,1,X,"RSN"))!$D(^ACRAPVS(ACRAPDA,1,X,"RESP")) S ACRQUIT="" Q
  1. I $D(ACRQUIT) K ACRQUIT W ?4,"**"
  1. I $P($G(^ACRAPVS(+ACRAPDA,0)),U,11) W ?4,"TA"
  1. I $P($G(^ACRDOC(+$G(^ACRAPVS(+ACRAPDA,0)),0)),U,28)=0 W ?4,"NR"
  1. E W ?4,$$TOT(+$G(^ACRAPVS(+ACRAPDA,0)))
  1. W ?7,ACRDOC
  1. W ?24,ACRID
  1. Q:'$D(^TMP("ACRDATA",$J,ACRDUZ,ACRII))
  1. S X=^TMP("ACRDATA",$J,ACRDUZ,ACRII)
  1. S ACRDOC=$P(X,U,5)
  1. S ACRID=$P(X,U,6)
  1. S ACRAPDA=$P(X,U,4)
  1. W ?40,"|",$J((ACRII),2)
  1. K ACRQUIT
  1. S X=0
  1. F S X=$O(^ACRAPVS(ACRAPDA,1,X)) Q:'X I $D(^ACRAPVS(ACRAPDA,1,X,"CNG"))!$D(^ACRAPVS(ACRAPDA,1,X,"RSN"))!$D(^ACRAPVS(ACRAPDA,1,X,"RESP")) S ACRQUIT="" Q
  1. I $D(ACRQUIT) K ACRQUIT W ?45,"**"
  1. I $P($G(^ACRAPVS(+ACRAPDA,0)),U,11) W ?4,"TA"
  1. I $P($G(^ACRDOC(+$G(^ACRAPVS(+ACRAPDA,0)),0)),U,28)=0 W ?45,"NR"
  1. I "130^600^"[(U_ACRREF_U) W ?4,$$TOT(+$G(^ACRAPVS(+ACRAPDA,0)))
  1. W ?48,ACRDOC
  1. W ?65,ACRID
  1. Q
  1. ACRREV ;EP;FOR DOCUMENT APPROVAL
  1. ;CALLED FROM ENTRY ACTION OF ACRMENU
  1. Q:$D(ACRNOFM) ;ACR*2.1*22.03 IM22653
  1. D TE^ACRFPRC9
  1. S:$D(ACRDOCDA) ACRDOCXX=ACRDOCDA
  1. D HOME^ACRFMENU:'$D(ACRON)
  1. S ACRREV=""
  1. W !!,"One moment, please."
  1. W !!,"I need to review all documents pending for approval"
  1. W !,"to determine if there are any which you need to sign."
  1. W !!
  1. D EN
  1. K ACRREV
  1. S:$D(ACRDOCXX) ACRDOCDA=ACRDOCXX
  1. K ACRDOCXX
  1. Q
  1. ACRCSI ;EP;TO PRINT STATUS OF DOCUMENTS
  1. N ACRENTRY
  1. S ACRENTRY="OBLAMT"
  1. S ACRENTR1="LOCBAMT"
  1. S (ACRREV,ACRCSI)=""
  1. D EN
  1. Q
  1. SPSUM ;EP;TO REVIEW SMALL PURCHASE SUMMARY
  1. S DIR(0)="YO"
  1. S DIR("A")="Review Small Purchase Summary"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:$D(ACRQUIT)!$D(ACROUT)!(Y'=1)
  1. W !!
  1. N DXS,DIP,DC,DN
  1. D ^ACGPSP
  1. D PAUSE^ACRFWARN
  1. Q
  1. TOT(X) ;DETERMINE IF TRAVEL ORDER IS ZERO AMOUNT
  1. Q:'X
  1. N Y,Z
  1. S (Y,Z)=0
  1. F S Y=$O(^ACRSS("J",X,Y)) Q:'Y S Z=Z+$P($G(^ACRSS(Y,"DT")),U,4)
  1. I Z<1 S Z="ZZ"
  1. E S Z=""
  1. Q Z