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

PRSDPROC.m

Go to the documentation of this file.
  1. PRSDPROC ;SC/GWB-PAID DOWNLOAD PRS GLOBAL PROCESSOR ;5/6/93 13:12
  1. ;;4.0;PAID;**109**;Sep 21, 1995;Build 5
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. I '$D(^XTMP("PRS","TMP")) W !!,"There is no unprocessed PAID download data." R !!,"Press return to continue ",A:DTIME K A Q
  1. TASK S ANS=""
  1. S %=0 W !!,"Do you want to task this job" D YN^DICN
  1. I %=-1 G EXIT
  1. I %=0 W !,?4,*7,"ANSWER 'YES' OR 'NO':" G TASK
  1. I %=1 S ZTRTN="PROC^PRSDPROC",ZTIO="",ZTDESC="PAID DOWNLOAD PROCESSOR" D ^%ZTLOAD Q
  1. S:%=2 ANS="N"
  1. PROC S DATE="",SUB="TMP" D NOW^%DTC S TIME=%
  1. F L1=1:1 S DATE=$O(^XTMP("PRS",SUB,DATE)) Q:DATE="" S TYPE="" F L2=1:1 S TYPE=$O(^XTMP("PRS",SUB,DATE,TYPE)) Q:TYPE="" S STA="" F L3=1:1 S STA=$O(^XTMP("PRS",SUB,DATE,TYPE,STA)) Q:STA="" S ECNT=0 D MSG,START^PRSDSERV,^PRSDSTAT
  1. EXIT D EXIT^PRSDSERV
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. K ANS,L1,L2,L3,TIME
  1. Q
  1. ERR I '$D(^XTMP("PRS","ERR")) W !!,"There are no unprocessed PAID download errors." R !!,"Press return to continue ",A:DTIME K A Q
  1. S DATE="",SUB="ERR"
  1. F L1=1:1 S DATE=$O(^XTMP("PRS",SUB,DATE)) Q:DATE="" S TYPE="" F L2=1:1 S TYPE=$O(^XTMP("PRS",SUB,DATE,TYPE)) Q:TYPE="" S STA="" F L3=1:1 S STA=$O(^XTMP("PRS",SUB,DATE,TYPE,STA)) Q:STA="" S ECNT=0,ANS="" D MSG,START^PRSDSERV
  1. G EXIT
  1. MSG S MTYPE=$S(TYPE="I":"Initial",TYPE="E":"Edit & Update",TYPE="P":"Payrun",TYPE="T":"Transfer",1:"")
  1. Q:'$D(ANS)
  1. W !!,"Processing ",MTYPE," data for station ",STA," for ",$E(DATE,5,6),"/",$E(DATE,7,8),"/",$E(DATE,3,4)," "
  1. Q
  1. PRSD ;R !,"SSN: ",SSN:DTIME G:(SSN["^")!(SSN="") PRSDEX
  1. ;R !,"START WITH MSG #: ",MSGNUM:DTIME G:(MSGNUM["^")!(MSGNUM="") PRSDEX
  1. ;S BSKTIEN=0,BSKTIEN=$O(^XMB(3.7,.5,2,"B","S.PRSD",BSKTIEN))
  1. ;S XMZ=MSGNUM-1 F S XMZ=$O(^XMB(3.7,.5,2,BSKTIEN,1,XMZ)) Q:XMZ'>0 W "." S XMPOS=0 F D REC^XMS3 Q:XMER<0 D
  1. ;.I XMRG["****PDH" S TYPE=XMRG
  1. ;.I XMRG[SSN W !!,XMZ_"-"_XMPOS_TYPE,!!,XMRG
  1. PRSDEX ;K SSN,MSGNUM,BSKTIEN,XMZ,TYPE,XMRG,XMER,XMPOS
  1. ;Q
  1. XMB R !,"APPLICATION: ",APP:DTIME G:(APP["^")!(APP="") XMBEX
  1. R !,"ROUTING IND: ",RI:DTIME G:(RI["^")!(RI="") XMBEX
  1. R !,"DAY NUMBER: ",DN:DTIME G:(DN["^")!(DN="") XMBEX
  1. R !,"SSN: ",SSN:DTIME G:(SSN["^")!(SSN="") XMBEX
  1. S SUB=APP_"/"_RI_" #"_DN,TYPE=""
  1. F S SUB=$O(^XMB(3.9,"B",SUB)) Q:SUB'[APP W "." S XMZ=0,XMZ=$O(^XMB(3.9,"B",SUB,XMZ)) S XMPOS=0 F D REC^XMS3 Q:XMER<0 D
  1. .I XMRG["****PDH" S TYPE=XMRG
  1. .I XMRG[SSN W !!,XMZ_"-"_XMPOS_TYPE,!!,XMRG
  1. XMBEX K APP,RI,DN,SSN,SUB,TYPE,XMZ,XMRG,XMER,XMPOS
  1. Q
  1. FIX R !,"IEN#1: ",IEN1:DTIME G:(IEN1["^")!(IEN1="") FIXEX
  1. R !,"IEN#2: ",IEN2:DTIME G:(IEN2["^")!(IEN2="") FIXEX
  1. S PPIEN=0 F S PPIEN=$O(^PRST(459,PPIEN)) Q:PPIEN'>0 I $D(^PRST(459,PPIEN,"P",IEN1)) D
  1. .W !,"PAY PERIOD ",^PRST(459,PPIEN,0)
  1. .S %X="^PRST(459,PPIEN,""P"","_IEN1_","
  1. .S %Y="^PRST(459,PPIEN,""P"","_IEN2_","
  1. .I '$D(^PRST(459,PPIEN,"P",IEN2)) D %XY^%RCR S $P(^PRST(459,PPIEN,"P",IEN2,0),"^",1)=IEN2,^PRST(459,PPIEN,"P","B",IEN2,IEN2)=""
  1. .K ^PRST(459,PPIEN,"P",IEN1),^PRST(459,PPIEN,"P","B",IEN1,IEN1)
  1. S PPIEN=0 F S PPIEN=$O(^PRST(455,PPIEN)) Q:PPIEN'>0 I $D(^PRST(455,PPIEN,1,IEN1)) D
  1. .W !,"PAY PERIOD ",$P(^PRST(455,PPIEN,0),"^",1)
  1. .S %X="^PRST(455,PPIEN,1,"_IEN1_","
  1. .S %Y="^PRST(455,PPIEN,1,"_IEN2_","
  1. .I '$D(^PRST(455,PPIEN,1,IEN2)) D %XY^%RCR S $P(^PRST(455,PPIEN,1,IEN2,0),"^",1)=IEN2,^PRST(455,PPIEN,1,"B",IEN2,IEN2)=""
  1. .K ^PRST(455,PPIEN,1,IEN1),^PRST(455,PPIEN,1,"B",IEN1,IEN1)
  1. D FIXEX G FIX
  1. FIXEX K IEN1,IEN2,PPIEN,%X,%Y
  1. Q