| 1 | PRCFFU12 ;WISC/SJG-ROUTINE TO PROCESS OBLIGATIONS CONT ;6/13/94  14:34
 | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ; Allows Fiscal to edit Cost Center and BOCs prior to PO obligation
 | 
|---|
| 5 | PO ; PO Correction
 | 
|---|
| 6 |  ; Fiscal cannot edit if FCP is a Special Fund Control Point (2)
 | 
|---|
| 7 |  N CCEDIT,BOCEDIT,ESHEDIT D PROMPT
 | 
|---|
| 8 |  S (CCEDIT,BOCEDIT,ESHEDIT)=0
 | 
|---|
| 9 |  Q:'Y!($D(DIRUT))
 | 
|---|
| 10 |  I Y D
 | 
|---|
| 11 |  .I +$P(PCP,"^",2)=2 D MSG7 Q
 | 
|---|
| 12 |  .I +$P(PCP,"^",2)<2!(+$P(PCP,"^",2)>2) D CCEDIT,SAEDIT
 | 
|---|
| 13 |  I (CCEDIT=0)&(BOCEDIT=0)&(ESHEDIT=1) S PRCHPO=PRCFA("PODA") D MSG1,^PRCHSF
 | 
|---|
| 14 |  QUIT
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 | CCEDIT ; Cost Center edit
 | 
|---|
| 17 |  S CCEDIT=0,OLDCC=$P(PO(0),U,5)
 | 
|---|
| 18 |  W !! N MSG S MSG(1)="...now editing the Cost Center...",MSG(2)="" D EN^DDIOL(.MSG)
 | 
|---|
| 19 |  S DA=PRCFA("PODA"),DR="2;",DIE="^PRC(442," D ^DIE K DIE,DR
 | 
|---|
| 20 |  S NEWCC=X I OLDCC'=NEWCC S (FISCEDIT,CCEDIT)=1,PO(0)=^PRC(442,DA,0)
 | 
|---|
| 21 |  Q
 | 
|---|
| 22 | SAEDIT ; BOC Edit
 | 
|---|
| 23 |  D ESHEDIT
 | 
|---|
| 24 |  S BOCEDIT=0
 | 
|---|
| 25 |  W !! N MSG S MSG(1)="...now editing the line item BOCs...",MSG(2)="" D EN^DDIOL(.MSG)
 | 
|---|
| 26 |  K DIR S DIR(0)="Y",DIR("A")="Do you wish to assign the same BOC to ALL items",DIR("B")="NO"
 | 
|---|
| 27 |  D ^DIR K DIR W !!
 | 
|---|
| 28 |  G:Y ALLITEMS
 | 
|---|
| 29 |  K DIR S DIR(0)="Y",DIR("A")="Do you wish to edit specific line items",DIR("B")="YES"
 | 
|---|
| 30 |  D ^DIR K DIR
 | 
|---|
| 31 |  G:Y ONEITEM
 | 
|---|
| 32 |  I 'Y!($D(DIRUT)) D MSG6 Q
 | 
|---|
| 33 |  Q
 | 
|---|
| 34 | ONEITEM ; Edit BOC for one item
 | 
|---|
| 35 |  S BOCEDIT=0
 | 
|---|
| 36 |  S DIC("A")="Select ITEM: ",DA(1)=PRCFA("PODA"),DIC="^PRC(442,"_DA(1)_",2,",DIC(0)="AEQMZ" D ^DIC K DIC("A")
 | 
