| 1 | PRCB1A3 ;WIOFO/DWA - CONTROL POINT LISTING W/COST CENTERS ;3/3/04 03:04 AM
 | 
|---|
| 2 |  ;;5.1;IFCAP;**76,74**;Oct 20, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  Q  ;invalid entry
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | EN1 ; entry point for CONTROL POINT LISTING W/COST CENTERS
 | 
|---|
| 7 |  N L,DIC,FLDS,BY,DHD
 | 
|---|
| 8 |  S L=0,DIC="^PRC(420,",FLDS="[PRCB CTRLPT]",BY=".01,1,1"
 | 
|---|
| 9 |  ;S DIS(0)="I $P(^PRC(420,D0,1,D1,0),""^"",19)'=1"
 | 
|---|
| 10 |  S DHD="CONTROL POINT LISTING W/ COST CENTERS          PRINTED BY: "_$$USER^PRCPUREP(DUZ)
 | 
|---|
| 11 |  D EN1^DIP
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 | EN2 ; entry point for CONTROL POINT LISTING W/COST CENTER EXCEPTIONS
 | 
|---|
| 15 |  N STN,CP,CC,ACC,ACT,FUND,CPNAME,I,PAGE,LNCT,TODAY,EXC,CNT,RECORD
 | 
|---|
| 16 |  N CP1,CP2,FUND1,L,LN,LN1,SCREEN,DEV,ABORT,FLG,STN1,%ZIS,ZTDESC
 | 
|---|
| 17 |  N ZTRTN,ZTSAVE,X,Y,PAGE1
 | 
|---|
| 18 |  D NOW^%DTC S Y=% D DD^%DT S TODAY=Y KILL ^XTMP($J)
 | 
|---|
| 19 |  S (STN,CP,CC,ACC,ACT,FUND)=0,DEV=$J
 | 
|---|
| 20 |  F  S STN=$O(^PRC(420,STN)) Q:'STN  D
 | 
|---|
| 21 |  . S CP=0 F  S CP=$O(^PRC(420,STN,1,CP)) Q:'CP!(CP=9999)  D
 | 
|---|
| 22 |  . . S RECORD=$G(^PRC(420,STN,1,CP,0)) I RECORD="" Q
 | 
|---|
| 23 |  . . S FUND=$P(RECORD,"^",2) I 'FUND Q
 | 
|---|
| 24 |  . . S FUND=$P($G(^PRCD(420.3,FUND,0)),"^")
 | 
|---|
| 25 |  . . I (".0160.0162.0152.")'[("."_$E(FUND,1,4)_".") Q
 | 
|---|
| 26 |  . . S CPNAME=$P(RECORD,"^")                ; format, nnn(n) xxxxx xxxx
 | 
|---|
| 27 |  . . S ACT=$P(RECORD,"^",19)                ; 1=inactive
 | 
