Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PRCSAPP

PRCSAPP.m

Go to the documentation of this file.
  1. PRCSAPP ;WISC/KMB-NEW 2237 APPROVAL ; 10-27-93 12:00
  1. V ;;5.1;IFCAP;**165**;Oct 20, 2000;Build 12
  1. ;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;Patch PRC*5.1*165 adds a check @SETUP to insure station is not only defined
  1. ; but has a value >0.
  1. START ;
  1. N APPREQ,MESSAGE,YY,XY,SPENDCP,ALL,LOOP,FOUND,PRCS1,%,AA,TEST,II,CPARRAY
  1. N FND,CPVAR,STOP1,SLP,PRCSDA,PRCSI,CONT,LINE
  1. S (FND,STOP1,TEST,FOUND,ALL,PRC("CP"))=0,XY="",AA=0,SPENDCP=0
  1. K CPCK S APPREQ=1 W !!,"Please wait while I check your control points..." D ^PRCSUT1
  1. I '$D(CPCK) W !,"You have no transactions ready for approval." Q
  1. SETUP ; set up array of all cps user has access to
  1. D STA^PRCSUT I $D(DIRUT)!($D(DUOUT)) K DIRUT,DUOUT Q
  1. I '$D(PRC("SITE")) W !,$P($T(MESSAGE+1),";;",2) Q
  1. I +$G(PRC("SITE"))'>0 W !,$P($T(MESSAGE+7),";;",2) G SETUP
  1. S MESSAGE="" D ESIG^PRCUESIG(DUZ,.MESSAGE) I MESSAGE<1 W !,$P($T(MESSAGE+2),";;",2) Q
  1. ;
  1. S (AA,PRC("CP"))=0 F S PRC("CP")=$O(^PRC(420,"A",DUZ,PRC("SITE"),PRC("CP"))) Q:PRC("CP")="" D
  1. .Q:$G(^PRC(420,PRC("SITE"),1,+PRC("CP"),0))=""
  1. .I $P($G(^(0)),"^",19)'=1,$D(^PRC(420,"A",DUZ,PRC("SITE"),PRC("CP"),1)),$D(CPCK(PRC("CP"))) S CPARRAY(AA)=PRC("CP"),AA=AA+1
  1. D INQUIRE W !!,"***END OF PROCESSING***" D LINE K CPCK Q
  1. INQUIRE ;
  1. S %=1 W !,"Loop thru all control points" D YN^DICN Q:%=-1 S:%=1 ALL=1 I %=0 W !,$P($T(MESSAGE+3),";;",2),! H 1 G INQUIRE
  1. INQUIRE1 ;
  1. I %=2 W @IOF D LINE R !,"Select CONTROL POINT: ",XY:DTIME Q:XY["^"!(XY="") I XY'?1.N D SHOW G INQUIRE1
  1. F II=0:1:AA-1 S FOUND=0 Q:STOP1=-1 I $D(CPARRAY(II)) I (+XY=CPARRAY(II)!ALL=1) D PROCESS Q:STOP1=-1!(ALL=0)
  1. I FOUND=0 S %=2 W !,$P($T(MESSAGE+4),";;",2),! D LINE H 2 G INQUIRE1
  1. Q
  1. PROCESS ;
  1. S FOUND=1,PRC("CP")=CPARRAY(II),CONT=0
  1. W @IOF D LINE
  1. S %=1 W !!,"Loop thru all transactions for CP ",CPARRAY(II) D YN^DICN S:%=-1 STOP1=-1 Q:%=-1 I %=0 W !,$P($T(MESSAGE+5),";;",2),! H 1 G PROCESS
  1. I %=1 G PROCESS2
  1. PROCESS1 ;
  1. Q:CONT=1 D LOOKUP Q:(CONT=1) S:$D(Y) YY=+Y D CHECK G PROCESS1
  1. PROCESS2 ;
  1. ; start here if all transactions selected
  1. S CPVAR=PRC("SITE")_"-"_PRC("CP"),SLP="0-0-0"
  1. F PRCSI=0:0 S SLP=$O(^PRCS(410,"F",CPVAR_"-"_$P(SLP,"-",3))) Q:$P(CPVAR,"-",1,2)'=$P(SLP,"-",1,2)!(SLP="") Q:STOP1=-1 S PRCSDA=$O(^PRCS(410,"F",SLP,0)) Q:PRCSDA'>0 I $D(^PRCS(410,PRCSDA,0)) D CHECK
  1. I FND=0 W !,"No transactions found for this control point.",! D LINE
  1. H 2 S FND=0 Q
  1. CHECK ;
  1. S:$D(YY) DA=YY S:$D(PRCSDA) DA=PRCSDA
  1. Q:'$D(DA) S FND=1 D CHEC^PRCSAPP1
  1. ; if all checks are passed, go on for final approval
  1. I SPENDCP=0 D FINAL^PRCSAPP2
  1. S SPENDCP=0 Q
  1. LOOKUP ;
  1. S PRCSID=1,PRC("CP")=CPARRAY(II),DIC="^PRCS(410,",DIC(0)="AEQ",D="F"
  1. S DIC("S")="I +^(0)=PRC(""SITE""),+$P(^(0),""-"",4)=PRC(""CP""),$D(^PRC(420,""A"",DUZ,PRC(""SITE""),PRC(""CP""),1))"
  1. W @IOF D LINE
  1. W !,$P($T(MESSAGE+6),";;",2),!
  1. S DIC("A")="Select TRANSACTION: " D ^PRCSDIC K PRCSID,DIC,DIC("S"),DIC("A")
  1. S:Y<0 CONT=1 Q
  1. SHOW ;
  1. W !,"Select from the following control points: ",!
  1. F II=0:1:AA I $D(CPARRAY(II)) W !,?10,$P($G(^PRC(420,PRC("SITE"),1,CPARRAY(II),0)),"^")
  1. H 4
  1. Q
  1. LINE ;
  1. W ! F LINE=1:1:53 W "_"
  1. W !! Q
  1. MESSAGE ;
  1. ;;Please contact your ADP Site manager to grant system access.
  1. ;;Contact your Site Manager for an electronic signature code.
  1. ;;Enter Yes to loop thru all your CPs, No to select only one.
  1. ;;Control Point has no transactions for approval!
  1. ;;Enter yes or no
  1. ;;Enter the last four digits,i.e.,'0094',of transaction number
  1. ;;Please select site