| 1 | PRCFFU5 ;WISC/SJG-OBLIGATION PROCESSING UTILITIES ;
 | 
|---|
| 2 |  ;;5.1;IFCAP;;Oct 20, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  QUIT
 | 
|---|
| 6 | FMSFCP(REQST,SPFCP,MP) ;
 | 
|---|
| 7 |  ; REQST - 2237 Request
 | 
|---|
| 8 |  ; MP - Method of Processing
 | 
|---|
| 9 |  ; SPFCP - Supply Fund Control Point
 | 
|---|
| 10 |  ; FLAG - Flag to indicate if CP has been updated
 | 
|---|
| 11 |  ;      - Flag = "Y" when FCP has been updated
 | 
|---|
| 12 |  ;      - Flag = "N" when FCP has not been updated
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  N FLAG S FLAG="N"
 | 
|---|
| 15 |  ; if supp fund, if meth of proc=cert, if 2237 req on PO, then flag="Y"
 | 
|---|
| 16 |  ; if supp fund, if meth of proc=cert, if no 2237 req on PO, then flag ="N"
 | 
|---|
| 17 |  I SPFCP=2,MP=2 S FLAG=$S($G(REQST):"Y",1:"N")
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  ; if supp fund, if meth of proc'=cert, if 2237 request on PO, then flag="N" 
 | 
|---|
| 20 |  I SPFCP=2,MP'=2,$G(REQST) S FLAG="N"
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  ; if not supp fund, if 2237 request on PO, then flag="Y"
 | 
|---|
| 23 |  ; if not supp fund, if 2237 request not on PO, then flag="N"
 | 
|---|
| 24 |  I SPFCP'=2 S FLAG=$S($G(REQST):"Y",1:"N")
 | 
|---|
| 25 |  QUIT FLAG
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 | ASKSITE(FLAG) ; Interface with GECS to prompt for station/fcp
 | 
|---|
| 28 |  N X,Y S ERROR=0
 | 
|---|
| 29 |  D ^PRCSUT
 | 
|---|
| 30 |  I '$D(PRC("SITE")) S ERROR=1 G EXIT
 | 
|---|
| 31 |  I '$D(PRC("CP")) S ERROR=1 G EXIT
 | 
|---|
| 32 |  S BUDSTR=$$ACC^PRC0C(PRC("SITE"),$P(PRC("CP")," ",1))
 | 
|---|
| 33 | EXIT QUIT
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | NODE22 ; Called from PRCH58OB to build Node 22 for 1358 Obligations
 | 
|---|
| 36 |  K PRCTMP
 | 
|---|
| 37 |  N DA S DIC=442,DA=+PO,DIQ="PRCTMP(",DR="3;3.4;4;4.4;13;13.05" D EN^DIQ1 K DIC,DIQ,DR
 | 
|---|
| 38 |  K NODE S NODE=$G(^PRC(442,DA,22,0)) I NODE="" S ^PRC(442,DA,22,0)="^"_$P(^DD(442,41,0),U,2)
 | 
|---|
| 39 |  S STR="3;3.4^4;4.4^13.05;13"
 | 
|---|
| 40 |  F CTR=1:1:3 D
 | 
|---|
| 41 |  .K SUBSTR
 | 
|---|
| 42 |  .S SUBSTR=$P(STR,U,CTR)
 | 
|---|
| 43 |  .S BOC=+$G(PRCTMP(442,DA,$P(SUBSTR,";",1)))
 | 
|---|
| 44 |  .S AMT=$G(PRCTMP(442,DA,$P(SUBSTR,";",2)))
 | 
|---|
| 45 |  .I BOC D
 | 
|---|
| 46 |  ..S DA(1)=DA
 | 
|---|
| 47 |  ..S DIC="^PRC(442,"_DA(1)_",22,",DIC(0)="L",X=BOC
 | 
|---|
| 48 |  ..K DD,DO D FILE^DICN
 | 
|---|
| 49 |  ..N DA S FMSL=CTR,DIE=DIC,DA=+Y,DR="1////^S X=AMT;2////^S X=FMSL" D ^DIE
 | 
|---|
| 50 |  ..K X,Y,DIE,DIC,DR
 | 
|---|
| 51 |  K PRCTMP,FMSL,NODE,STR,SUBSTR
 | 
|---|
| 52 |  QUIT
 | 
|---|
| 53 | BBFY(PO) ; Get FMS Beginning Budget Fiscal Year
 | 
|---|
| 54 |  K PRCTEMP
 | 
|---|
| 55 |  N DA,BBFY S DIC=442,DA=+PO,DIQ="PRCTEMP(",DIQ(0)="IEN",DR=26
 | 
|---|
| 56 |  D EN^DIQ1 K DIC,DIQ,DR
 | 
|---|
| 57 |  S BBFY=$G(PRCTEMP(442,+PO,26,"E")),BBFY=$TR(BBFY," ")
 | 
|---|
| 58 |  K PRCTEMP
 | 
|---|
| 59 |  Q BBFY
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | DELSCH(XDATE) ; Get the Delivery Date from the latest of either the P.O. 
 | 
|---|
| 62 |  ; Delivery Date or the latest date in the Delivery Schedule
 | 
|---|
| 63 |  N LOOP,LOOP1,LOOP2
 | 
|---|
| 64 |  S DELSCH(9999999-DELDATE)="^^"_XDATE
 | 
|---|
| 65 |  I $D(^PRC(442.8,"AC",PRCFA("REF"))) D
 | 
|---|
| 66 |  .S LOOP=0 F  S LOOP=$O(^PRC(442.8,"AC",PRCFA("REF"),LOOP)) Q:LOOP'>0  D
 | 
|---|
| 67 |  ..S LOOP1=0 F  S LOOP1=$O(^PRC(442.8,"AC",PRCFA("REF"),LOOP,LOOP1)) Q:LOOP1'>0  D
 | 
|---|
| 68 |  ...S DELSCH("A",LOOP1)=^PRC(442.8,LOOP1,0)
 | 
|---|
| 69 |  ...S YDATE=$P(DELSCH("A",LOOP1),U,3),DELSCH(9999999-YDATE)=DELSCH("A",LOOP1)
 | 
|---|
| 70 |  S LOOP2="" S DELSCHL=$O(DELSCH(LOOP2))
 | 
|---|
| 71 |  S XDATE=$P(DELSCH(DELSCHL),U,3)
 | 
|---|
| 72 |  K DELSCH,DELSCHL
 | 
|---|
| 73 |  Q XDATE
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 | UPPER(X) ; Convert to 'UPPER' case
 | 
|---|
| 76 |  Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
 | 
|---|
| 77 |  ;
 | 
|---|
| 78 | LOWER(X) ; Convert to 'lower' case
 | 
|---|
| 79 |  Q $TR(X,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
 | 
|---|