1 | PRCHCD0 ;WISC/AKS-Taskman job to zero out 'Monthly Purchase Limit' each month ; 7/12/01 5:03pm
|
---|
2 | ;;5.1;IFCAP;**36**;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | QUIT
|
---|
6 | ZERO ; To zero out the monthly purchases at the beginning of every month.
|
---|
7 | ;
|
---|
8 | N N
|
---|
9 | S N=0 F S N=$O(^PRC(440.5,N)) Q:'N S $P(^PRC(440.5,N,2),U)=0
|
---|
10 | QUIT
|
---|
11 | ;
|
---|
12 | ADJ1 ; Deduct amount from monthly purchases before amendment for new amount
|
---|
13 | ; is approved if PO is from the current month and year only.
|
---|
14 | ; PRCMCP is monthly card purchases, PRCHTAMT is original order amount
|
---|
15 | ; PRCOLD is card balance after deducting the original order's amount
|
---|
16 | ; DT is the current date, system-supplied.
|
---|
17 | ;
|
---|
18 | Q:FILE'=443.6
|
---|
19 | S X1=$P(^PRC(442,PRCHPO,1),U,15),X2=DT
|
---|
20 | S PRCHCD=$P(^PRC(442,PRCHPO,23),U,8)
|
---|
21 | I $E(X1,1,5)=$E(X2,1,5) D
|
---|
22 | . S PRCHTAMT=$P($G(^PRC(FILE,PRCHPO,0)),U,16)
|
---|
23 | . I PRCHTAMT<0 S PRCHTAMT=0
|
---|
24 | . S PRCMCP=$P($G(^PRC(440.5,PRCHCD,2)),U,1)
|
---|
25 | . S PRCOLD=PRCMCP-PRCHTAMT I PRCOLD<0 S PRCOLD=0
|
---|
26 | . S ^TMP("PRCHCD0",$J,PRCHPO)=PRCOLD K PRCHTAMT,PRCMCP,PRCOLD
|
---|
27 | K X1,X2
|
---|
28 | Q
|
---|
29 | ;
|
---|
30 | LIMIT ; Check purchase card limits and add new purchase if limit is ok.
|
---|
31 | ; Deduct discounts and add shipping charges if any is applicable.
|
---|
32 | ;
|
---|
33 | N PRCHCD,PRCHCD0,PRCHDLMT,PRCHMLMT,PRCHPURS,PRCHTAMT
|
---|
34 | I FILE'=442&(FILE'=443.6) W !,"Improper file." Q
|
---|
35 | S (PRCHTAMT,N)=0
|
---|
36 | S PRCHCD=$P(^PRC(442,PRCHPO,23),U,8)
|
---|
37 | S PRCHCD0=$G(^PRC(440.5,PRCHCD,0))
|
---|
38 | I $D(^PRC(FILE,PRCHPO,2)) F S N=$O(^PRC(FILE,PRCHPO,2,N)) Q:'N S PRCHTAMT=PRCHTAMT+$P($G(^PRC(FILE,PRCHPO,2,N,2)),U)-$P($G(^PRC(FILE,PRCHPO,2,N,2)),U,6)
|
---|
39 | ;
|
---|
40 | S:$P($G(^PRC(FILE,PRCHPO,0)),U,13)]"" PRCHTAMT=PRCHTAMT+$P(^(0),U,13)
|
---|
41 | I PRCHTAMT<0 D S ERROR=1 K PRCHTAMT Q
|
---|
42 | . W !!!,?5,"The total amount of this order cannot be negative.",!
|
---|
43 | ;
|
---|
44 | S PRCHDLMT=$P(PRCHCD0,U,5),PRCHMLMT=$P(PRCHCD0,U,6)
|
---|
45 | S:$D(^TMP("PRCHCD0",$J,PRCHPO)) PRCHPURS=$P($G(^TMP("PRCHCD0",$J,PRCHPO)),U)+PRCHTAMT
|
---|
46 | S:'$D(^TMP("PRCHCD0",$J,PRCHPO)) PRCHPURS=$P($G(^PRC(440.5,PRCHCD,2)),U)+PRCHTAMT
|
---|
47 | I $G(PRCHTAMT)>PRCHDLMT D S ERROR=1
|
---|
48 | . W !!!,?5,"The total amount of this order is more than the Single Purchase limit",!,?5,"for the purchase card.",!
|
---|
49 | I $G(PRCHPURS)>PRCHMLMT D S ERROR=1
|
---|
50 | . W !!!,?5,"The total amount of this order and the previous purchases on this",!,?5,"purchase card is more than the monthly purchase limit.",!
|
---|
51 | I $D(^TMP("PRCHCD0",$J,PRCHPO)) K ^TMP("PRCHCD0",$J,PRCHPO)
|
---|
52 | QUIT
|
---|