1 | ENFAVAL ;(WIRMFO)/KLD/SAB; VALIDITY CHECKS FOR Fx DOCS ;2/18/99
|
---|
2 | ;;7.0;ENGINEERING;**25,29,33,38,39,46,60**;Aug 17, 1993
|
---|
3 | ST ;
|
---|
4 | N ENC,X
|
---|
5 | S ENC("BAD")=0
|
---|
6 | F I=1:1 X "S T=$P($T("_ENFAP("DOC")_"CHK+I),"";;"",2)" Q:T["END" D
|
---|
7 | . I ENFAP("DOC")="FA" D Q
|
---|
8 | . . Q:$P(ENEQ(+T),U,$P(T,";",2))]"" D SET("Missing "_$P(T,";",3))
|
---|
9 | . Q:$P(ENFAP(+T),U,$P(T,";",2))]"" D SET("Missing "_$P(T,";",3))
|
---|
10 | I ENFAP("DOC")="FA" D FA
|
---|
11 | I ENFAP("DOC")="FC" D FC
|
---|
12 | I ENFAP("DOC")="FD" D FD
|
---|
13 | I ENFAP("DOC")="FR" D FR
|
---|
14 | I ENC("BAD")>0 S ^TMP($J,"BAD",ENEQ("DA"))=ENC("BAD")
|
---|
15 | K I,T Q
|
---|
16 | ;
|
---|
17 | FA ;Check for appropriate values of certain required fields
|
---|
18 | I $P(ENEQ(2),U,3)]"" D:$P(ENEQ(2),U,3)'>0 SET("Asset Value must be greater than 0.00")
|
---|
19 | I $P(ENEQ(3),U,4)]"" D:$P(ENEQ(3),U,4)>0 SET("Acquisition Method inappropriate")
|
---|
20 | I $P(ENEQ(0),U,4)]"" D:$P(ENEQ(0),U,4)'="NX" SET("Not non-expendable")
|
---|
21 | D:'$P(ENEQ(8),U,2) SET("Asset not capitalized")
|
---|
22 | I $P(ENEQ(9),U,6)]"" D
|
---|
23 | . S X=$G(^ENG(6914.4,$P(ENEQ(9),U,6),0))
|
---|
24 | . I $P(X,U)="" D SET("BOC invalid pointer")
|
---|
25 | . I $P(X,U,5)]"",$P(X,U,5)'>DT D SET("BOC has been deactivated")
|
---|
26 | I $P(ENEQ(8),U,6)]"" D
|
---|
27 | . I '$D(^ENG(6914.3,$P(ENEQ(8),U,6))) D SET("SGL invalid pointer") Q
|
---|
28 | . S X=$G(^ENG(6914.3,$P(ENEQ(8),U,6),0))
|
---|
29 | . I $P(X,U)="6100" D SET("NX SGL account of 6100")
|
---|
30 | . I $P(X,U,5)]"",$P(X,U,5)'>DT D SET("SGL has been deactivated")
|
---|
31 | I $P(ENEQ(9),U,7)]"" D
|
---|
32 | . S X=$G(^ENG(6914.6,$P(ENEQ(9),U,7),0))
|
---|
33 | . I $P(X,U)="" D SET("FUND invalid pointer")
|
---|
34 | . I $P(X,U,5)]"",$P(X,U,5)'>DT D SET("FUND has been deactivated")
|
---|
35 | I $P(ENEQ(2),U,9)]"" D
|
---|
36 | . S ENFAP("LOC")=$$LOC($$GET1^DIQ(6914,ENEQ("DA"),19))
|
---|
37 | . I ENFAP("LOC")="" D SET("Invalid CMR") Q
|
---|
38 | . I $P(ENEQ(9),U,8)]"" D
|
---|
39 | . . S X=$O(^ENG(6914.9,"B",ENFAP("LOC"),0))
|
---|
40 | . . Q:'X
|
---|
41 | . . S Y=$P($G(^ENG(6914.9,X,0)),U,4)
|
---|
42 | . . I Y]"",Y'=$P(ENEQ(9),U,8) D SET("CMR inappropriate for A/O")
|
---|
43 | I $P(ENEQ(2),U,8)]"" D
|
---|
44 | . S ENFAP("GRP")=$$GROUP($$GET1^DIQ(6914,ENEQ("DA"),18))
|
---|
45 | . I 'ENFAP("GRP") D SET("Invalid CSN") Q
|
---|
46 | . I $P(ENEQ(8),U,6)]"",'$O(^ENG(6914.3,$P(ENEQ(8),U,6),1,"B",ENFAP("GRP"),0)) D SET("CSN inappropriate for SGL")
|
---|
47 | I $P(ENEQ(2),U,4)]"",+$E($P(ENEQ(2),U,4),4,5)'>0 D SET("Acquisition Month Missing")
|
---|
48 | I $P(ENEQ(2),U,10)]"" D
|
---|
49 | . I +$E($P(ENEQ(2),U,10),4,5)'>0 D SET("Replacement Month Missing")
|
---|
50 | . I $P(ENEQ(2),U,4)]"",$P(ENEQ(2),U,10)<$P(ENEQ(2),U,4) D SET("Replacement Date preceeds Acquisition Date")
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | FC ;Check for problems with CSN and/or CMR
|
---|
54 | I $P(ENFAP(100),U)]"" D
|
---|
55 | . I $P(ENFAP(3),U,9)="" D SET("CSN is unacceptable for capitalized NX") Q
|
---|
56 | . I $P(ENEQ(8),U,6)]"",'$O(^ENG(6914.3,$P(ENEQ(8),U,6),1,"B",$P(ENFAP(3),U,9),0)) D SET("CSN inappropriate for SGL")
|
---|
57 | I $P(ENFAP(100),U,2)]"",$P(ENFAP(3),U,10)="" D SET("CMR is unacceptable for capitalized NX")
|
---|
58 | ;check date order (ACQUISITION & REPLACEMENT)
|
---|
59 | I $P(ENFAP(100),U,6)]""!($P(ENFAP(100),U,7)]"") D
|
---|
60 | . N ENAD,ENRD
|
---|
61 | . S ENAD=$S($P(ENFAP(100),U,6)]"":$P(ENFAP(100),U,6),1:$P(ENEQ(2),U,4))
|
---|
62 | . S ENRD=$S($P(ENFAP(100),U,7)]"":$P(ENFAP(100),U,7),1:$P(ENEQ(2),U,10))
|
---|
63 | . I ENAD=""!(ENRD="") Q
|
---|
64 | . I ENRD'>ENAD D SET("REPLACEMENT DATE must follow ACQUISITION DATE.")
|
---|
65 | Q
|
---|
66 | ;
|
---|
67 | FD ; Check for probems with disp date
|
---|
68 | I $P(ENFAP(100),U,3)>DT D SET("DISPOSITION DATE must not be later than Today.")
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | FR ; Check for problems with CMR
|
---|
72 | I $P(ENFAP(100),U,6)]"",$$LOC($P($G(^ENG(6914.1,$P(ENFAP(100),U,6),0)),U))="" D SET("CMR is unacceptable for capitalized NX")
|
---|
73 | I $P(ENFAP(100),U,3)]""!($P(ENFAP(100),U,6)]"") D ; new A/O or new CMR
|
---|
74 | . N ENAO,ENCMR
|
---|
75 | . S ENAO=$S($P(ENFAP(100),U,3)]"":$P(ENFAP(100),U,3),1:$P(ENEQ(9),U,8))
|
---|
76 | . S ENCMR=$S($P(ENFAP(100),U,6)]"":$P(ENFAP(100),U,6),1:$P(ENEQ(2),U,9))
|
---|
77 | . I ENAO=""!(ENCMR="") Q
|
---|
78 | . S ENFAP("LOC")=$$LOC($P($G(^ENG(6914.1,ENCMR,0)),U))
|
---|
79 | . I ENFAP("LOC")="" Q
|
---|
80 | . S X=$O(^ENG(6914.9,"B",ENFAP("LOC"),0))
|
---|
81 | . I X'>0 Q
|
---|
82 | . S Y=$P($G(^ENG(6914.9,X,0)),U,4)
|
---|
83 | . I Y]"",Y'=ENAO D SET("CMR inappropriate for A/O")
|
---|
84 | I $P(ENFAP(100),U,5)]"" D
|
---|
85 | . S X=$G(^ENG(6914.4,$P(ENFAP(100),U,5),0))
|
---|
86 | . I $P(X,U)="" D SET("BOC invalid pointer")
|
---|
87 | . I $P(X,U,5)]"",$P(X,U,5)'>DT D SET("BOC has been deactivated")
|
---|
88 | I $P(ENFAP(100),U,2)]"" D
|
---|
89 | . S X=$G(^ENG(6914.6,$P(ENFAP(100),U,2),0))
|
---|
90 | . I $P(X,U)="" D SET("FUND invalid pointer")
|
---|
91 | . I $P(X,U,5)]"",$P(X,U,5)'>DT D SET("FUND has been deactivated")
|
---|
92 | Q
|
---|
93 | SET(X) ;Record problems
|
---|
94 | S ENC("BAD")=ENC("BAD")+1,^TMP($J,"BAD",ENEQ("DA"),ENC("BAD"))=X
|
---|
95 | Q
|
---|
96 | ;
|
---|
97 | LOC(CMR) ;Accepts CMR and checks 1st two char
|
---|
98 | ;Returns FAP LOCATION (EIL)
|
---|
99 | S ENFAP("LOC")=$E(CMR,1,2) I ENFAP("LOC")'?2N S ENFAP("LOC")="" G LOCDN
|
---|
100 | I ENFAP("LOC")]"",'$D(^ENG(6914.9,"B",ENFAP("LOC"))) S ENFAP("LOC")=""
|
---|
101 | ;I "^73^74^79^"[(U_ENFAP("LOC")_U) S ENFAP("LOC")=""
|
---|
102 | ;I ENFAP("LOC")>83,"^86^88^90^98^99^"'[(U_ENFAP("LOC")_U) S ENFAP("LOC")=""
|
---|
103 | LOCDN Q ENFAP("LOC")
|
---|
104 | ;
|
---|
105 | GROUP(CSN) ;Accepts CSN and returns FAP GROUP
|
---|
106 | N FSC S FSC=$E(CSN,1,4) ;Federal Supply Classification
|
---|
107 | I FSC'?4N S ENFAP("GRP")=0 G GRPDUN
|
---|
108 | I "7020^7021^7025^7035^7040^7050^7435"[FSC S ENFAP("GRP")=FSC
|
---|
109 | E S ENFAP("GRP")=$E(FSC,1,2)_"00"
|
---|
110 | GRPDUN Q ENFAP("GRP")
|
---|
111 | ;
|
---|
112 | FACHK ;;
|
---|
113 | ;;0;4;Type of Entry
|
---|
114 | ;;8;6;General Ledger Account
|
---|
115 | ;;2;8;Category Stock Number
|
---|
116 | ;;2;9;CMR
|
---|
117 | ;;2;4;Acquisition Date
|
---|
118 | ;;9;7;Fund
|
---|
119 | ;;9;8;A.O. Code
|
---|
120 | ;;9;6;Budget Object Code
|
---|
121 | ;;2;6;Life Expectancy
|
---|
122 | ;;2;3;Acquisition Value
|
---|
123 | ;;3;4;Acquitition Method
|
---|
124 | ;;9;9;Equity Account
|
---|
125 | ;;END
|
---|
126 | FBCHK ;;
|
---|
127 | ;;3;7;Betterment Number
|
---|
128 | ;;3;12;Acquisition Method
|
---|
129 | ;;6;2;Equity Account
|
---|
130 | ;;4;4;Dollar Amount
|
---|
131 | ;;END
|
---|
132 | FCCHK ;;
|
---|
133 | ;;3;8;Betterment Number
|
---|
134 | ;;END
|
---|
135 | FDCHK ;;
|
---|
136 | ;;5;4;Disposition Method
|
---|
137 | ;;5;5;Disposition Year
|
---|
138 | ;;5;6;Disposition Month
|
---|
139 | ;;5;7;Disposition Day
|
---|
140 | ;;5;8;Selling Price
|
---|
141 | ;;5;9;Disposition Authority
|
---|
142 | ;;END
|
---|
143 | FRCHK ;;
|
---|
144 | ;;3;9;New Fund Code
|
---|
145 | ;;3;10;New A.O. Code
|
---|
146 | ;;3;11;New Owning Station
|
---|
147 | ;;3;12;New Xprogram
|
---|
148 | ;;END
|
---|