|---|
| 28 |  . . S ACC=$P($G(^PRC(420,STN,1,CP,5)),"^",3)   ; pointer to ^PRCD(420.131,
 | 
|---|
| 29 |  . . S:'ACC ACC="NONE" D
 | 
|---|
| 30 |  . . . S:ACC'="NONE" ACC=$P($G(^PRCD(420.131,ACC,0)),"^")
 | 
|---|
| 31 |  . . . Q
 | 
|---|
| 32 |  . . S (CC,I)=0 F  S CC=$O(^PRC(420,STN,1,CP,2,CC)) Q:'CC  D
 | 
|---|
| 33 |  . . . D PROCESS
 | 
|---|
| 34 |  . . . I 'EXC Q
 | 
|---|
| 35 |  . . . S I=$G(I)+1
 | 
|---|
| 36 |  . . . S ^XTMP($J,"PRCCPE",STN,FUND,CP,I)=ACT_"^"_CPNAME_"^"_CC_"^"_ACC
 | 
|---|
| 37 |  . . . Q
 | 
|---|
| 38 |  . . Q
 | 
|---|
| 39 |  . Q
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 |  S %ZIS="Q"
 | 
|---|
| 42 |  D ^%ZIS Q:POP
 | 
|---|
| 43 |  I $D(IO("Q")) D  Q
 | 
|---|
| 44 |  . S ZTRTN="QUEUE^PRCB1A3"
 | 
|---|
| 45 |  . S ZTDESC="CONTROL POINT LISTING W/EXCEPTIONS"
 | 
|---|
| 46 |  . S ZTSAVE("TODAY")=""
 | 
|---|
| 47 |  . S ZTSAVE("DUZ")=""
 | 
|---|
| 48 |  . S ZTSAVE("DEV")=""
 | 
|---|
| 49 |  . D ^%ZTLOAD
 | 
|---|
| 50 |  . D HOME^%ZIS
 | 
|---|
| 51 |  . KILL ZTST,IO("Q")
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | QUEUE U IO
 | 
|---|
| 54 |  S (ABORT,PAGE,PAGE1,SCREEN)=0,LN1=45
 | 
|---|
| 55 |  I $E(IOST,1,2)="C-" S SCREEN=1
 | 
|---|
| 56 |  I SCREEN S LN1=17
 | 
|---|
| 57 |  D HDR
 | 
|---|
| 58 |  I SCREEN,IOSL>24 S PAGE1=1
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  S (STN,STN1,CP,CC,ACC,ACT,FUND,FLG)=0
 | 
|---|
| 61 |  S (CP1,CP2,FUND1)=""
 | 
|---|
| 62 |  F  S STN=$O(^XTMP(DEV,"PRCCPE",STN)) Q:'STN  Q:ABORT  D
 | 
|---|
| 63 |  . S FUND=0
 | 
|---|
| 64 |  . F  S FUND=$O(^XTMP(DEV,"PRCCPE",STN,FUND)) Q:'FUND  Q:ABORT  D
 | 
|---|
| 65 |  . . S CP=0
 | 
|---|
| 66 |  . . F  S CP=$O(^XTMP(DEV,"PRCCPE",STN,FUND,CP)) Q:'CP  Q:ABORT  D
 | 
|---|
| 67 |  . . . S CNT=0
 | 
|---|
| 68 |  . . . F  S CNT=$O(^XTMP(DEV,"PRCCPE",STN,FUND,CP,CNT)) Q:'CNT  Q:ABORT  D
 | 
|---|
| 69 |  . . . . S RECORD=^XTMP(DEV,"PRCCPE",STN,FUND,CP,CNT)
 | 
|---|
| 70 |  . . . . S STATUS=$P(RECORD,U)
 | 
|---|
| 71 |  . . . . I STATUS=0 S STATUS="(ACTIVE)"
 | 
|---|
| 72 |  . . . . I STATUS=1 S STATUS="(INACTIVE)"
 | 
|---|
| 73 |  . . . . S CP1=$E($P(RECORD,U,2),1,20)
 | 
|---|
| 74 |  . . . . S CC=$P(RECORD,U,3)
 | 
|---|
| 75 |  . . . . S CC=$G(^PRCD(420.1,CC,0))
 | 
|---|
| 76 |  . . . . S CC=$E($P(CC,U),1,45)
 | 
|---|
| 77 |  . . . . S ACC=$P(RECORD,U,4)
 | 
|---|
| 78 |  . . . . I STN'=STN1 S FUND1=FUND W !!,STN,?6,FUND S LN=LN+1
 | 
|---|
| 79 |  . . . . I FUND'=FUND1 S CP2=CP1 W !!,?7,FUND,!,?9,CP1," ",STATUS S LN=LN+1
 | 
|---|
| 80 |  . . . . I CP1'=CP2 W !!,?9,CP1," ",STATUS S LN=LN+1
 | 
|---|
| 81 |  . . . . W !,?13,CC,?60,ACC S LN=LN+1
 | 
|---|
| 82 |  . . . . I STN'=STN1 S STN1=STN
 | 
|---|
| 83 |  . . . . I FUND'=FUND1 S FUND1=FUND
 | 
|---|
| 84 |  . . . . I CP1'=CP2 S CP2=CP1
 | 
|---|
| 85 |  . . . . I LN>LN1 D HDR:'PAGE1 Q:ABORT 
 | 
|---|
| 86 |  ;
 | 
|---|
| 87 |  I 'ABORT W !!,"<End of Report>" R:SCREEN X:100
 | 
|---|
| 88 |  D ^%ZISC
 | 
|---|
| 89 |  Q
 | 
|---|
| 90 |  ;
 | 
|---|
| 91 |  ;--------------------------------------------------------------------
 | 
|---|
| 92 | PROCESS ; determine if exception exists
 | 
|---|
| 93 |  S EXC=0
 | 
|---|
| 94 |  ;
 | 
|---|
| 95 |  I $E(FUND,1,4)="0160" D
 | 
|---|
| 96 |  . I CC<820100 S EXC=1
 | 
|---|
| 97 |  . I CC>836400,CC<860100 S EXC=1
 | 
|---|
| 98 |  . I CC>860300,CC<875000 S EXC=1
 | 
|---|
| 99 |  . I CC>875200,CC<895900 S EXC=1
 | 
|---|
| 100 |  . I CC>895900,CC<899100 S EXC=1
 | 
|---|
| 101 |  . I CC>899600 S EXC=1
 | 
|---|
| 102 |  . I CC=824300 S EXC=1
 | 
|---|
| 103 |  . Q
 | 
|---|
| 104 |  ;
 | 
|---|
| 105 |  I $E(FUND,1,4)="0152" D
 | 
|---|
| 106 |  . I CC<800100 S EXC=1
 | 
|---|
| 107 |  . I CC>808300,CC<840100 S EXC=1
 | 
|---|
| 108 |  . I CC>847000,CC<860500 S EXC=1
 | 
|---|
| 109 |  . I CC>861700,CC<864900 S EXC=1
 | 
|---|
| 110 |  . I CC>866000,CC<895000 S EXC=1
 | 
|---|
| 111 |  . I CC>895900 S EXC=1
 | 
|---|
| 112 |  . I CC=863100 S EXC=0
 | 
|---|
| 113 |  . Q
 | 
|---|
| 114 |  ;
 | 
|---|
| 115 |  I $E(FUND,1,4)="0162" D
 | 
|---|
| 116 |  . I CC<850100 S EXC=1
 | 
|---|
| 117 |  . I CC>857500,CC<860400 S EXC=1
 | 
|---|
| 118 |  . I CC>860400,CC<862100 S EXC=1
 | 
|---|
| 119 |  . I CC>862300 S EXC=1
 | 
|---|
| 120 |  . I CC=824300 S EXC=0
 | 
|---|
| 121 |  . Q
 | 
|---|
| 122 |  ;
 | 
|---|
| 123 |  Q
 | 
|---|
| 124 |  ;
 | 
|---|
| 125 |  ;--------------------------------------------------------------
 | 
|---|
| 126 | HDR ;PRINT THE HEADER
 | 
|---|
| 127 |  I SCREEN,PAGE R !!,"Hit <RETURN> to continue, '^' to Exit ",X:100
 | 
|---|
| 128 |  ;
 | 
|---|
| 129 |  I SCREEN,X["^" S ABORT=1 Q
 | 
|---|
| 130 |  ;
 | 
|---|
| 131 |  S PAGE=$G(PAGE)+1
 | 
|---|
| 132 |  W #
 | 
|---|
| 133 |  W "CONTROL POINT LISTING W/EXCEPTIONS          "
 | 
|---|
| 134 |  W "PRINTED BY: "_$$USER^PRCPUREP(DUZ)
 | 
|---|
| 135 |  W !,"                                            "_TODAY
 | 
|---|
| 136 |  W "     PAGE ",PAGE
 | 
|---|
| 137 |  W !!,"STA#  FUND"
 | 
|---|
| 138 |  W !,"         CONTROL POINT                                      ACC"
 | 
|---|
| 139 |  W !,"             COST CENTER"
 | 
|---|
| 140 |  W ! F L=1:1:80 W "-"
 | 
|---|
| 141 |  S LN=8
 | 
|---|
| 142 |  Q
 | 
|---|