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

ACRFEVAL.m

Go to the documentation of this file.
  1. ACRFEVAL ;IHS/OIRM/DSD/THL,AEF - EVALUATE QUOTES; [ 11/01/2001 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;;NOV 05, 2001
  1. ;;EVALUATE QUOTES
  1. EN D EN1
  1. EXIT K ACR,ACRVND,ACRITEM,ACRTSIDA,ACR843DA,ACR843,ACRPO1,ACRAMT,ACRTOP,ACRTSI,ACRQUIT,ACROUT,ACRMODE,ACRJ,ACRN1,ACRPID,ACR843,ACRDETL,ACRXAMT,ACRIAMT,ACRSS,ACRVENDR
  1. Q
  1. EN1 ;
  1. D COUNT^ACRFEVA1
  1. D MODE^ACRFEVA1
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. D @ACRMODE
  1. Q
  1. VENDOR ;ORDER QUOTES BY PRICE FOR EACH VENDOR
  1. K ACRVND
  1. S (ACRTSIDA,ACRJ)=0
  1. F S ACRTSIDA=$O(^ACRI843I("AA",ACRDOCDA,ACRTSIDA)) Q:'ACRTSIDA!$D(ACRQUIT)!$D(ACROUT) D
  1. .S ACRJ=ACRJ+1
  1. .S ACRN1=$G(^ACRI843(ACRTSIDA,"N1",1,"N1"))
  1. .S (ACR843DA,ACRAMT)=0
  1. .F S ACR843DA=$O(^ACRI843I("AA",ACRDOCDA,ACRTSIDA,ACR843DA)) Q:'ACR843DA!$D(ACRQUIT)!$D(ACROUT) D
  1. ..S ACR843=$G(^ACRI843I(ACR843DA,0))
  1. ..S ACRPO1=$G(^ACRI843I(ACR843DA,"PO1"))
  1. ..S ACRPID=$G(^ACRI843I(ACR843DA,"PID",1,"PID"))
  1. ..S ACRQUAN=$P(ACRPO1,U,2)
  1. ..S ACRCOST=$P(ACRPO1,U,4)
  1. ..S ACRUI=$P(ACRPO1,U,3)
  1. ..S ACRDESC=$P(ACRPID,U,5)
  1. ..S ACRAMT=ACRAMT+(ACRQUAN*ACRCOST)
  1. ..S ACRVENDR=$P(ACRN1,U,2)
  1. ..Q:'$D(ACRDETL)
  1. ..S ACRITEM(ACRVENDR,+ACRPO1,ACR843DA)=(ACRQUAN*ACRCOST)_U_ACRQUAN_U_ACRUI_U_ACRCOST_U_ACRDESC
  1. .S ACRVND(ACRAMT,ACRVENDR)=""
  1. .S ACRVEND(ACRJ,ACRVENDR)=ACRAMT
  1. Q:'$D(ACRVND)
  1. D TOP^ACRFEVA1
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. D VDISPLAY
  1. Q
  1. ITEM ;ORDER QUOTES BY PRICE FOR EACH ITEM
  1. K ACRITEM
  1. S (ACRTSIDA,ACRJ,ACRMAX)=0
  1. F S ACRTSIDA=$O(^ACRI843I("AA",ACRDOCDA,ACRTSIDA)) Q:'ACRTSIDA!$D(ACRQUIT)!$D(ACROUT) D
  1. .S ACRJ=ACRJ+1
  1. .S ACRN1=$G(^ACRI843(ACRTSIDA,"N1",1,"N1"))
  1. .S ACRVENDR=$P(ACRN1,U,2)
  1. .S ACR843DA=0
  1. .F S ACR843DA=$O(^ACRI843I("AA",ACRDOCDA,ACRTSIDA,ACR843DA)) Q:'ACR843DA!$D(ACRQUIT)!$D(ACROUT) D
  1. ..S ACR843=$G(^ACRI843I(ACR843DA,0))
  1. ..S ACRPO1=$G(^ACRI843I(ACR843DA,"PO1"))
  1. ..S ACRQUAN=$P(ACRPO1,U,2)
  1. ..S ACRCOST=$P(ACRPO1,U,4)
  1. ..S ACRUI=$P(ACRPO1,U,3)
  1. ..S ACRAMT=$P(ACRPO1,U,2)*$P(ACRPO1,U,4)
  1. ..S ACRPID=$G(^ACRI843I(ACR843DA,"PID",1,"PID"))
  1. ..S ACRDESC=$P(ACRPID,U,5)
  1. ..S ACRITEM(+ACRPO1,ACRAMT,ACR843DA)=ACRVENDR_U_ACRQUAN_U_ACRUI_U_ACRCOST_U_ACRDESC
  1. ..S:+ACRPO1>ACRMAX ACRMAX=+ACRPO1
  1. Q:'$D(ACRITEM)
  1. D TOP^ACRFEVA1
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. D IDISPLAY
  1. Q
  1. VDISPLAY ;DISPLAY VENDORS IN PRICE ORDER
  1. I $D(ACRDETL) D I $D(ACROUT)!$D(ACRQUIT) K ACRQUIT Q
  1. .S DIR(0)="NO^1:"_ACRJ
  1. .S DIR("A")="Review selected Vendor"
  1. .W !
  1. .D DIR^ACRFDIC
  1. .K ACRQUIT
  1. .Q:$D(ACROUT)
  1. .I +Y S ACRI=+Y,ACRVND=$O(ACRVEND(ACRI,"")) I ACRVND]"" D
  1. ..S ACRAMT=ACRVEND(ACRI,ACRVND)
  1. ..D VD
  1. ..S ACRQUIT=""
  1. D VHEAD^ACRFEVA1
  1. S (ACRAMT,ACRI)=0
  1. F ACRJ=1:1 S ACRAMT=$O(ACRVND(ACRAMT)) Q:'ACRAMT!$D(ACRQUIT)!$D(ACROUT)!(ACRJ>ACRTOP) D
  1. .S ACRVND=""
  1. .F S ACRVND=$O(ACRVND(ACRAMT,ACRVND)) Q:ACRVND=""!$D(ACRQUIT)!$D(ACROUT) D
  1. ..S ACRI=ACRI+1
  1. ..S:$D(ACRDETL) ACRVENDR=ACRVND
  1. ..D VD
  1. D PAUSE^ACRFWARN
  1. Q
  1. VD D:$D(ACRDETL) VHEAD^ACRFEVA1
  1. W !?10,ACRI
  1. W ?13,$S(ACRCOUNT>ACRMAX:"**",1:"")
  1. W ?15,ACRVND
  1. W ?50,$J($FN(ACRAMT,"P",2),14)
  1. I $D(ACRDETL) D
  1. .S ACRXAMT=ACRAMT
  1. .S ACRSS=0
  1. .F ACRK=1:1 S ACRSS=$O(ACRITEM(ACRVENDR,ACRSS)) Q:'ACRSS!$D(ACRQUIT) D
  1. ..S ACR843DA=0
  1. ..F S ACR843DA=$O(ACRITEM(ACRVENDR,ACRSS,ACR843DA)) Q:'ACR843DA!$D(ACRQUIT) D
  1. ...S X=ACRITEM(ACRVENDR,ACRSS,ACR843DA)
  1. ...S ACRAMT=+X
  1. ...D IDW
  1. ..I ACRK#10=0 D PAUSE^ACRFWARN
  1. .S ACRAMT=ACRXAMT
  1. .D PAUSE^ACRFWARN
  1. I '$D(ACRDETL),IOSL-4<$Y D PAUSE^ACRFWARN
  1. Q
  1. IDISPLAY ;DISPLAY ITEMS IN PRICE ORDER
  1. S DIR(0)="NO^1:"_ACRMAX
  1. S DIR("A")="Review selected item"
  1. W !
  1. D DIR^ACRFDIC
  1. K ACRQUIT
  1. Q:$D(ACROUT)
  1. I +Y S ACRI=+Y D ID Q
  1. D IHEAD^ACRFEVA1
  1. S (ACRI,ACRX)=0
  1. F S ACRI=$O(ACRITEM(ACRI)) Q:'ACRI!$D(ACRQUIT)!$D(ACROUT) D ID
  1. Q
  1. ID D IHEAD^ACRFEVA1
  1. S ACRAMT=0
  1. F ACRJ=1:1 S ACRAMT=$O(ACRITEM(ACRI,ACRAMT)) Q:'ACRAMT!$D(ACRQUIT)!$D(ACROUT)!(ACRJ>ACRTOP) D
  1. .S ACR843DA=0
  1. .F S ACR843DA=$O(ACRITEM(ACRI,ACRAMT,ACR843DA)) Q:'ACR843DA!$D(ACRQUIT)!$D(ACROUT) D
  1. ..S X=ACRITEM(ACRI,ACRAMT,ACR843DA)
  1. ..S ACRQUAN=$P(X,U,2)
  1. ..S ACRUI=$P(X,U,3)
  1. ..S ACRCOST=$P(X,U,4)
  1. ..S ACRDESC=$E($P(X,U,5),1,75)
  1. ..D IDW
  1. ..I IOSL-4<$Y D PAUSE^ACRFWARN
  1. D PAUSE^ACRFWARN
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. D IHEAD^ACRFEVA1
  1. Q
  1. IDW ;WRITE ITEM
  1. S:'$D(ACRDETL) ACRVENDR=$E($P(X,U),1,30)
  1. S ACRQUAN=$P(X,U,2)
  1. S ACRUI=$P(X,U,3)
  1. S ACRCOST=$P(X,U,4)
  1. S ACRDESC=$E($P(X,U,5),1,75)
  1. W !,$S('$D(ACRDETL):ACRI,1:ACRSS)
  1. W ?4,ACRDESC
  1. W !?4,ACRVENDR
  1. W ?46,$J(ACRQUAN,7)
  1. W ?56,ACRUI
  1. W ?68,$J($FN(ACRAMT,"P",2),12)
  1. Q