1 | PRCOE3 ;WISC/DJM-IFCAP SEGMENTS HE,MI,CO ;6/18/97 16:29
|
---|
2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | HE(VAR1,VAR2) ;PO HEADER INFORMATION SEGMENT
|
---|
6 | ; uses PRCHPC variable to determine if document is a purchase card
|
---|
7 | ; PRCHPC should not exist & should not be used in non-Purchase Card options
|
---|
8 | ;
|
---|
9 | ; VAR1 = string of up to 4 pieces -- (last 3 pieces are optional)
|
---|
10 | ; ('^' piece 1) ==> ien to file 442
|
---|
11 | ; ('^' piece 2) ==> amendment flag (1 for PHM, 2 for PHA)
|
---|
12 | ; ('^' piece 3) ==> amendment number
|
---|
13 | ; ('^' piece 4) ==> 442 ien of amended order if PO number
|
---|
14 | ; was changed
|
---|
15 | ;
|
---|
16 | ; VAR2 is used to pass error conditions to the calling routine
|
---|
17 | ;
|
---|
18 | N A,A1,AFLG,ANO,B,DA,DD,NM,P,PHN,PM,PNM,PO,POD,PPM,RFQ,SC,MOP,X,Y
|
---|
19 | S PO=$P(VAR1,"^",1)
|
---|
20 | S A=$G(^PRC(442,PO,0))
|
---|
21 | S A1=$G(^PRC(442,PO,1))
|
---|
22 | I $G(^PRC(442,PO,12))="" S VAR2="NP12" Q ; exit if no info in node 12
|
---|
23 | ;
|
---|
24 | S X=$P(A1,U,15)
|
---|
25 | I X="" S VAR2="NPOD" Q ; exit if no PO Date
|
---|
26 | D JD^PRCFDLN ; puts julian date for X in Y
|
---|
27 | S POD=$E(X,1,3)+1700_$E(Y,1,3)
|
---|
28 | ;
|
---|
29 | S X=$P(A,U,10)
|
---|
30 | I X="" S VAR2="NDD" Q ; exit if no delivery date
|
---|
31 | D JD^PRCFDLN ; Puts julian date for X in Y
|
---|
32 | S DD=$E(X,1,3)+1700_$E(Y,1,3)
|
---|
33 | ;
|
---|
34 | S AFLG=$P(VAR1,"^",2) I AFLG="" S AFLG=0
|
---|
35 | S DA=PO
|
---|
36 | I AFLG=2 S DA=$P(VAR1,"^",4) ; use old PO's ien if PO number was changed
|
---|
37 | ;
|
---|
38 | I 'AFLG S P=$P(A1,U,10)
|
---|
39 | I AFLG D
|
---|
40 | . S ANO=$P(VAR1,"^",3) ; amendment number
|
---|
41 | . S P=$P(^PRC(442,DA,6,ANO,1),"^",1)
|
---|
42 | I P="" S VAR2="NPPM" Q ; exit if no PA/PPM (or Authorized buyer)
|
---|
43 | ;
|
---|
44 | S PHN=$P($G(^VA(200,P,.13)),"^",5)
|
---|
45 | I '$G(PRCHPC) D Q:PHN=""
|
---|
46 | . I PHN="" S VAR2="NPHN" Q ;exit if no commercial phone# for PA/PPM
|
---|
47 | . S PHN=$P(PHN,U)
|
---|
48 | . I PHN="" S VAR2="NPH" Q ; exit (but when would there be an '^'???)
|
---|
49 | ;
|
---|
50 | I 'AFLG S PPM=$E("ES/"_$$DECODE^PRCHES5(DA),1,30)
|
---|
51 | I AFLG S PPM=$E("ES/"_$$DECODE^PRCHES6(DA,ANO),1,30)
|
---|
52 | I PPM="ES/" S VAR2="ESBD" Q ; exit if no name found
|
---|
53 | ;
|
---|
54 | S PO=$P(VAR1,"^",1)
|
---|
55 | S MOP=$P(A,U,2) ; method of processing
|
---|
56 | S MOP=$S(MOP=1:"A",MOP=2:"B",MOP=3:"C",MOP=4:"D",MOP=7:"E",MOP=8:"F",MOP=9:"G",MOP=21:"H",MOP=22:"I",MOP=23:"J",MOP=24:"K",MOP=25:"L",MOP=26:"M",1:"")
|
---|
57 | S:MOP="" MOP="A"
|
---|
58 | ;
|
---|
59 | S SC=$P(A1,U,7) ; source code
|
---|
60 | S:SC>0 SC=$P($G(^PRCD(420.8,SC,0)),U)
|
---|
61 | S RFQ=$P($G(^PRC(442,PO,21)),U,8)
|
---|
62 | S PM=0
|
---|
63 | S PM=$O(^PRC(442,PO,14,PM)) ; purchase method
|
---|
64 | D:PM>0
|
---|
65 | . S PM=$P($G(^PRC(442,PO,14,PM,0)),U) Q:PM'>0
|
---|
66 | . S PM=$P($G(^PRC(442.4,PM,0)),U)
|
---|
67 | . Q
|
---|
68 | ;
|
---|
69 | S B="HE^^"_POD_"^"_SC_"^"_DD_"^^^"_PPM_"^"_PHN_"^"_PM_"^"_MOP_"^^0^^^^"_RFQ_"^1^|"
|
---|
70 | S ^TMP($J,"STRING",1)=B
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | MI(VAR1,VAR2) ;MISCELLANEOUS INFORMATION SEGMENT
|
---|
74 | N B,F1,F2,I2,ITEM,M0,M1,M12,M23,PR
|
---|
75 | S M0=$G(^PRC(442,VAR1,0))
|
---|
76 | S M1=$G(^PRC(442,VAR1,1))
|
---|
77 | S M12=$G(^PRC(442,VAR1,12))
|
---|
78 | S M23=$G(^PRC(442,VAR1,23))
|
---|
79 | S B="MI^^"_$P(M12,U,7)_"^" ; FIELDS 1, 2, 3
|
---|
80 | I $P(M23,U,11)="P" S F1="" G MI1
|
---|
81 | S F1=$P(M1,U,7)
|
---|
82 | S:F1="" VAR2="NSC"
|
---|
83 | Q:F1=""
|
---|
84 | S F1=$S(F1=9:"B","2,3,5,8"[F1:"P",1:"D")
|
---|
85 | MI1 S B=B_F1_"^^^" ; FIELDS 4, 5, 6
|
---|
86 | S PR=$P(M1,U,8)
|
---|
87 | I $P(M0,U,19)=2,PR="" S PR="N/A"
|
---|
88 | S:PR="" VAR2="NOPR"
|
---|
89 | Q:PR=""
|
---|
90 | S B=B_PR_"^^^^|" ; FIELDS 7, 8, 9, 10, 11
|
---|
91 | S ^TMP($J,"STRING",5)=B
|
---|
92 | Q
|
---|
93 | ;
|
---|
94 | CO(VAR1,VAR2,TOTAL) ;COMMENT INFORMATION SEGMENT
|
---|
95 | N B,TOSH
|
---|
96 | S TOSH=$P($G(^PRC(442,VAR1,12)),U,14)
|
---|
97 | Q:TOSH=""
|
---|
98 | S TOSH=$E($P(^PRC(443.4,TOSH,0),U,3),1,59)
|
---|
99 | S B="CO^1^"_TOSH_"^|"
|
---|
100 | S ^TMP($J,"STRING",TOTAL)=B
|
---|
101 | S TOTAL=TOTAL+1
|
---|
102 | S B=^TMP($J,"STRING",1)
|
---|
103 | S $P(B,U,13)=$P(B,U,13)+1
|
---|
104 | S ^TMP($J,"STRING",1)=B
|
---|
105 | Q
|
---|