| 1 | PRCFFU13 ;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 1358 obligation | 
|---|
| 5 | 1358 ; 1358 Correction | 
|---|
| 6 | N CCEDIT,BOCEDIT D PROMPT | 
|---|
| 7 | Q:'Y!($D(DIRUT)) | 
|---|
| 8 | S ESIGCHK=$$VERIFY^PRCSC1(OB) I 'ESIGCHK W !!,"This 1358 Miscellaneous Obligation has been tampered with.  Please notify IFCAP APPLICATION COORDINATOR." Q | 
|---|
| 9 | S (BOCEDIT,CCEDIT)=0 | 
|---|
| 10 | S OLDCC=$P(TRNODE(3),U,3),OLDBOC=+$P(TRNODE(3),U,6) | 
|---|
| 11 | W !! K MSG S MSG="...now editing Cost Center and BOC information..." D EN^DDIOL(MSG) K MSG W ! | 
|---|
| 12 | D OB^PRCS58OB(DA) | 
|---|
| 13 | S:+OLDCC'=+NEWCC CCEDIT=1 S:+OLDBOC'=+NEWBOC BOCEDIT=1 | 
|---|
| 14 | I CCEDIT!(BOCEDIT) D   Q | 
|---|
| 15 | .S FISCEDIT=1,ESIGMSG="",ROUTINE=$T(+0) | 
|---|
| 16 | .D RECODE^PRCSC1(OB,.ESIGMSG) | 
|---|
| 17 | .I ESIGMSG<1 D | 
|---|
| 18 | ..S:'$D(ROUTINE) ROUTINE=$T(+0) | 
|---|
| 19 | ..W !!,$$ERROR(ROUTINE,ESIGMSG) | 
|---|
| 20 | ..W:ESIGMSG=0!(ESIGMSG=-3) !,"Notify IFCAP APPLICATION COORDINATOR!",$C(7) | 
|---|
| 21 | ..S DIR(0)="EAO",DIR("A")="Press RETURN to continue" D ^DIR K DIR | 
|---|
| 22 | ..Q | 
|---|
| 23 | .N X S X=$P($G(TRNODE(4)),U,5) D VER^PRCH58OB(.PRC,.X) I X]"" D | 
|---|
| 24 | ..S PO=POIEN K ^PRC(442,POIEN,22) S NODE=$G(^PRC(442,POIEN,22,0)) I NODE="" D | 
|---|
| 25 | ...S ^PRC(442,POIEN,22,0)="^"_$P(^DD(442,41,0),U,2) | 
|---|
| 26 | ...N DA S DIE=442,DA=POIEN,DR="3///^S X=+NEWBOC" D ^DIE K DIE,DR | 
|---|
| 27 | ...D MSG1,NODE22^PRCFFU5 | 
|---|
| 28 | .Q | 
|---|
| 29 | D MSG6 | 
|---|
| 30 | Q | 
|---|
| 31 | PROMPT ; Prompt for user | 
|---|
| 32 | S DIR(0)="Y",DIR("A")="Should the Cost Center or BOC information be edited at this time",DIR("B")="NO" | 
|---|
| 33 | S DIR("?")="Enter 'NO' or 'N' or 'RETURN' if no editing is needed." | 
|---|
| 34 | S DIR("?",1)="Enter '^' to exit the option." | 
|---|
| 35 | S DIR("?",2)="Enter 'YES' or 'Y' to edit this information." | 
|---|
| 36 | W ! D ^DIR K DIR | 
|---|
| 37 | Q | 
|---|
| 38 | ; Message processing | 
|---|
| 39 | MSG1 K MSG W !! S MSG="...now recalculating FMS accounting lines..." D EN^DDIOL(MSG) K MSG W ! | 
|---|
| 40 | Q | 
|---|
| 41 | ; | 
|---|
| 42 | MSG2 K MSG W !! S MSG(1)="...Cost Center is missing - cannot continue..." | 
|---|
| 43 | MSG21 S MSG(2)=" ",MSG(3)="No further action is being taken on this obligation." | 
|---|
| 44 | D EN^DDIOL(.MSG) K MSG W ! | 
|---|
| 45 | Q | 
|---|
| 46 | ; | 
|---|
| 47 | MSG3 K MSG W !! S MSG="BOC "_+SA_" is not valid with Cost Center "_$P(PO(0),U,5)_"." | 
|---|
| 48 | D EN^DDIOL(MSG) K MSG W ! | 
|---|
| 49 | Q | 
|---|
| 50 | ; | 
|---|
| 51 | 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" | 
|---|
| 52 | D ^DIR K DIR | 
|---|
| 53 | Q | 
|---|
| 54 | ; | 
|---|
| 55 | MSG5 K MSG W !! S MSG="...now changing the BOCs on all line items..." | 
|---|
| 56 | D EN^DDIOL(MSG) K MSG W ! | 
|---|
| 57 | Q | 
|---|
| 58 | MSG6 I (CCEDIT=1)!(BOCEDIT=1) Q | 
|---|
| 59 | K MSG W !! | 
|---|
| 60 | S MSG(1)=" ",MSG(2)=" " | 
|---|
| 61 | S:CCEDIT=0 MSG(1)="Cost Center has not changed.",MSG(3)=" " | 
|---|
| 62 | S:BOCEDIT=0 MSG(2)="BOC has not changed.",MSG(4)=" " | 
|---|
| 63 | S MSG(5)="No further editing is being done on this obligation.",MSG(6)=" " | 
|---|
| 64 | S MSG(7)="Returning to the Obligation processing." | 
|---|
| 65 | D EN^DDIOL(.MSG) K MSG W ! | 
|---|
| 66 | Q | 
|---|
| 67 | ERROR(ROUTINE,ERROR) ; | 
|---|
| 68 | I ROUTINE'="PRCUESIG" G NEXT | 
|---|
| 69 | I ERROR=-3 Q "NO SIGNATURE BLOCK IN FILE 200." | 
|---|
| 70 | I ERROR=-2 Q "TIME OUT OCCURRED DURING SIGNING PROCESS." | 
|---|
| 71 | I ERROR=-1 Q "USER CANCELLED SIGNING PROCESS." | 
|---|
| 72 | I ERROR=0 Q "INVALID SIGNATURE ENTERED." | 
|---|
| 73 | Q "PROBLEM WITH ELECTRONIC SIGNATURE.  ERROR= "_ERROR_" CALLING ROUTINE "_ROUTINE | 
|---|
| 74 | NEXT I ERROR=-4 Q "CAN'T RE-SIGN RECORD." | 
|---|
| 75 | I ERROR=-3 Q "NO VALID USER NUMBER FOR FILING." | 
|---|
| 76 | I ERROR=-2 Q "NO SIGNATURE BLOCK IN FILE 200." | 
|---|
| 77 | I ERROR=-1 Q "A REQUIRED RECORD IS NULL." | 
|---|
| 78 | Q "PROBLEM WITH ELECTRONIC SIGNATURE.  ERROR= "_ERROR_" CALLING ROUTINE "_ROUTINE | 
|---|
| 79 | Q | 
|---|