1 | PRCEADJ ;WISC/CLH/LDB/PLT/SJG-CP 1358 ADJUSTMENTS ; 04/21/93 10:52 AM
|
---|
2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;Create increase/decrease adjustment
|
---|
5 | EN N PRC410,PRC442,PRCS,DIE,DR,PRC,PRCS2,DIC,X,X410,X442,X1,X2,X3,X4,PRCSIP,Y,Y410,DIR,TRNODE,Z,Z410,PRCSOBN
|
---|
6 | EN1 ;
|
---|
7 | D EN^PRCSUT ; ask site, fiscal year, quarter, control point; set X & Z
|
---|
8 | I '$D(PRC("SITE")) W !,$C(7),"You are not an authorized control point user.",! G OUT
|
---|
9 | G OUT:'$D(PRC("QTR"))!(Y<0)
|
---|
10 | S X410=X ; station-FY-FCP
|
---|
11 | S Z410=Z ; station-FY-quarter-FCP
|
---|
12 | ENA1 S DIC=410,Y=""
|
---|
13 | D OROBL^PRCS58OB(DIC,.PRC,.Y) ; get obligation # from old 1358
|
---|
14 | I $D(DTOUT)!$D(DUOUT) G OUT
|
---|
15 | I Y<0 W $C(7),!!," Obligation number is required. Use '^' to exit this option.",! G ENA1
|
---|
16 | S Y410=Y
|
---|
17 | S X442=X
|
---|
18 | D NODE^PRCS58OB(+Y,.TRNODE) ; set up TRNODE array from data in 410
|
---|
19 | S X="0101"_$P(TRNODE(0),"-",2),%DT="X" D ^%DT
|
---|
20 | S X2=$E(Y,1,3) ; FY of original 1358
|
---|
21 | S X="0101"_PRC("FY"),%DT="X" D ^%DT
|
---|
22 | S X3=$E(Y,1,3) ; adjustment FY
|
---|
23 | I X2_"-"_$P(TRNODE(0),"-",3)](X3_"-"_PRC("QTR")) D EN^DDIOL("Adjustments cannot be earlier than the original 1358's FY-QTR.") G ENA1
|
---|
24 | N POOBL S POOBL=$P($G(TRNODE(10)),U,3)
|
---|
25 | I POOBL="" D EN^DDIOL(" Obligation number is required.") W ! G ENA1
|
---|
26 | N OBLSTAT S OBLSTAT=$$NP^PRC0B("^PRC(442,"_POOBL_",",7,1)
|
---|
27 | I $G(OBLSTAT)=40 D EN^DDIOL(" Adjusting a closed 1358 request is not allowed.") W ! G ENA1
|
---|
28 | ENA2 N EXIT S EXIT=0
|
---|
29 | D FMSTAT(POOBL,.FMSDOC,.STATUS)
|
---|
30 | I $D(STATUS),"AF"'[$E(STATUS,1) D I EXIT D MSG1,OUT G EN1
|
---|
31 | .Q:STATUS="CALM"
|
---|
32 | .; S TMP=Y,%X="Y",%Y="TMP(" D %XY^%RCR K %X,%Y ; PRC*5*231 - saves Y earlier
|
---|
33 | .K MSG W !
|
---|
34 | .S MSG(1)=" Note that one of the previous documents has not been processed in FMS."
|
---|
35 | .S MSG(2)=" The adjustment to this 1358 cannot be obligated until the previous"
|
---|
36 | .S MSG(3)=" document has been processed in FMS.",MSG(5)=" "
|
---|
37 | .S MSG(6)=" FMS Document: "_FMSDOC,MSG(7)=" Status: "_STATUS
|
---|
38 | .D EN^DDIOL(.MSG) K MSG
|
---|
39 | .W ! D PROMPT
|
---|
40 | .S:Y EXIT=0 I 'Y!($D(DIRUT)) S EXIT=1
|
---|
41 | .Q
|
---|
42 | ;The following lines commented out by PRC*5*231 - Y doesn't need to be restored
|
---|
43 | ; I $D(STATUS) S:"AF"[$E(STATUS,1)!(STATUS="CALM") EXIT=1
|
---|
44 | ENA3 ; I $D(EXIT) I 'EXIT S Y=TMP,%X="TMP",%Y="Y(" D %XY^%RCR,MSG2 K TMP,%X,%Y
|
---|
45 | S PRC442=$P($G(TRNODE(10)),U,3)
|
---|
46 | S PRCSOBN=$$BAL^PRCH58(PRC442) ; get obligation# from file 442,node 8
|
---|
47 | I PRCSOBN'=-1 W !," Original Obligation Amount: $ ",$FN($P(PRCSOBN,U),",P",2)
|
---|
48 | I PRCSOBN'=-1 D
|
---|
49 | .W ?46,"Service Balance: $ ",$FN((+PRCSOBN-$P(PRCSOBN,U,3)),",P",2),!
|
---|
50 | .W ?4," Fiscal's 1358 Balance: $ ",$FN(+PRCSOBN-$P(PRCSOBN,U,2),",P",2),!
|
---|
51 | S Y=Y410,X=X410,X1=X,Z=Z410
|
---|
52 | D EN1^PRCSUT3 Q:'X S X1=X
|
---|
53 | D EN2^PRCSUT3 Q:'$D(X1) S X=X1 ; add data to record in 410
|
---|
54 | W !,"This transaction is assigned transaction number: ",X
|
---|
55 | L +^PRCS(410,DA):0 I $T=0 D EN^DDIOL("File in use.... Please try again later") D KILL G EN1
|
---|
56 | I $D(^PRC(420,PRC("SITE"),1,+PRC("CP"),0)) S:$P(^(0),U,11)="Y" PRCS2=1
|
---|
57 | S PRC410=DA
|
---|
58 | S PRCSIP=$S($D(PRCSIP):PRCSIP,1:"")
|
---|
59 | D ADJ^PRCS58OB(DIC,DA,PRCSIP,.X4)
|
---|
60 | K PRCSOBN
|
---|
61 | D ADJ1^PRCS58OB(DA,X,Y410)
|
---|
62 | D ADJ2^PRCS58OB(.PRC,X442,DA)
|
---|
63 | L -^PRCS(410,DA)
|
---|
64 | S DIR("A")="Enter another increase/decrease adjustment"
|
---|
65 | S DIR(0)="YO",DIR("B")="NO"
|
---|
66 | S DIR("?")="Yes to enter an adjustment, return or '^' to quit"
|
---|
67 | D ^DIR I Y D KILL G EN1
|
---|
68 | OUT K DIRUT,DTOUT,DUOUT
|
---|
69 | KILL K PRC410,PRC442,PRCS,DIE,DR,PRC,PRCSL,PRCS2,DIC,X,X410,X442,X1,X4,PRCSIP,Y,Y410,DIR,TRNODE,Z,Z410,PRCSOBN
|
---|
70 | K DA,FMSDOC,STATUS,TMP
|
---|
71 | QUIT
|
---|
72 | ;
|
---|
73 | ASK ; entry point from other options
|
---|
74 | S DIR(0)="YO"
|
---|
75 | S DIR("A")="Do you want to enter an increase adjustment at this time"
|
---|
76 | S DIR("B")="NO"
|
---|
77 | S DIR("?")="Yes to enter an increase adjustment, return or '^' to quit"
|
---|
78 | D ^DIR I 'Y&'$D(DIRUT) W !!,"No action can be taken with this authorization amount now.",! K DIR Q
|
---|
79 | K DIR,DIC,X,Y I $D(DIRUT) Q
|
---|
80 | G EN
|
---|
81 | ;
|
---|
82 | FMSTAT(POOBL,FMSDOC,STATUS) ; Check status of prior FMS Documents
|
---|
83 | N LOOP,NODE
|
---|
84 | S LOOP=0,(FMSDOC,STATUS)=""
|
---|
85 | F S LOOP=$O(^PRC(442,+POOBL,10,LOOP)) Q:LOOP'>0 D
|
---|
86 | .S NODE=^PRC(442,+POOBL,10,LOOP,0)
|
---|
87 | .I $E(NODE,1,2)="SO"!($E(NODE,1,2)="AR") D
|
---|
88 | ..S FMSDOC=$P($G(^PRC(442,+POOBL,10,LOOP,0)),U,4)
|
---|
89 | ..S STATUS=$$STATUS^GECSSGET(FMSDOC)
|
---|
90 | ..Q
|
---|
91 | .I $E(NODE,1,6)?3N1"."2N S STATUS="CALM"
|
---|
92 | Q
|
---|
93 | PROMPT ;
|
---|
94 | S DIR(0)="Y"
|
---|
95 | S DIR("A")=" Do you wish to create the adjustment to this 1358"
|
---|
96 | S DIR("B")="YES"
|
---|
97 | S DIR("?")=" Enter 'YES' or 'Y' or 'RETURN' to create the adjustment."
|
---|
98 | S DIR("?",1)=" Enter 'NO' or 'N' or '^' to exit."
|
---|
99 | D ^DIR K DIR
|
---|
100 | Q
|
---|
101 | ;
|
---|
102 | MSG1 W ! D EN^DDIOL(" No further action taken on this adjustment.") W ! Q
|
---|
103 | MSG2 W ! D EN^DDIOL(" Returning to creating the 1358 adjustment...") W !! Q
|
---|