1 | PRCFFU6 ;WISC/SJG-OBLIGATION PROCESSING UTILITIES ;4/27/94 2:46 PM
|
---|
2 | ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ; No Top Level Entry
|
---|
5 | QUIT
|
---|
6 | COMP(REC442,REC410,FLAG) ; Compare values from 1358 SOE and 1358 SOM
|
---|
7 | ; REC442 - IEN for original obligated 1358 from 442
|
---|
8 | ; REC410 - IEN for adjusted unobligated 1358 from 410
|
---|
9 | ; Get original values from 442
|
---|
10 | ; FLAG = Return value for error check^increase/decrease condition
|
---|
11 | VAR ; Set up variables
|
---|
12 | K TMP442,TMP410 N LOOPX,CPFLAG,CCFLAG,BOCFLAG,ERFLAG,CHANGE
|
---|
13 | S (CPFLAG,CCFLAG,BOCFLAG,ERFLAG,CHANGE)=0
|
---|
14 | F LOOPX="BOC","DEL","DELSCH","FOB","PPT","VEND" S PRCFA(LOOPX)=""
|
---|
15 | F LOOPX="BOC","CC","FCP","VEND" S PRCFA("CHG",LOOPX)=""
|
---|
16 | N DA S DIC=442,DR="1;2;3;3.4;5",DA=+REC442,DIQ="TMP442(",DIQ(0)="IE" D EN^DIQ1 K DIC,DIQ,DR
|
---|
17 | N DA S DIC=410,DR="11;12;15;15.5;17;17.5",DA=+REC410,DIQ="TMP410(",DIQ(0)="IE" D EN^DIQ1 K DIC,DIQ,DR
|
---|
18 | VEN ; Compare Vendor
|
---|
19 | ; Compare external vendor name on adjustment with external vendor name
|
---|
20 | ; from 442
|
---|
21 | VEN1 I $G(TMP410(410,+REC410,12,"I"))'=$G(TMP442(442,+REC442,5,"I")) D G:PRCFA("VEND")=1 CP
|
---|
22 | .Q:$G(TMP442(442,+REC442,5,"I"))=""
|
---|
23 | .I $G(TMP410(410,+REC410,12,"I"))="" D
|
---|
24 | ..Q:$G(TMP410(410,+REC410,11,"E"))=$G(TMP442(442,+REC442,5,"E"))
|
---|
25 | ..K MSG W !
|
---|
26 | ..S MSG(1)=" The vendor on this 1358 adjustment is missing!",MSG(1.5)=" "
|
---|
27 | ..S MSG(2)=" Vendor on original 1358 obligation: "_$G(PRCTMP(410,$G(PRCTMP(442,+REC442,.07,"I")),11,"E"))
|
---|
28 | ..S MSG(3)=" Vendor pointer on original 1358 obligation: "_$G(PRCTMP(410,$G(PRCTMP(442,+REC442,.07,"I")),12,"I")),MSG(3.5)=" "
|
---|
29 | ..S MSG(4)=" Please have IRM correct the vendor on the 1358 adjustment before proceeding."
|
---|
30 | ..D EN^DDIOL(.MSG) K MSG
|
---|
31 | ..S PRCFA("VEND")=1,PRCFA("CHG","VEND")="VENDOR"
|
---|
32 | ..Q
|
---|
33 | .Q
|
---|
34 | ; Compare vendor pointer from adjustment with vendor pointer from 442
|
---|
35 | VEN2 I $G(PRCTMP(410,$G(PRCTMP(442,+REC442,.07,"I")),12,"I"))'=$G(TMP410(410,+REC410,12,"I")) D
|
---|
36 | .I $G(TMP410(410,+REC410,12,"I"))="" Q:$G(PRCTMP(410,$G(PRCTMP(442,+REC442,.07,"I")),11,"E"))=$G(TMP410(410,+REC410,11,"E"))
|
---|
37 | .S PRCFA("VEND")=1,PRCFA("CHG","VEND")="VENDOR"
|
---|
38 | .K MSG W !
|
---|
39 | .S MSG(1)=" The vendor pointer on this 1358 adjustment is different from the vendor"
|
---|
40 | .S MSG(2)=" pointer on the 442 record!"
|
---|
41 | .S MSG(2.5)=" "
|
---|
42 | .S MSG(3)=" Vendor name on obligation: "_$G(PRCTMP(410,$G(PRCTMP(442,+REC442,.07,"I")),12,"E"))
|
---|
43 | .S MSG(4)=" Vendor pointer: "_$G(PRCTMP(410,$G(PRCTMP(442,+REC442,.07,"I")),12,"I"))
|
---|
44 | .S MSG(4.5)=" "
|
---|
45 | .S MSG(5)=" Vendor name on adjustment: "_$G(TMP410(410,+REC410,12,"E"))
|
---|
46 | .S MSG(6)=" Vendor pointer: "_$G(TMP410(410,+REC410,12,"I"))
|
---|
47 | .S MSG(6.5)=" "
|
---|
48 | .S MSG(7)=" Please contact IRM for assistance!"
|
---|
49 | .D EN^DDIOL(.MSG) K MSG
|
---|
50 | .Q
|
---|
51 | CP ; Compare Control Point
|
---|
52 | I +$G(TMP410(410,+REC410,15,"I"))'=+$G(TMP442(442,+REC442,1,"I")) S CPFLAG=1,PRCFA("CHG","FCP")="FUND CONTROL POINT"
|
---|
53 | CC ; Compare Cost Center
|
---|
54 | I +$G(TMP410(410,+REC410,15.5,"I"))'=+$G(TMP442(442,+REC442,2,"I")) S CCFLAG=1,PRCFA("CHG","CC")="COST CENTER"
|
---|
55 | BOC ; Compare BOC
|
---|
56 | I +$G(TMP410(410,+REC410,17,"I"))'=+$G(TMP442(442,+REC442,3,"I")) S BOCFLAG=1,PRCFA("CHG","BOC")="BOC"
|
---|
57 | AMT ; Check for change in amounts
|
---|
58 | I $G(TMP410(410,+REC410,17.5,"I")) D
|
---|
59 | .I TMP410(410,+REC410,17.5,"I")>0 S IDFLAG="I"
|
---|
60 | .I TMP410(410,+REC410,17.5,"I")<0 S IDFLAG="D"
|
---|
61 | D
|
---|
62 | .I BOCFLAG S (CHANGE,ERFLAG)=1 Q
|
---|
63 | .I PRCFA("VEND") S (CHANGE,ERFLAG)=1 Q
|
---|
64 | .I CPFLAG S (CHANGE,ERFLAG)=1 Q
|
---|
65 | .I CCFLAG S (CHANGE,ERFLAG)=1 Q
|
---|
66 | .Q
|
---|
67 | QUIT ERFLAG_"^"_IDFLAG_"^"_CHANGE
|
---|
68 | UPDATE(REC442,REC410) ; Update Node 22 in File 442
|
---|
69 | S AMT=+$G(TMP410(410,+REC410,17.5,"I"))+$G(TMP442(442,+REC442,3.4,"I"))
|
---|
70 | S BOC=+$G(TMP442(442,+REC442,3,"I"))
|
---|
71 | N DA S DA(1)=REC442
|
---|
72 | S DIC="^PRC(442,"_DA(1)_",22,",DIC(0)="QEMZ",X=BOC D ^DIC
|
---|
73 | I Y>0 S DIE=DIC,DA=+Y,DR="1////^S X=AMT" D ^DIE
|
---|
74 | K DIC,DIE,DR,TMP410,TMP442,AMT,BOC
|
---|
75 | QUIT
|
---|
76 | AUTACC ; Update Ending Date and Auto Accrual Flag
|
---|
77 | Q:'$D(TMP("NEWDATE"))
|
---|
78 | N DATE,FLAG
|
---|
79 | S DATE=$P(TMP("NEWDATE"),U),FLAG=$P(TMP("NEWACC"),U)
|
---|
80 | S DIE=442,DA=POIEN,DR="29///^S X=DATE;30///^S X=FLAG" D ^DIE K DIE,DR,TMP("NEWACC"),TMP("NEWDATE")
|
---|
81 | QUIT
|
---|