|---|
| 37 |  I Y<0 S:X["^" PRCFOUT="" S (PRCHPO,DA)=PRCFA("PODA"),(FISCEDIT,BOCEDIT)=1 D MSG1,^PRCHSF S PO(0)=^PRC(442,PRCFA("PODA"),0) S %=$S($D(PRCFOUT):-1,1:1) Q
 | 
|---|
| 38 |  S DA=+Y,DIE=DIC,DR=3.5 D ^DIE S DIC("A")="Select Next ITEM: ",(D0,DA)=PRCFA("PODA") G ONEITEM
 | 
|---|
| 39 | ALLITEMS ; Edit BOCs for all items
 | 
|---|
| 40 |  S BOCEDIT=0
 | 
|---|
| 41 |  S DIC=420.2,DIC(0)="AQEMNZ" D ^DIC I Y<0 D MSG6 Q
 | 
|---|
| 42 |  S SA=+Y I $P(PO(0),"^",5)="" D MSG2 G OUT3^PRCFFMO1
 | 
|---|
| 43 |  S SA=$P(Y(0),U) I '$D(^PRCD(420.1,$P(PO(0),"^",5),1,+SA)) W $C(7) D MSG3 G ALLITEMS
 | 
|---|
| 44 |  I 'Y!($D(DIRUT)) W !! D MSG21 G OUT^PRCFFMO1
 | 
|---|
| 45 |  D MSG4 I 'Y!($D(DIRUT)) D MSG6 Q
 | 
|---|
| 46 |  D MSG5 S ITEM=0 F  S ITEM=$O(^PRC(442,PRCFA("PODA"),2,ITEM)) Q:'ITEM  D
 | 
|---|
| 47 |  .S DA(1)=PRCFA("PODA"),DA=ITEM,DIE="^PRC(442,"_DA(1)_",2,",DR="3.5///^S X=SA" D ^DIE K DIE,DR
 | 
|---|
| 48 |  K SA S (PRCHPO,DA)=PRCFA("PODA"),(FISCEDIT,BOCEDIT)=1 D MSG1,^PRCHSF S PO(0)=^PRC(442,PRCFA("PODA"),0)
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 | PROMPT ; Prompt for user
 | 
|---|
| 51 |  S DIR(0)="Y",DIR("A")="Should the Cost Center or BOC information be edited at this time",DIR("B")="NO"
 | 
|---|
| 52 |  S DIR("?")="Enter 'NO' or 'N' or 'RETURN' if no editing is needed."
 | 
|---|
| 53 |  S DIR("?",1)="Enter '^' to exit the option."
 | 
|---|
| 54 |  S DIR("?",2)="Enter 'YES' or 'Y' to edit this information."
 | 
|---|
| 55 |  W ! D ^DIR K DIR
 | 
|---|
| 56 |  Q
 | 
|---|
| 57 | ESHEDIT ; Edit Shipping BOC
 | 
|---|
| 58 |  S ESHEDIT=0
 | 
|---|
| 59 |  D GENDIQ^PRCFFU7(442,+PO,"13;13.05","IEN","")
 | 
|---|
| 60 |  I $G(PRCTMP(442,+PO,13,"I"))="" Q
 | 
|---|
| 61 |  I $G(PRCTMP(442,+PO,13,"I")) D
 | 
|---|
| 62 |  .K MSG W !!
 | 
|---|
| 63 |  .S MSG(1)="...now editing Estimated Shipping BOC...",MSG(2)=" ",MSG(3)="The BOC for Estimated Shipping is '"_$G(PRCTMP(442,+PO,13.05,"E"))_"'."
 | 
|---|
| 64 |  .D EN^DDIOL(.MSG) K MSG
 | 
|---|
| 65 |  .S DIR(0)="Y",DIR("A")="Should I change the BOC for Estimated Shipping",DIR("B")="YES" W ! D ^DIR K DIR
 | 
|---|
| 66 |  .I 'Y!($D(DIRUT)) W ! D EN^DDIOL("No change made to Shipping BOC.") Q
 | 
|---|
| 67 |  .I Y D
 | 
|---|
| 68 |  ..W !
 | 
|---|
| 69 |  ..S DA=+PO,DIE=442,DR=13.05 D ^DIE K DIE,DR
 | 
|---|
| 70 |  ..S (ESHEDIT,FISCEDIT)=1
 | 
|---|
| 71 |  ..Q
 | 
|---|
| 72 |  .Q
 | 
|---|
| 73 |  K PRCTMP(442,+PO,13),PRCTMP(442,+PO,13.05)
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 |  ; Message processing
 | 
|---|
| 76 | MSG1 K MSG W !! S MSG="...now recalculating FMS accounting lines..." D EN^DDIOL(MSG) K MSG W !
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 | MSG2 K MSG W !! S MSG(1)="...Cost Center is missing - cannot continue..."
 | 
|---|
| 80 | MSG21 S MSG(2)=" ",MSG(3)="No further action is being taken on this obligation."
 | 
|---|
| 81 |  D EN^DDIOL(.MSG) K MSG W !
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 | MSG3 K MSG W !! S MSG(1)="BOC '"_SA_"' is not valid with Cost Center "_$P(PO(0),U,5)_".",MSG(2)="Please ensure that this BOC is properly linked with the Cost Center."
 | 
|---|
| 85 |  D EN^DDIOL(.MSG) K MSG W !
 | 
|---|
| 86 |  Q
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 | MSG4 W !! S DIR(0)="Y",DIR("A",1)="I will now enter BOC '"_SA_"' on all line items.",DIR("A")="Is this OK",DIR("B")="YES"
 | 
|---|
| 89 |  D ^DIR K DIR
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 | MSG5 K MSG W !! S MSG="...now changing the BOCs on all line items..."
 | 
|---|
| 93 |  D EN^DDIOL(MSG) K MSG W !
 | 
|---|
| 94 |  Q
 | 
|---|
| 95 | MSG6 I (CCEDIT=1)!(BOCEDIT=1)!(ESHEDIT=1) Q
 | 
|---|
| 96 |  K MSG W !!
 | 
|---|
| 97 |  S MSG(1)="",MSG(2)=""
 | 
|---|
| 98 |  S:CCEDIT=0 MSG(1)="Cost Center has not changed.",MSG(3)=" "
 | 
|---|
| 99 |  S:BOCEDIT=0 MSG(2)="BOC has not changed.",MSG(4)=" "
 | 
|---|
| 100 |  S MSG(5)="No further editing is being done on this obligation.",MSG(6)=" "
 | 
|---|
| 101 |  S MSG(7)="Returning to the Obligation processing."
 | 
|---|
| 102 |  D EN^DDIOL(.MSG) K MSG W !
 | 
|---|
| 103 |  Q
 | 
|---|
| 104 | MSG7 ;
 | 
|---|
| 105 |  K MSG W !! S MSG(1)="Cost Center and BOCs cannot be edited for Supply Fund orders."
 | 
|---|
| 106 |  S MSG(2)=" "
 | 
|---|
| 107 |  S MSG(3)="Returning to the Obligation processing."
 | 
|---|
| 108 |  D EN^DDIOL(.MSG) K MSG
 | 
|---|
| 109 |  Q
 | 
|---|