1 | PRCFD8L ;WISC/LEM-FMS LIN,PVA,PVB,PVZ SEGMENTS ;7/24/97 14:07
|
---|
2 | ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | LIN ;BUILD 'LIN' SEGMENT
|
---|
6 | S DA(421.541)=LINE,DR="1;2;3;14;41" D EN^DIQ1
|
---|
7 | S ^TMP($J,"PRCPV",LINE*4+1)="LIN^~"
|
---|
8 | Q
|
---|
9 | PVA ;BUILD 'PVA' SEGMENT
|
---|
10 | N SEG,ACCDATE,X1,X2,SERVDATE,CERTDATE
|
---|
11 | S (SEG,ACCDATE)=""
|
---|
12 | S (X2,SERVDATE)=PRCTMP(421.5,DA,11.5,"I")
|
---|
13 | S (X1,CERTDATE)=PRCTMP(421.5,DA,61.9,"I")
|
---|
14 | I X2,'X1 D
|
---|
15 | . S X1=X2,X2=7 D C^%DTC S ACCDATE=X Q
|
---|
16 | I SERVDATE,CERTDATE D
|
---|
17 | . S X1=CERTDATE,X2=SERVDATE D ^%DTC
|
---|
18 | . I X<8 S ACCDATE=CERTDATE Q
|
---|
19 | . I X>7 S X1=SERVDATE,X2=7 D C^%DTC S ACCDATE=X Q
|
---|
20 | S $P(SEG,U,1)="PVA" ; Segment ID
|
---|
21 | S X="000"_PRCTMP(421.541,DA(421.541),4,"E")
|
---|
22 | S $P(SEG,U,2)=$E(X,$L(X)-2,$L(X)) ; FMS Line Number
|
---|
23 | S $P(SEG,U,3)=PRCF("TC") ; Reference Document Transaction Code
|
---|
24 | S $P(SEG,U,4)=PRCF("TN") ; Transaction Number
|
---|
25 | S $P(SEG,U,5)=$P(SEG,U,2) ; Reference Document FMS Line Number
|
---|
26 | S $P(SEG,U,6)=$E(ACCDATE,2,3) ; Accept Year
|
---|
27 | S $P(SEG,U,7)=$E(ACCDATE,4,5) ; Accept Month
|
---|
28 | S $P(SEG,U,8)=$E(ACCDATE,6,7) ; Accept Day
|
---|
29 | S $P(SEG,U,21)=PRCTMP(421.541,DA(421.541),.01,"I") ; BOC
|
---|
30 | S X=PRCTMP(421.5,CI,2,"I")
|
---|
31 | S $P(SEG,U,29)=$E(X,2,3) ; Vendor's Invoice Year
|
---|
32 | S $P(SEG,U,30)=$E(X,4,5) ; Vendor's Invoice Month
|
---|
33 | S $P(SEG,U,31)=$E(X,6,7) ; Vendor's Invoice Day
|
---|
34 | S X=PRCTMP(421.541,DA(421.541),1,"I")
|
---|
35 | S $P(SEG,U,33)=$FN(X,"",2) ; Line Amount
|
---|
36 | S $P(SEG,U,34)="I" ;PRCTMP(421.541,DA(421.541),5,"I") ; Line Action (Increase/Decrease)
|
---|
37 | S $P(SEG,U,35)=PRCTMP(421.541,DA(421.541),3,"I") ; Partial/Final Indicator
|
---|
38 | S X=PRCTMP(421.5,CI,3,"I")
|
---|
39 | S $P(SEG,U,36)=$E(X,2,3) ; Year Invoice Logged
|
---|
40 | S $P(SEG,U,37)=$E(X,4,5) ; Month Invoice Logged
|
---|
41 | S $P(SEG,U,38)=$E(X,6,7) ; Day Invoice Logged
|
---|
42 | S X="" I PRCTMP(421.541,DA(421.541),4,"E")=991 S X="F"
|
---|
43 | S $P(SEG,U,39)=X ; Line Type
|
---|
44 | S $P(SEG,U,41)="~" ; Segment Delimiter
|
---|
45 | S ^TMP($J,"PRCPV",LINE*4+2)=SEG
|
---|
46 | Q
|
---|
47 | PVB ;BUILD 'PVB' SEGMENT
|
---|
48 | N SEG
|
---|
49 | S SEG="",$P(SEG,U,1)="PVB"
|
---|
50 | Q:+PRCTMP(421.541,DA(421.541),2,"I")=PRCTMP(421.541,DA(421.541),1,"I")
|
---|
51 | I PRCTMP(421.541,DA(421.541),2,"I")]"" D
|
---|
52 | . S $P(SEG,U,8)=$FN(PRCTMP(421.541,DA(421.541),2,"I"),"",2) ; Liquidation Amount
|
---|
53 | . S SEG=SEG_"^~",^TMP($J,"PRCPV",LINE*4+3)=SEG
|
---|
54 | Q
|
---|
55 | PVC ;BUILD 'PVC' SEGMENT
|
---|
56 | Q ; No data for now - Don't send PVC segment.
|
---|
57 | N SEG
|
---|
58 | S SEG="",$P(SEG,U,1)="PVC",$P(SEG,U,5)="~"
|
---|
59 | S ^TMP($J,"PRCPV",LINE*4+4)=SEG
|
---|
60 | Q
|
---|
61 | ;
|
---|
62 | CVNFY(A,B) ;return conversion FY
|
---|
63 | N X,Y,Z S X="",Y=$O(^DIC(9.4,"B",A,"")) Q:Y="" X
|
---|
64 | S Z=0 F S Z=$O(^DIC(9.4,Y,22,Z)) Q:+Z'>0 I $E($G(^DIC(9.4,Y,22,Z,0)),1,$L(B))=B Q
|
---|
65 | Q:+Z'>0 X
|
---|
66 | S X=$P(^DIC(9.4,Y,22,Z,0),U,3)
|
---|
67 | S:X X=$E(X,1,3)+1700+$S(+$E(X,4,5)>9:1,1:0)
|
---|
68 | Q X
|
---|
69 | ;
|
---|
70 | ; USER OPTION TO SET UP SO to AR DATE
|
---|
71 | SOAR N DIR,X,X1,X2,PRCSOAR
|
---|
72 | SOAR0 S DIR(0)="D^DT:"_(DT+10000)_":EFX"
|
---|
73 | S DIR("B")=$$FMTE^XLFDT($G(^PRC(411,"A IFCAP-Wide Parameters","SO 2 AR Date"))) S:DIR("B")="" DIR("B")="10/12"
|
---|
74 | S DIR("A")=" "
|
---|
75 | S DIR("A",1)="Enter the date on which FMS will accrue their prior year documents."
|
---|
76 | S DIR("?")="The MM/DD/YY is provided by Central Office/FMS, normally via MailMan"
|
---|
77 | D ^DIR I Y="^" G SOARQ
|
---|
78 | I Y'>0 G SOAR0
|
---|
79 | W !
|
---|
80 | S PRCSOAR=Y
|
---|
81 | S X1=Y,X2=1 D C^%DTC
|
---|
82 | S DIR("A")="Is this correct?"
|
---|
83 | S DIR("A",1)="IFCAP will allow 'SO's to be sent to Austin as 'AR's starting on "_$$FMTE^XLFDT(X,2)_"."
|
---|
84 | S DIR(0)="Y"
|
---|
85 | S DIR("B")="NO"
|
---|
86 | S DIR("?")="Enter 'Y' to accept your entry, 'N' to change it"
|
---|
87 | D ^DIR I $D(DIRUT) G SOARQ
|
---|
88 | I Y S ^PRC(411,"A IFCAP-Wide Parameters","SO 2 AR Date")=PRCSOAR G SOARQ
|
---|
89 | I 'Y W !! G SOAR0
|
---|
90 | SOARQ Q
|
---|
91 | ;
|
---|
92 | SOARINIT S ^PRC(411,"A IFCAP-Wide Parameters","SO 2 AR Date")=2961004 Q
|
---|