1 | PRCEOB ;WISC/CLH/CTB-1358 OBLIGATION ; 15 Apr 93 1:02 PM
|
---|
2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | K PRC,PRCF,Y
|
---|
5 | S PRCF("X")="AB" D ^PRCFSITE Q:'%
|
---|
6 | D LOOKUP G:Y<0 OUT K DIC,OB,DA,DIR,TRNODE,PCP,IOINHI,IOINLOW,IOINORM,X,PO,PODA,PRCHP,PATNUM,TR3,TR4,PO0,%,MSG S (OB,DA)=+Y
|
---|
7 | SC D NODE^PRCS58OB(DA,.TRNODE)
|
---|
8 | S PRCFA("TRDA")=OB D SCREEN^PRCEOB1 W ! S DIR(0)="Y",DIR("A")="Is the above information correct",DIR("B")="YES",DIR("?")="'NO' will allow you to edit the information, '^' to Exit" D ^DIR G:$D(DIRUT) OUT
|
---|
9 | K DIR G:$D(DIRUT) OUT I 'Y D OB^PRCS58OB(OB) G SC
|
---|
10 | S PCP=$P(TRNODE(0),"-",4),PQT=$P(TRNODE(0),"-",3) D CPBAL^PRCFAC01 K PQT,PRCF("NOBAL") S DIR(0)="Y",DIR("A")="OK to continue",DIR("B")="YES" D ^DIR G:'Y!($D(DTOUT)) OUT
|
---|
11 | K DA,X S PRCHP("T")=21,PRCHP("S")=4,PRCHP("A")="1358 Obligation Number",PRCFA(1358)="" D EN^PRCHPAT K PRCFA(1358),PRCHP I '$D(DA) S X="Unable to establish Obligation Number, processing has been terminated.*" D MSG^PRCFQ G OUT
|
---|
12 | D OB1^PRCS58OB(OB,DA)
|
---|
13 | D PAT^PRCH58OB(DA,.PODA,.PO,.PATNUM)
|
---|
14 | D COB^PRCH58OB(PODA,.TRNODE,.PO,OB,X)
|
---|
15 | N PRCFA,PRCFDEL,AMT,CS,DA,DIK,TIME
|
---|
16 | TT S PRCFA("REF")=$P($P(PO(0),"^"),"-",2),PRCFA("SYS")="CLM" S PRCFA("TT")="921.60" D TT^PRCFAC G:'% KILL
|
---|
17 | I "921.00921.10921.24921.60921.71"'[PRCFA("TT") W " Invalid Transaction Type.Status Code selected. ",!?20,"921.00, 921.10, 921.24, 921.60 or 921.71 ONLY!",$C(7),! G TT
|
---|
18 | D NEWCS^PRCFAC G:'$D(DA) KILL
|
---|
19 | I PRCFA("EDIT")'["921.71" S DR=$S(PRCFA("EDIT")["921.60":"61",1:"7")_";8;9DELIVERY DATE~;S PRCFA(""DEL"")=Y",DIE="^PRCF(423," D ^DIE I $D(Y)'=0 G KILL
|
---|
20 | S PRC("CP")=+$P(PO(0),"^",3) D ^PRCFALD S PRC("CP")=$P($P(PO(0),"^",3)," ")
|
---|
21 | S CS=$S($D(^PRCF(423,PRCFA("CSDA"),1)):^(1),1:"") S $P(CS,"^")=PRCFA("YALD"),$P(CS,"^",5,7)=PRC("CP")_"^"_+$P(PO(0),"^",5)_"^^"
|
---|
22 | S $P(CS,"^",8,11)=$P(PO(0),"^",6)_"^"_($P(PO(0),"^",7)*100)_"^"_$S($P(PO(0),"^",8)>0:$P(PO(0),"^",8),1:"$")_"^"_$S(+$P(PO(0),"^",9)'=0:$P(PO(0),"^",9)*100,1:""),$P(CS,"^",16)="$",^PRCF(423,PRCFA("CSDA"),1)=CS
|
---|
23 | I PRCFA("EDIT")["921.71" S ^PRCF(423,PRCFA("CSDA"),13,0)="^423.11A^2^2" F I=1,2 S X=$S(I=1:6,1:8) S SA=+$P(PO(0),"^",X),AMT=$P(PO(0),"^",X+1)*100,^PRCF(423,PRCFA("CSDA"),13,I,0)=I_"^^^^^"_$S(SA>0:SA,1:"$")_"^^^"_$S(+AMT'=0:AMT,1:"")
|
---|
24 | D @($S(PRCFA("EDIT")'["921.71":"^PRCFA921",1:"71^PRCFA921"))
|
---|
25 | D ^PRCFACXM I $D(PRCFDEL)!($D(PRCFA("CSHOLD"))) S X="No further processing is being taken on this 1358. It has NOT been obligated. Entry in PO file is being deleted.*" D MSG^PRCFQ K PRCFDEL,PRCFA("CSHOLD") G KILL
|
---|
26 | D WAIT^PRCFYN,POST G OUT:'%
|
---|
27 | S X=100,DA=PRCFA("PODA") D ENF^PRCHSTAT
|
---|
28 | S AMT=$P(^PRCF(423,PRCFA("CSDA"),1),"^",9)+$P(^(1),"^",11)*.01 D NOW^PRCFQ S TIME=X
|
---|
29 | ;S X=$P(TRNODE(4),"^",8),DA=PRCFA("TRDA") D TRANK^PRCSES S X=$P(PRC("PER"),"^",2) D EN^PRCHUTL
|
---|
30 | S X=$P(TRNODE(4),"^",8),DA=PRCFA("TRDA") D TRANK^PRCSES
|
---|
31 | S DEL=$S('$D(DEL):"",1:DEL)
|
---|
32 | W !,"Updating Code Sheet information",!
|
---|
33 | D CS^PRCS58OB(OB,AMT,TIME,PATNUM,PODA,DEL,X,.PRC)
|
---|
34 | W !,"Updating 1358 Obligation balances",!
|
---|
35 | D BAL^PRCH58OB(PODA,AMT)
|
---|
36 | S X=AMT D TRANS1^PRCSES
|
---|
37 | S X=AMT D TRANS^PRCSES D BULLET^PRCEFIS1,OUT W !! G V
|
---|
38 | OUT K DTOUT,DIRUT,DUOUT,DIROUT,P,PRCB,PRCSCOST,PRCSN,PRCST,PRCST1,XMDUZ,XMSUB,XMTEXT,Y,Z
|
---|
39 | Q
|
---|
40 | KILL D KILL^PRCH58OB(PODA) G OUT
|
---|
41 | ;
|
---|
42 | LOOKUP ;Lookup 1358 transaction which is pending fiscal action.
|
---|
43 | N DIC,FSO,TN
|
---|
44 | S:'$D(TT) TT="O"
|
---|
45 | S DIC=410,DIC(0)="AEMNZ",FSO=$O(^PRCD(442.3,"AC",10,0)),DIC("S")="S TN=^(0) I $P($P(TN,U),""-"",1,2)=PRCF(""SIFY""),TT[$P(TN,U,2),$P(TN,""^"",4)=1,$D(^(10)),$P(^(10),U,4)=FSO"
|
---|
46 | D ^PRCSDIC
|
---|
47 | Q
|
---|
48 | POST ;post data in file 424
|
---|
49 | N X,Z,DAR,DIC,Y,DA,DIE,DR,TIME
|
---|
50 | S (X,Z)=PATNUM,%=1 D EN1^PRCSUT3 I +$P(X,"-",3)>1 W $C(7),!,"This is not a new 1358. Adjustments may only be entered through the",!,"adjustment option." H 3 S %=0 Q
|
---|
51 | S DIC=424,DIC(0)="LX",DLAYGO=424 D ^DIC K DLAYGO I Y<0 W !,"ERROR IN CREATING 424 RECORD" S %=0 Q
|
---|
52 | S DAR=+Y
|
---|
53 | D NOW^%DTC S TIME=%,DIE=DIC,DA=DAR,X=PODA,DR=".02////^S X=PODA;.03////^S X=""O"";.06////^S X=$P(PO(0),U,11);.07////^S X=TIME;.08////^S X=DUZ;1.1///^S X=""INITIAL OBLIGATION"";.15////^S X=OB"
|
---|
54 | D ^DIE S %=1
|
---|
55 | Q
|
---|