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

ACRFIV.m

Go to the documentation of this file.
  1. ACRFIV ;IHS/OIRM/DSD/THL,AEF - INVOICE AUDIT; [ 11/01/2001 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;;NOV 05, 2001
  1. ;;ROUTINE CALLED DURING PROCESSING OF INVOICES
  1. EN K ACRSST,ACRIVT,ACRSSTX,ACRIVTX,ACRIVPAY,^TMP("ACRRR",$J)
  1. Q:'+$G(ACRRRNOX)
  1. Q:'ACRVDA
  1. D GATHER
  1. D DISPLAY
  1. D SELECT:'$D(ACRQUIT)
  1. EXIT K ACRSSDT,ACRSSNMS,ACRSSDSC,ACRNOTES,ACRSSUP,ACRSSACP,ACRSSACT,ACRIVACP,ACRSSIT,ACRIVIT,ACRSST,ACRIVT,ACRIVPAY,ACRSSTX,ACRIVTX,^TMP("ACRRR",$J)
  1. Q
  1. SELECT ;
  1. K ACRFINAL
  1. B11 S DIR(0)="LO^1:"_ACRSSNO
  1. S DIR("A")="Edit which item(s)"
  1. W !
  1. D DIR^ACRFDIC
  1. I $D(ACROUT) K ACRFINAL Q
  1. I 'Y D Q
  1. .S ACRFINAL=0
  1. .S ACRXX=0
  1. .F S ACRXX=$O(^TMP("ACRRR",$J,ACRXX)) Q:'ACRXX I $D(^TMP("ACRRR",$J,ACRXX)) S Y=ACRXX D BYRR1
  1. .S ACRQUIT=""
  1. N ACRXX
  1. S ACRXX=Y
  1. F ACRI=1:1 S Y=$P(ACRXX,",",ACRI) Q:'Y D:$D(^TMP("ACRRR",$J,Y)) BYRR1 Q:$D(ACROUT)
  1. K ACRQUIT,ACRFINAL
  1. Q
  1. BYRR1 S (ACRRRDA,DA)=+^TMP("ACRRR",$J,Y)
  1. S DIE="^ACRRR("
  1. S DR="[ACR INVOICE AUDIT]"
  1. I '$D(ACRFINAL) D
  1. .W !!?22,"Item number ",Y
  1. .D DIE^ACRFDIC
  1. S ACRSSDA=+^ACRRR(ACRRRDA,0)
  1. D SYNC^ACRFRR32
  1. Q
  1. RR ;EP;SELECT RECEIVING REPORTS FOR AUDITING
  1. K ACRRRNO,ACRRRNOX
  1. D RRNO^ACRFRR31
  1. Q
  1. GATHER ;EP;GATHER INFO ON RECEIVING ACTIONS
  1. K ACRSST,ACRSSTX,ACRIVTX,ACRRR,ACRIVT
  1. N I,J,K,X,Y,Z
  1. I $G(ACRRRNOX),$G(ACRDOCDA) F J=1:1 S X=$P(ACRRRNOX,",",J) Q:X="" D
  1. .K ACRIVPAY
  1. .S Y=0
  1. .F S Y=$O(^ACRRR("AC",ACRDOCDA,X,Y)) Q:'Y D
  1. ..S Z=0
  1. ..F S Z=$O(^ACRRR("AC",ACRDOCDA,X,Y,Z)) Q:'Z D G1
  1. S ACRSSTX=$G(ACRSST)
  1. S ACRIVTX=$G(ACRIVT)
  1. K ACRQUIT
  1. Q
  1. G1 S ACR0=$G(^ACRRR(Z,0))
  1. S ACRDT=$G(^ACRRR(Z,"DT"))
  1. S:'$P(ACRDT,U,5) $P(ACRDT,U,5)=$P(ACRDT,U),$P(^ACRRR(Z,"DT"),U,5)=$P(ACRDT,U)
  1. Q:'$P(ACRDT,U,3)
  1. S I=$G(I)+1
  1. S $P(^TMP("ACRRR",$J,I),U)=Z
  1. S $P(^TMP("ACRRR",$J,I),U,2)=+ACRDT
  1. S $P(^TMP("ACRRR",$J,I),U,3)=$P(^TMP("ACRRR",$J,I),U,3)+$P(ACRDT,U,3)
  1. S $P(^TMP("ACRRR",$J,I),U,4)=$P(ACR0,U,2)
  1. S $P(^TMP("ACRRR",$J,I),U,5)=$P(ACRDT,U,5)
  1. S $P(^TMP("ACRRR",$J,I),U,6)=$P(ACRDT,U,6)
  1. S ACRXX=I
  1. D D1
  1. Q
  1. DISPLAY ;DISPLAY ITEMS FOR AUDIT
  1. K ACRSST,ACRIVT,ACRIVPAY,ACRXX
  1. D HEAD
  1. K ACRJ
  1. S (ACRXX,ACRJ)=0
  1. F S ACRXX=$O(^TMP("ACRRR",$J,ACRXX)) Q:'ACRXX!$D(ACRQUIT) S ACRJ=ACRJ+1
  1. S ACRMAX=ACRJ
  1. S (ACRXX,ACRJ)=0
  1. F S ACRXX=$O(^TMP("ACRRR",$J,ACRXX)) Q:'ACRXX!$D(ACRQUIT) D DISP
  1. K ACRQUIT
  1. I '$G(ACRMAX) W !,"NO ITEMS ON FILE FOR THIS RECEIVING REPORT." D PAUSE^ACRFWARN S ACRQUIT="" Q
  1. W !?22,"Totals:"
  1. W ?41,"-------------"
  1. W ?55,"-------------"
  1. W !?41,$J($FN(ACRSSTX,"P",2),13)
  1. W ?55,$J($FN(ACRIVTX,"P",2),13)
  1. W:ACRIVTX>0 ?69,$J($P(ACRIVTX-ACRSSTX,"."),4)
  1. W:ACRSSTX>0 !?69,$J($P((ACRIVTX/ACRSSTX)*100-100,"."),4)
  1. S (ACRSSMAX,ACRSSNO)=ACRMAX
  1. Q
  1. DISP S ACRJ=ACRJ+1
  1. D D1
  1. W !,$J(ACRJ,3)
  1. I $P(ACRSSNMS,U)]"" D
  1. .W ?4,"VON: ",$P(ACRSSNMS,U)
  1. .W !?3
  1. I $P(ACRSSNMS,U,3)]"" D
  1. .W ?4,"NDC: ",$P(ACRSSNMS,U,3)
  1. .W !?3
  1. I $P(ACRSSNMS,U,2)]"" D
  1. .W ?4,"NSN: ",$P(ACRSSNMS,U,2)
  1. .W !?3
  1. W ?4,$P(ACRSSDSC,U)
  1. N ACRJ,ACRI,ACRX
  1. F ACRJ=2:1:5 I $P(ACRSSDSC,U,ACRJ)]"" S ACRX=$P(ACRSSDSC,U,ACRJ) D
  1. .F ACRI=1:1 S ACRY=$P(ACRX," ",ACRI) Q:ACRY="" D
  1. .W:$X+$L(ACRY)>79 !?3
  1. .W ?$X+1,ACRY
  1. W:ACRNOTES]"" !
  1. F ACRJ=1:1:5 I $P(ACRNOTES,U,ACRJ)]"" S ACRX=$P(ACRNOTES,U,ACRJ) D
  1. .F ACRI=1:1 S ACRY=$P(ACRX," ",ACRI) Q:ACRY="" D
  1. .W:$X+$L(ACRY)>79 !?3
  1. .W ?$X+1,ACRY
  1. K ACRSSDSC,ACRNOTES
  1. W !?22,$J(ACRSSACP,6)
  1. W ?29,$J($FN(ACRSSUP,"P",2),12)
  1. W ?41,$J($FN(ACRSSIT,"P",2),13)
  1. W:ACRIVIT>0 ?69,$J($P(ACRIVIT-ACRSSIT,"."),4)
  1. I ACRIVACP]"" D
  1. .W !?13,"INVOICED:"
  1. .W ?22,$J(ACRIVACP,6)
  1. .W ?29,$J($FN(ACRIVUP,"P",2),12)
  1. .W ?55,$J($FN(ACRIVIT,"P",2),13)
  1. .I $P(^TMP("ACRRR",$J,ACRXX),U,10)="PAID" W !?13,"(PAYMENT MADE FOR THIS ITEM.)"
  1. I ACRIVIT,ACRSSIT>0 W ?69,$J($P((ACRIVIT/ACRSSIT)*100-100,"."),4)
  1. I IOSL-4<$Y D
  1. .S DIR(0)="YO"
  1. .S DIR("A")="Display Remaining Items"
  1. .S DIR("B")="YES"
  1. .W !
  1. .D DIR^ACRFDIC
  1. .I Y'=1 S ACRQUIT="" Q
  1. .D HEAD
  1. Q
  1. W !?10,@ACRON,"SERVICES/SUPPLIES",@ACROF," RECEIVED FOR"
  1. W !?10,"PURCHASE ORDER NO..: ",@ACRON,$P(ACRDOC0,U,2),@ACROF
  1. W !?10,"RECEIVING REPORT(S): ",@ACRON,$E(ACRRRNOX,1,$L(ACRRRNOX)-1),@ACROF
  1. W !?69,"VARI"
  1. W !?22,"ACC-"
  1. W ?41,"OBLIGATED"
  1. W ?55,"RECOMMENDED"
  1. W ?69,"ANCE"
  1. W !,"ITM"
  1. W ?4,"ORDER #/DESCRIPT"
  1. W ?22,"EPTED"
  1. W ?29,"UNIT PRICE"
  1. W ?41,"AMOUNT"
  1. W ?55,"PAYMENT"
  1. W ?69,"$$/%"
  1. W !,"---"
  1. W ?4,"-----------------"
  1. W ?22,"------"
  1. W ?29,"-----------"
  1. W ?41,"-------------"
  1. W ?55,"-------------"
  1. W ?69,"----"
  1. Q
  1. D1 K ACRSSDT,ACRSSNMS,ACRSSDSC,ACRNOTES,ACRSSUP,ACRSSACP,ACRSSACT,ACRIVACP,ACRSSIT,ACRIVIT
  1. S ACRRRDA=+^TMP("ACRRR",$J,ACRXX)
  1. I 'ACRRRDA S ACRJ=ACRJ-1 Q
  1. S ACRSSDA=+^ACRRR(ACRRRDA,0)
  1. I '$D(^ACRSS(+ACRSSDA,0)) S ACRJ=ACRJ-1 Q
  1. S ACRSS0=^ACRSS(ACRSSDA,0)
  1. S ACRSSDT=^ACRSS(ACRSSDA,"DT")
  1. I $P(^ACRRR(ACRRRDA,"DT"),U)=""!($P(^("DT"),U,5)="") D
  1. .N X,Y,Z
  1. .S DA=ACRRRDA
  1. .S DIE="^ACRRR("
  1. .S DR="1////"_$P(ACRSSDT,U,3)
  1. .D DIE^ACRFDIC
  1. S ACROBJDA=$P(ACRSS0,U,4)
  1. S ACRCANDA=$P(ACRSS0,U,5)
  1. S ACRSSNMS=$G(^ACRSS(ACRSSDA,"NMS"))
  1. S ACRSSDSC=$G(^ACRSS(ACRSSDA,"DESC"))
  1. S ACRNOTES=$G(^ACRSS(ACRSSDA,"NOTES"))
  1. S ACRSSUP=$P(ACRSSDT,U,3)
  1. S ACRSSACP=$P(^TMP("ACRRR",$J,ACRXX),U,3)
  1. S ACRSSACT=$G(ACRSSACT)+ACRSSACP
  1. S ACRIVACP=$P(^TMP("ACRRR",$J,ACRXX),U,6)
  1. S ACRIVACT=$G(ACRIVACT)+ACRIVACP
  1. S ACRIVUP=$P(^TMP("ACRRR",$J,ACRXX),U,5)
  1. S:ACRIVUP="" ACRIVUP=ACRSSUP
  1. S ACRSSIT=ACRSSACP*ACRSSUP
  1. S:ACRIVACP]""&(ACRIVUP]"") ACRIVIT=ACRIVACP*ACRIVUP
  1. S:$G(ACRIVIT)="" ACRIVIT=ACRSSIT
  1. I $P(ACR0,U,11)>0,ACRSSACP=ACRIVACP D
  1. .S $P(^TMP("ACRRR",$J,ACRXX),U,10)="PAID"
  1. .S ACRIVIT=0
  1. S ACRIVPAY(ACRCANDA,ACROBJDA)=$G(ACRIVPAY(ACRCANDA,ACROBJDA))+ACRIVIT
  1. S ACRSST=$G(ACRSST)+ACRSSIT
  1. S ACRIVT=$G(ACRIVT)+ACRIVIT
  1. Q