Released PRS*4*115 SEQ #111 Extracted from mail message **KIDS**:PRS*4.0*115^ **INSTALL NAME** PRS*4.0*115 "BLD",7564,0) PRS*4.0*115^PAID^0^3080826^y "BLD",7564,1,0) ^^1^1^3080825^ "BLD",7564,1,1,0) TOUR CHANGE PROBLEM;LD DISPLAY ERROR;LEAVE USED REPORT CORRECTION "BLD",7564,4,0) ^9.64PA^^ "BLD",7564,6.3) 2 "BLD",7564,"ABPKG") n "BLD",7564,"KRN",0) ^9.67PA^8989.52^19 "BLD",7564,"KRN",.4,0) .4 "BLD",7564,"KRN",.4,"NM",0) ^9.68A^^ "BLD",7564,"KRN",.401,0) .401 "BLD",7564,"KRN",.402,0) .402 "BLD",7564,"KRN",.403,0) .403 "BLD",7564,"KRN",.5,0) .5 "BLD",7564,"KRN",.84,0) .84 "BLD",7564,"KRN",3.6,0) 3.6 "BLD",7564,"KRN",3.8,0) 3.8 "BLD",7564,"KRN",9.2,0) 9.2 "BLD",7564,"KRN",9.8,0) 9.8 "BLD",7564,"KRN",9.8,"NM",0) ^9.68A^3^3 "BLD",7564,"KRN",9.8,"NM",1,0) PRSRLL^^0^B8267026 "BLD",7564,"KRN",9.8,"NM",2,0) PRSATE1^^0^B3156271 "BLD",7564,"KRN",9.8,"NM",3,0) PRSALD^^0^B14193262 "BLD",7564,"KRN",9.8,"NM","B","PRSALD",3) "BLD",7564,"KRN",9.8,"NM","B","PRSATE1",2) "BLD",7564,"KRN",9.8,"NM","B","PRSRLL",1) "BLD",7564,"KRN",19,0) 19 "BLD",7564,"KRN",19.1,0) 19.1 "BLD",7564,"KRN",101,0) 101 "BLD",7564,"KRN",409.61,0) 409.61 "BLD",7564,"KRN",771,0) 771 "BLD",7564,"KRN",870,0) 870 "BLD",7564,"KRN",8989.51,0) 8989.51 "BLD",7564,"KRN",8989.52,0) 8989.52 "BLD",7564,"KRN",8994,0) 8994 "BLD",7564,"KRN","B",.4,.4) "BLD",7564,"KRN","B",.401,.401) "BLD",7564,"KRN","B",.402,.402) "BLD",7564,"KRN","B",.403,.403) "BLD",7564,"KRN","B",.5,.5) "BLD",7564,"KRN","B",.84,.84) "BLD",7564,"KRN","B",3.6,3.6) "BLD",7564,"KRN","B",3.8,3.8) "BLD",7564,"KRN","B",9.2,9.2) "BLD",7564,"KRN","B",9.8,9.8) "BLD",7564,"KRN","B",19,19) "BLD",7564,"KRN","B",19.1,19.1) "BLD",7564,"KRN","B",101,101) "BLD",7564,"KRN","B",409.61,409.61) "BLD",7564,"KRN","B",771,771) "BLD",7564,"KRN","B",870,870) "BLD",7564,"KRN","B",8989.51,8989.51) "BLD",7564,"KRN","B",8989.52,8989.52) "BLD",7564,"KRN","B",8994,8994) "BLD",7564,"QDEF") ^^^^NO^^^^NO^^YES "BLD",7564,"QUES",0) ^9.62^^ "BLD",7564,"REQB",0) ^9.611^2^2 "BLD",7564,"REQB",1,0) PRS*4.0*61^1 "BLD",7564,"REQB",2,0) PRS*4.0*114^1 "BLD",7564,"REQB","B","PRS*4.0*114",2) "BLD",7564,"REQB","B","PRS*4.0*61",1) "MBREQ") 0 "PKG",408,-1) 1^1 "PKG",408,0) PAID^PRS^PAID "PKG",408,20,0) ^9.402P^^ "PKG",408,22,0) ^9.49I^1^1 "PKG",408,22,1,0) 4.0^2950912^2960130 "PKG",408,22,1,"PAH",1,0) 115^3080826 "PKG",408,22,1,"PAH",1,1,0) ^^1^1^3080826 "PKG",408,22,1,"PAH",1,1,1,0) TOUR CHANGE PROBLEM;LD DISPLAY ERROR;LEAVE USED REPORT CORRECTION "QUES","XPF1",0) Y "QUES","XPF1","??") ^D REP^XPDH "QUES","XPF1","A") Shall I write over your |FLAG| File "QUES","XPF1","B") YES "QUES","XPF1","M") D XPF1^XPDIQ "QUES","XPF2",0) Y "QUES","XPF2","??") ^D DTA^XPDH "QUES","XPF2","A") Want my data |FLAG| yours "QUES","XPF2","B") YES "QUES","XPF2","M") D XPF2^XPDIQ "QUES","XPI1",0) YO "QUES","XPI1","??") ^D INHIBIT^XPDH "QUES","XPI1","A") Want KIDS to INHIBIT LOGONs during the install "QUES","XPI1","B") NO "QUES","XPI1","M") D XPI1^XPDIQ "QUES","XPM1",0) PO^VA(200,:EM "QUES","XPM1","??") ^D MG^XPDH "QUES","XPM1","A") Enter the Coordinator for Mail Group '|FLAG|' "QUES","XPM1","B") "QUES","XPM1","M") D XPM1^XPDIQ "QUES","XPO1",0) Y "QUES","XPO1","??") ^D MENU^XPDH "QUES","XPO1","A") Want KIDS to Rebuild Menu Trees Upon Completion of Install "QUES","XPO1","B") NO "QUES","XPO1","M") D XPO1^XPDIQ "QUES","XPZ1",0) Y "QUES","XPZ1","??") ^D OPT^XPDH "QUES","XPZ1","A") Want to DISABLE Scheduled Options, Menu Options, and Protocols "QUES","XPZ1","B") YES "QUES","XPZ1","M") D XPZ1^XPDIQ "QUES","XPZ2",0) Y "QUES","XPZ2","??") ^D RTN^XPDH "QUES","XPZ2","A") Want to MOVE routines to other CPUs "QUES","XPZ2","B") NO "QUES","XPZ2","M") D XPZ2^XPDIQ "RTN") 3 "RTN","PRSALD") 0^3^B14193262^B7274044 "RTN","PRSALD",1,0) PRSALD ;HISC/MGD-Labor Distribution Codes Edit ;06/28/2003 "RTN","PRSALD",2,0) ;;4.0;PAID;**82,114,115**;Sep 21, 1995;Build 2 "RTN","PRSALD",3,0) ;;Per VHA Directive 2004-038, this routine should not be modified. "RTN","PRSALD",4,0) ;Patch *115 modifies tag POST to display via roll & scroll in place of Screenman view "RTN","PRSALD",5,0) Q "RTN","PRSALD",6,0) PAY ; Payroll Entry "RTN","PRSALD",7,0) N PPERIOD,PRSCNT,PRSDSH,PRSLIN,PRSREC,PRSQUIT "RTN","PRSALD",8,0) S PRSTLV=7 "RTN","PRSALD",9,0) P1 K DIC S DIC("A")="Select EMPLOYEE: ",DIC(0)="AEQM",DIC="^PRSPC(" "RTN","PRSALD",10,0) W ! D ^DIC S DFN=+Y K DIC G:DFN<1 EX "RTN","PRSALD",11,0) S TLE=$P($G(^PRSPC(DFN,0)),"^",8) "RTN","PRSALD",12,0) D POST "RTN","PRSALD",13,0) G P1 "RTN","PRSALD",14,0) Q "RTN","PRSALD",15,0) TL ; Timekeeper Entry. Select T & L Unit "RTN","PRSALD",16,0) N PP,PPE,PPI,PRSTLV,TLI "RTN","PRSALD",17,0) S PRSTLV=2 D ^PRSAUTL G:TLI<1 EX "RTN","PRSALD",18,0) ; "RTN","PRSALD",19,0) LASTPP ; Get Last PP received in 459 "RTN","PRSALD",20,0) S PP="A" "RTN","PRSALD",21,0) S PP=$O(^PRST(459,PP),-1) "RTN","PRSALD",22,0) S PPE=$P($G(^PRST(459,PP,0)),"^",1) "RTN","PRSALD",23,0) S PPI="" "RTN","PRSALD",24,0) S PPI=$O(^PRST(458,"B",PPE,PPI)) "RTN","PRSALD",25,0) S PPE=PPE_" "_$P($G(^PRST(458,PPI,2)),"^",1)_" -> "_$P($G(^PRST(458,PPI,2)),"^",14) "RTN","PRSALD",26,0) ; "RTN","PRSALD",27,0) NME ; Select individual employee "RTN","PRSALD",28,0) K DIC S DIC("A")="Select EMPLOYEE: ",DIC("S")="I $P(^(0),""^"",8)=TLE,$D(^PRST(458,PPI,""E"",+Y))",DIC(0)="AEQM",DIC="^PRSPC(",D="ATL"_TLE W ! D IX^DIC S DFN=+Y K DIC "RTN","PRSALD",29,0) G:DFN<1 EX S GLOB="" D POST D:GLOB]"" UNLOCK^PRSLIB00(GLOB) G NME "RTN","PRSALD",30,0) ; "RTN","PRSALD",31,0) EX ; Clean up variables and Exit "RTN","PRSALD",32,0) K D,DA,DDSFILE,DFN,DR,GLOB,LP,NN,TLE,Y,ZS,% "RTN","PRSALD",33,0) G KILL^XUSCLEAN "RTN","PRSALD",34,0) ; "RTN","PRSALD",35,0) POST ; Edit & Post Labor Distribution Codes "RTN","PRSALD",36,0) Q:'DFN "RTN","PRSALD",37,0) S DA=DFN,PRSDSH="",PRSLIN="",$P(PRSDSH,"-",81)="",$P(PRSLIN,"_",81)="" "RTN","PRSALD",38,0) ;S DDSFILE=450,DR="[PRSA LD POST]" "RTN","PRSALD",39,0) ;D ^DDS K DS Q:'$D(ZS) "RTN","PRSALD",40,0) ;new roll & scroll display for labor dist "RTN","PRSALD",41,0) S PRSREC=$G(^PRSPC(DFN,0)) "RTN","PRSALD",42,0) W @IOF,$P(PRSREC,U),?26,"VA TIME & ATTENDANCE SYSTEM" S Y=$P(PRSREC,U,9) W ?68,$S(PRSTLV=2&Y:$E(Y)_"XX-XX-"_$E(Y,6,9),PRSTLV=7&Y:$E(Y,1,3)_"-"_$E(Y,4,5)_"-"_$E(Y,6,9),1:"XXX-XX-XXXX") "RTN","PRSALD",43,0) W !,"Station: ",$P(PRSREC,U,8),?28,"Labor Distribution Codes",?71,"T&L: ",$P(PRSREC,U,8) "RTN","PRSALD",44,0) W !,?21,$G(PPE) "RTN","PRSALD",45,0) W !!,?12,"CODE",?24,"PERCENT",?40,"COST CENTER",?59,"FUND CTRL PT",!,PRSDSH "RTN","PRSALD",46,0) F PRSCNT=1:1:4 S PRSREC=$G(^PRSPC(DA,"LD",PRSCNT,0)) W !,"LD CODE" I PRSREC'="" W ?8,PRSCNT,?12,$P(PRSREC,U,2),?25,$P(PRSREC,U,3),?43,$P(PRSREC,U,4),?64,$P(PRSREC,U,5) "RTN","PRSALD",47,0) W !!! "RTN","PRSALD",48,0) F PRSCNT=1:1:4 S PRSREC=$G(^PRSPC(DA,"LD",PRSCNT,0)) W !,"COST CENTER" I PRSREC'="" W ?12,PRSCNT,?14,$P(PRSREC,U,4),?21 D "RTN","PRSALD",49,0) . S Y=$P(PRSREC,U,4),SUB454="CC" D OT^PRSDUTIL "RTN","PRSALD",50,0) . K SUB454 S PRSREC=Y "RTN","PRSALD",51,0) . W PRSREC "RTN","PRSALD",52,0) W !!,PRSLIN,!!!,"END OF DISPLAY, HIT RETURN TO QUIT" R PRSQUIT:120 "RTN","PRSALD",53,0) W @IOF "RTN","PRSALD",54,0) Q "RTN","PRSALD",55,0) ; "RTN","PRSALD",56,0) ; The following code will be implemented in Phase 2 of the Labor Dist. "RTN","PRSALD",57,0) ; "RTN","PRSALD",58,0) D2 ; Select All or individual employee "RTN","PRSALD",59,0) W !!,"Would you like to edit the Labor Codes in alphabetical order" "RTN","PRSALD",60,0) S %=1 D YN^DICN I % S LP=% G EX:%=-1,LOOP:%=1,NME "RTN","PRSALD",61,0) W !!,"Answer YES if you want all RECORDs brought up for which no data" "RTN","PRSALD",62,0) W !,"has been entered." G D2 "RTN","PRSALD",63,0) Q "RTN","PRSALD",64,0) ; "RTN","PRSALD",65,0) LOOP ; Loop through all employees in selected T & L "RTN","PRSALD",66,0) S LP=1,NN="" "RTN","PRSALD",67,0) F S NN=$O(^PRSPC("ATL"_TLE,NN)) Q:NN="" D "RTN","PRSALD",68,0) . F DFN=0:0 S DFN=$O(^PRSPC("ATL"_TLE,NN,DFN)) Q:DFN<1 D "RTN","PRSALD",69,0) . . S GLOB="" D POST D:GLOB]"" UNLOCK^PRSLIB00(GLOB) I 'LP G EX "RTN","PRSALD",70,0) G EX "RTN","PRSALD",71,0) Q "RTN","PRSALD",72,0) ; "RTN","PRSALD",73,0) PP ; Select Pay Period "RTN","PRSALD",74,0) S DIC="^PRST(458,",DIC(0)="AEQZ",D="B" "RTN","PRSALD",75,0) D IX^DIC "RTN","PRSALD",76,0) Q:Y=-1 "RTN","PRSALD",77,0) S PPI=+Y,PPE="PP "_$P(Y,"^",2)_" " "RTN","PRSALD",78,0) S PPE=PPE_$P($G(^PRST(458,PPI,2)),"^",1)_" -> "_$P($G(^PRST(458,PPI,2)),"^",14) "RTN","PRSALD",79,0) ; "RTN","PRSALD",80,0) LDOUT ; Convert LABOR DIST CODE EDITED BY field into its external format. "RTN","PRSALD",81,0) ; "RTN","PRSALD",82,0) I "IETP"'[Y&('+Y) D Q "RTN","PRSALD",83,0) . S Y="Unknown" "RTN","PRSALD",84,0) I Y="I" S Y="Initial Download" "RTN","PRSALD",85,0) I Y="E" S Y="Edit & Update Download" "RTN","PRSALD",86,0) I Y="T" S Y="Transfer Download" "RTN","PRSALD",87,0) I Y="P" S Y="Payrun Download" "RTN","PRSALD",88,0) I +Y D "RTN","PRSALD",89,0) . S Y=$P($G(^VA(200,Y,0)),"^",1) "RTN","PRSALD",90,0) . I Y="" S Y="Unknown" "RTN","PRSALD",91,0) Q "RTN","PRSATE1") 0^2^B3156271^B1276024 "RTN","PRSATE1",1,0) PRSATE1 ; HISC/REL-Display Tour Change ;5/5/93 10:40 "RTN","PRSATE1",2,0) ;;4.0;PAID;**115**;Sep 21, 1995;Build 2 "RTN","PRSATE1",3,0) ;;Per VHA Directive 2004-038, this routine should not be modified. "RTN","PRSATE1",4,0) LST ; Display Change "RTN","PRSATE1",5,0) N PRSDAYN,X,X1,X2,PRSD1,PRSD2,PRSDNP1,PRSDNP2,PRSDW,PRSNXT,PRSWREC "RTN","PRSATE1",6,0) W !?34,"Tour Change",!," Date",?14,"Scheduled Tour",?45,"Permanent Tour",?75,"Type" "RTN","PRSATE1",7,0) S PRSD1=$G(^PRST(458,PPI,1)),PRSD2=$G(^PRST(458,PPI,2)) "RTN","PRSATE1",8,0) S PRSDNP1=$G(^PRST(458,PPI+1,1)),PRSDNP2=$G(^PRST(458,PPI+1,2)) "RTN","PRSATE1",9,0) S PRSNXT=0 "RTN","PRSATE1",10,0) F DAY=0:0 S DAY=$O(^PRST(458,"ATC",DFN,PPI,DAY)) Q:DAY=""!PRSNXT D "RTN","PRSATE1",11,0) . I $P($G(^PRST(458,PPI,"E",DFN,"D",DAY,0)),U,3)=2 S PRSNXT=1 "RTN","PRSATE1",12,0) . Q "RTN","PRSATE1",13,0) F DAY=0:0 S DAY=$O(^PRST(458,"ATC",DFN,PPI,DAY)) Q:DAY="" D L1 "RTN","PRSATE1",14,0) Q "RTN","PRSATE1",15,0) L1 S PRSWREC=$G(^PRST(458,PPI,"E",DFN,"D",DAY,0)),TD=$P(PRSWREC,U,2) "RTN","PRSATE1",16,0) S PRSDW=$P(PRSD2,U,DAY) "RTN","PRSATE1",17,0) I PRSNXT D "RTN","PRSATE1",18,0) . I $P(PRSDNP1,U,DAY) S PRSDW=$P(PRSDNP2,U,DAY) Q "RTN","PRSATE1",19,0) . S PRSDW=$P(PRSD1,U,DAY),X1=PRSDW,X2=14 D C^%DTC S PRSDW=X "RTN","PRSATE1",20,0) . D DW^%DTC S PRSDAYN=X S X=PRSDW D DTP^PRSAPPU "RTN","PRSATE1",21,0) . S PRSDW=$E(PRSDAYN,1,3)_" "_Y "RTN","PRSATE1",22,0) W !,PRSDW,?14,$P($G(^PRST(457.1,+TD,0)),U,1) "RTN","PRSATE1",23,0) S TD=$P(PRSWREC,U,4) W ?45,$P($G(^PRST(457.1,+TD,0)),U,1) "RTN","PRSATE1",24,0) S TYP=$P(PRSWREC,U,3) W ?75,$S(TYP:"Temp",1:"Perm") "RTN","PRSATE1",25,0) S TD=$P(PRSWREC,U,13) Q:'TD W !?14,$P($G(^PRST(457.1,+TD,0)),U,1),?75,"Temp" Q "RTN","PRSRLL") 0^1^B8267026^B7865740 "RTN","PRSRLL",1,0) PRSRLL ;HISC/JH-CALCULATE LENGTH OF TIME ;7-AUG-2000 "RTN","PRSRLL",2,0) ;;4.0;PAID;**2,6,21,61,115**;Sep 21, 1995;Build 2 "RTN","PRSRLL",3,0) ;;Per VHA Directive 2004-038, this routine should not be modified. "RTN","PRSRLL",4,0) ;This routine is called by ^PRSRL11,^PRSRL12,^PRSRL41. "RTN","PRSRLL",5,0) H ; Calculate Hours "RTN","PRSRLL",6,0) N %,DAY,X,X1,X2,D1,PPE,Y,K S TYL="H",D1=$P(Z,"^",3) D PP^PRSAPPU "RTN","PRSRLL",7,0) I D1=$P(Z,"^",5) G 1 "RTN","PRSRLL",8,0) ; Calculate first day "RTN","PRSRLL",9,0) D TC S X1=$G(^PRST(457.1,+TC,1)) "RTN","PRSRLL",10,0) S X2="MID" F K=1:3 Q:$P(X1,"^",K)="" S %=$P(X1,"^",K+2) I $S('%:1,1:$P($G(^PRST(457.2,%,0)),"^",2)="RG") S X2=$P(X1,"^",K+1) "RTN","PRSRLL",11,0) S X=$P(Z,"^",4)_"^"_X2 D CNV S TIM=$P(Y,"^",2)-$P(Y,"^",1)/60 S:TIM<0 TIM=0 "RTN","PRSRLL",12,0) D RG I TIM>RG S TIM=RG "RTN","PRSRLL",13,0) E S X1=$P(X1,"^",3) I X1,TIM>4.75 S TIM=TIM-(X1/60) "RTN","PRSRLL",14,0) ; Calculate intermediate days "RTN","PRSRLL",15,0) 0 S DAY=DAY+1 S:DAY=15 DAY=1,PPI=$S('PPI:PPI,$D(^PRST(458,PPI+1)):PPI+1,1:"") "RTN","PRSRLL",16,0) S X1=D1,X2=1 D C^%DTC S D1=X I X'<$P(Z,"^",5) G L "RTN","PRSRLL",17,0) D TC,RG S TIM=TIM+RG G 0 "RTN","PRSRLL",18,0) L ; Calculate last day "RTN","PRSRLL",19,0) D TC S X1=$G(^PRST(457.1,+TC,1)) "RTN","PRSRLL",20,0) S X2="MID" F K=1:3 Q:$P(X1,"^",K)="" S %=$P(X1,"^",K+2) I $S('%:1,1:$P($G(^PRST(457.2,%,0)),"^",2)="RG") S X2=$P(X1,"^",K) Q "RTN","PRSRLL",21,0) S X=X2_"^"_$P(Z,"^",6) D CNV S T1=$P(Y,"^",2)-$P(Y,"^",1)/60 S:T1<0 T1=0 "RTN","PRSRLL",22,0) D RG I T1>RG S T1=RG "RTN","PRSRLL",23,0) E S X1=$P(X1,"^",3) I X1,T1>4.75 S T1=T1-(X1/60) "RTN","PRSRLL",24,0) S TIM=TIM+T1 K AC,FLX,NH,T1 Q "RTN","PRSRLL",25,0) 1 ; One Day "RTN","PRSRLL",26,0) S X=$P(Z,"^",4)_"^"_$P(Z,"^",6) D CNV "RTN","PRSRLL",27,0) I $P(Z,"^",4)["P"&($P(Z,"^",6)["A") S TIM=((1440-$P(Y,U))/60)+($P(Y,U,2)/60) "RTN","PRSRLL",28,0) E S TIM=$P(Y,"^",2)-$P(Y,"^",1)/60 "RTN","PRSRLL",29,0) S:TIM'>0 TIM=TIM+24 ;This line of code relocated to correct miscalculation - refer to Patch PRS*4*61 "RTN","PRSRLL",30,0) D TC,RG I (TIM-(LUN/60))>RG&($P(X4,"^",13)'="") D SEC I TIM>RG S TIM=RG Q "RTN","PRSRLL",31,0) I TIM>RG S TIM=RG "RTN","PRSRLL",32,0) ;Algorithm to determine whether to deduct lunch. Deduct lunch from "RTN","PRSRLL",33,0) ;leave only when leave taken is >= length of tour + meal time. "RTN","PRSRLL",34,0) I $P(TOUR,"^",5)'="" D "RTN","PRSRLL",35,0) . S LEN=$P($G(^PRST(458,PPI,"E",D0,"D",DAY,0)),"^",8) "RTN","PRSRLL",36,0) . I (LEN+LUN)80:24,NH<80:8,FLX="C":10,1:8) Q "RTN","PRSRLL",46,0) D ; Calculate Days "RTN","PRSRLL",47,0) N %,K S X2=$P(Z,"^",3),X1=$P(Z,"^",5) I 'X1!('X2) Q "RTN","PRSRLL",48,0) D ^%DTC S TIM=X+1,TYL="D" "RTN","PRSRLL",49,0) Q "RTN","PRSRLL",50,0) CNV ; Convert Start/Stop to minutes "RTN","PRSRLL",51,0) ; X=start_"^"_stop Output: Y=start(min)_"^"_stop(min) "RTN","PRSRLL",52,0) S CNX=X,X=$P(CNX,"^",1),Y=0 D MIL S Y=Y\100*60+(Y#100),$P(CNX,"^",1)=Y "RTN","PRSRLL",53,0) S X=$P(CNX,"^",2),Y=1 D MIL S Y=Y\100*60+(Y#100) "RTN","PRSRLL",54,0) S Y=$P(CNX,"^",1)_"^"_Y K CNX Q "RTN","PRSRLL",55,0) MIL ; Convert from AM/PM to 2400 "RTN","PRSRLL",56,0) ; X=time Y: 0=Mid=0,1=Mid=2400 Output: Y=time in 2400 "RTN","PRSRLL",57,0) I X="MID"!(X="NOON") S Y=$S(X="NOON":1200,Y:2400,1:0) Q "RTN","PRSRLL",58,0) S Y=$P(X,":",1)_$P(X,":",2),Y=+Y Q:X["A" "RTN","PRSRLL",59,0) S:Y<1200 Y=Y+1200 Q "RTN","PRSRLL",60,0) SEC S TC=$P(X4,"^",13) D RG Q "VER") 8.0^22.0 "BLD",7564,6) ^111 **END** **END**