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

ACRFPO.m

Go to the documentation of this file.
  1. ACRFPO ;IHS/OIRM/DSD/THL,AEF - PURCHASE ORDER PROCESSING; [ 09/23/2005 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**19**;NOV 05, 2001
  1. ;;ROUTINE USED TO MANAGE VARIOUS ASPECTS OF PURCHASE ORDER PROCESSING
  1. EN ;EP
  1. K ACRQUIT,ACRUCHK,ACRTXDA
  1. F D EN1 Q:$D(ACRQUIT)!$D(ACROUT)
  1. EXIT D EXIT^ACRFPO2
  1. K ^TMP("ACRDATA",$J),ACRONE,^TMP("ACRDATX",$J)
  1. Q
  1. EN1 D:'$D(ACRPO) ASSONE^ACRFPO2
  1. I $D(ACRQUIT)!$D(ACRONE) K ACRONE Q
  1. I $D(ACRPO) S ACRSCRL=10
  1. E D VENDOR^ACRFPO2
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. K ACRDUZ
  1. D:ACRSCRL'=6&'$D(ACRPO) AGENT^ACRFPO2
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. I $D(ACRDUZ) D Q
  1. .S (ACRRTN,ZTRTN)="EN11^ACRFPO"
  1. .D ^ACRFZIS
  1. .K ACRREV,ACRDUZ
  1. .S ACRQUIT=""
  1. EN11 ;EP;
  1. I $D(ACRDUZ)#2 D
  1. .S ACRREV=""
  1. .S ACRSCRL=(IOSL\2)-5
  1. D HEAD^ACRFPO2
  1. I $D(ACRPO)!$D(ACRPOA) D LOOKUP Q:$D(ACRQUIT)!$D(ACROUT)
  1. D DISPLAY
  1. D SELECT^ACRFPO2:'$D(ACRREV)
  1. D PAUSE:$D(ACRREV)
  1. I $D(ACRQUIT)!$D(ACROUT),'$D(ACRPO) K ACRQUIT
  1. I $D(ACRREV) S ACRQUIT=""
  1. K ACRREV,ACRDUZ
  1. Q
  1. LOOKUP ;EP;
  1. K ^TMP("ACRDATA",$J),^TMP("ACRDATX",$J),ACRREQST
  1. S ACRXREF=$S($D(ACRPO):"PA",1:"PO")
  1. I $D(ACRPO) S ACRPODA=$S('$D(ACRDUZ):DUZ,1:ACRDUZ)
  1. E I $D(^ACRPO("D",DUZ))!$D(^ACRPO("DD",DUZ)) S ACRPODA=$S($D(^ACRPO("D",DUZ)):$O(^(DUZ,0)),1:$O(^ACRPO("DD",DUZ,0)))
  1. E I $D(ACRPOA) D Q
  1. .W !!,"YOU DO NOT HAVE PURCHASING SUPERVISORY AUTHORITY."
  1. .W !,"And you are not an alternate to the Purchasing Supervisor."
  1. .W !,"Contact your ARMS manager for assistance."
  1. .D PAUSE^ACRFWARN
  1. .S ACRQUIT=""
  1. K ACRDATA
  1. N ACRREFZ,ACRAPV
  1. S (ACRDOCDA,ACRJ)=0
  1. F S ACRDOCDA=$O(^ACRDOC(ACRXREF,ACRPODA,"A",ACRDOCDA)) Q:'ACRDOCDA D
  1. .S ACRDOC=^ACRDOC(ACRDOCDA,0)
  1. .S ACRREFZ=$P(ACRDOC,U,13)
  1. .S ACRREFZ=$P($G(^AUTTDOCR(+ACRREFZ,0)),U)
  1. .S ACRAPV=$G(^ACROBL(ACRDOCDA,"APV"))
  1. .I $E(ACRAPV)="A",$P(ACRAPV,U,8)="","^103^349^326^210^"[(U_ACRREFZ_U)!(ACRREFZ=116&($P(ACRDOC,U,4)=35)),$D(^ACRSS("J",ACRDOCDA)) D LIST I 1
  1. I ACRJ K ACRDATA D
  1. .S (ACRJ,ACRRDATE)=0
  1. .F S ACRRDATE=$O(^TMP("ACRDATX",$J,ACRRDATE)) Q:'ACRRDATE D
  1. ..S ACRRDAT2=0
  1. ..F S ACRRDAT2=$O(^TMP("ACRDATX",$J,ACRRDATE,ACRRDAT2)) Q:'ACRRDAT2 D
  1. ...S ACRJ=ACRJ+1
  1. ...S ^TMP("ACRDATA",$J,ACRJ)=^TMP("ACRDATX",$J,ACRRDATE,ACRRDAT2)
  1. K ACRQUIT,ACRUCHK
  1. Q
  1. DISPLAY ;EP;
  1. U IO
  1. S (ACRMAX,ACRJ)=0
  1. S:$D(ACRPOA) ACRPADA2=""
  1. F S ACRJ=$O(^TMP("ACRDATA",$J,ACRJ)) Q:'ACRJ!$D(ACRQUIT)!$D(ACROUT) D
  1. .D LIST1
  1. .I $D(ACRQUIT)!$D(ACROUT)!(ACRJ#ACRSCRL=0&(ACRMAX<(ACRJ+ACRSCRL))) S ACRQUIT="" Q
  1. .I ACRJ#ACRSCRL=0 D
  1. ..D PAUSE
  1. ..D:'$D(ACRQUIT) HEAD^ACRFPO2
  1. K ACRQUIT
  1. Q
  1. LIST ;CREATE PURCHASE ORDER LIST ARRAY
  1. I $D(ACRTRANS),$G(ACRZDA)=ACRDOCDA Q
  1. Q:'$D(^ACRSS("J",ACRDOCDA))&'$P(^ACRDOC(ACRDOCDA,0),U,15)
  1. D OBJ^ACRFPO2
  1. Q:$G(ACROBJ)=""
  1. S ACRJ=ACRJ+1
  1. S ACRDATA=^ACRDOC(ACRDOCDA,0)
  1. S ACRVDA=$P(^ACRDOC(ACRDOCDA,"PO"),U,5)
  1. S ACRPRIOR=$P(^ACRDOC(ACRDOCDA,"DT"),U,4)
  1. S ACRRDATE=$S($P(^ACRDOC(ACRDOCDA,"REQ"),U,11)]"":$P(^("REQ"),U,11),1:$E(DT,1,3)_"0000")
  1. S ACRDOC=$P(ACRDATA,U,2)
  1. S ACRDOC1=$P(ACRDATA,U)
  1. S ACRTXTYP=$P(ACRDATA,U,4)
  1. S ACRREF1=$P(^AUTTDOCR($P(^ACRTXTYP(ACRTXTYP,0),U,2),0),U)
  1. I $G(ACRSCRL)=6 D
  1. .I ACRVDA,$D(^AUTTVNDR(ACRVDA,0)) S ACRVDA=$P(^(0),U)
  1. .E S ACRVDA="NOT STATED"
  1. S ACRPADA=$G(^ACRDOC(ACRDOCDA,"PA"))
  1. S ACRPADAT=$P(ACRPADA,U,2)
  1. S ACRPADA=+ACRPADA
  1. S ACRPA=""
  1. I ACRPADA,$D(ACRPOA) D
  1. .;S ACRPA=$G(^VA(200,ACRPADA,0)) ;ACR*2.1*19.02 IM16848
  1. .;S ACRPA=$E($E($P($P(ACRPA,U),",",2))_" "_$P(ACRPA,","),1,11) ;ACR*2.1*19.02 IM16848
  1. .S ACRPA=$$NAME2^ACRFUTL1(ACRPADA) ;ACR*2.1*19.02 IM16848
  1. .S ACRPA=$E($E($P(ACRPA,",",2))_" "_$P(ACRPA,","),1,11) ;ACR*2.1*19.02 IM16848
  1. S:$L($P(ACRPADAT,"."))=7 ACRPA=ACRPA_" "_$E(ACRPADAT,4,5)_"/"_$E(ACRPADAT,6,7)
  1. S ACRPA=$S(ACRPA["PURCHASING":"",1:ACRPA)
  1. S X=0
  1. S:ACRPRIOR'="E" ACRPRIOR=""
  1. F S X=$O(^ACRAPVS("AB",ACRDOCDA,X)) Q:'X S:$P($G(^ACRAPVS(X,0)),U,3)=1 ACRPRIOR="*"
  1. S Y=ACRRDATE
  1. S Y=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_($E(Y,1,3)+1700)
  1. D ITOT
  1. S ^TMP("ACRDATX",$J,ACRRDATE,ACRJ)=ACRDOCDA_U_ACRREF1_U_ACRTXTYP_U_Y_U_ACRPA_U_ACRDOC1_U_ACRPADA_U_ACRPRIOR_U_ACROBJ_U_ACRITOT_U_ACRVDA
  1. Q
  1. LIST1 ;
  1. N X,Y
  1. S:'$G(ACRSCRL) ACRSCRL=6
  1. Q:$D(ACRQUIT)!$D(ACROUT)!'$D(^TMP("ACRDATA",$J,ACRJ))#2
  1. S X=^TMP("ACRDATA",$J,ACRJ)
  1. W !
  1. S:ACRMAX<ACRJ ACRMAX=ACRJ
  1. W ACRJ
  1. W ?6,$P(X,U,8)
  1. W ?7,$P(X,U,6)
  1. W ?24,$P(X,U,4)
  1. I $D(^TMP("ACRDATA",$J,ACRJ+ACRSCRL)) S Y=^TMP("ACRDATA",$J,ACRJ+ACRSCRL) D
  1. .W ?40,"|",ACRJ+ACRSCRL
  1. .W ?47,$P(Y,U,8)
  1. .W ?48,$P(Y,U,6)
  1. .W ?65,$E($P(Y,U,4),1,15)
  1. .S ACRMAX=ACRJ+ACRSCRL
  1. I $D(ACRPOA)!$D(ACRPO) D
  1. .W !?7
  1. .W $P(X,U,5)
  1. .W ?24,$P(X,U,9),$J($FN($P(X,U,10),"P,",0),12)
  1. .I $D(Y) D
  1. ..W ?40,"|"
  1. ..W ?48,$P(Y,U,5)
  1. ..W ?65,$P(Y,U,9),$J($FN($P(Y,U,10),"P,",0),10)
  1. .Q:ACRSCRL>6
  1. .W !?7,$P(X,U,11)
  1. .I $D(Y) D
  1. ..W ?40,"|"
  1. ..W ?48,$P(Y,U,11)
  1. Q
  1. PAUSE I $E(IOST,1,2)'="C-" S ACRJ=ACRJ+ACRSCRL Q
  1. S DIR(0)="YO"
  1. S DIR("A")=" Display more documents"
  1. S DIR("B")="YES"
  1. W !
  1. D DIR^ACRFDIC
  1. I Y=1 W ! S ACRJ=ACRJ+ACRSCRL Q
  1. S ACRQUIT=""
  1. Q
  1. ACRPOA ;EP;TO ASSIGN PO TO PA
  1. S ACRPOA=""
  1. D EN
  1. K ACRPOA
  1. Q
  1. ACRPO ;EP;TO BEGIN PO ADD/EDIT
  1. N ACRPO,ACRENTRY
  1. S ACRENTRY="PO"
  1. S ACRPO=""
  1. F D MOD^ACRFPO1 Q:$D(ACRQUIT)!$D(ACROUT)
  1. Q
  1. ACRPPO ;EP;TO PRINT PURCHASE ORDER
  1. N ACRPRT,ACRPPO,ACRENTRY
  1. S ACRENTRY="PO"
  1. S (ACRPRT,ACRPPO)=""
  1. D PRINT^ACRFPO1
  1. Q
  1. ITOT ;CALCULATE ITEM TOTALS FOR THE PO
  1. N X
  1. S (X,ACRITOT)=0
  1. F S X=$O(^ACRSS("J",ACRDOCDA,X)) Q:'X S ACRITOT=ACRITOT+$P($G(^ACRSS(X,"DT")),U,4)
  1. Q