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

PRSNCTL.m

Go to the documentation of this file.
  1. PRSNCTL ;WOIFO/DWA - Edit T&L Unit POC Entry and Approval Personnel ;11/24/09
  1. ;;4.0;PAID;**126**;Sep 21, 1995;Build 59
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. Q
  1. ;
  1. EDIT ; Enter/Edit POC Entry and Approval Personnel for a T&L Unit
  1. N TEMPLATE,STOP S STOP=0
  1. S TEMPLATE="[PRSN EDIT TL POC]"
  1. F D Q:STOP>0
  1. . D MAIN(.STOP,TEMPLATE)
  1. ;
  1. Q
  1. ;
  1. DISP ; Display T&L Unit
  1. N TEMPLATE,STOP S STOP=0
  1. S TEMPLATE="[PRSA TL DISP]"
  1. F D Q:STOP>0
  1. . D MAIN(.STOP,TEMPLATE)
  1. ;
  1. Q
  1. ;
  1. MAIN(STOP,T) ;
  1. N TLI,DA,DDSFILE,DR,DS
  1. S STOP=0
  1. S TLI=$$INIT()
  1. I TLI'>0 S STOP=1 Q
  1. S DA=+TLI,DDSFILE=455.5,DR=T
  1. D ^DDS K DS
  1. Q
  1. ;
  1. INIT() ;
  1. D HDR
  1. N DIC,X,Y,DUOUT,DTOUT
  1. S DIC="^PRST(455.5,",DIC(0)="AEQLM",DIC("A")="Select T&L Unit: " D ^DIC K DIC
  1. I $D(DUOUT)!$D(DTOUT)!(Y'>0) Q 0
  1. Q Y
  1. ;
  1. HDR ; Header
  1. W:$E(IOST,1,2)="C-" @IOF
  1. W !,?26,"VA TIME & ATTENDANCE SYSTEM",!
  1. W ?24,"EDIT POC ENTRY & APPROVAL PERSONNEL",!
  1. W ?36,"T&L UNIT",!!!
  1. ;
  1. Q
  1. ;
  1. TL2PEV ;OVERWRITE T&L TIMEKEEPERS AND SUPERVISORS TO PEV DATA ENTRY AND
  1. ;APPROVERS
  1. ;
  1. ;Prompt for T&L unit
  1. ;
  1. N DIC,X,Y,DUOUT,DTOUT
  1. S DIC="^PRST(455.5,",DIC(0)="AEQM",DIC("A")="Select T&L Unit: "
  1. D ^DIC
  1. Q:$D(DUOUT)!$D(DTOUT)!Y'>0
  1. N TLIEN,ENIEN,SUIEN,APIEN,TKIEN,IENS,IEN,FDA,J,STOP,IEN450
  1. S TLIEN=+Y
  1. ;
  1. D HDR2
  1. S (ENIEN,SUIEN,APIEN,TKIEN,STOP)=0
  1. F D Q:STOP
  1. .S:TKIEN'="" TKIEN=$O(^PRST(455.5,TLIEN,"T","B",TKIEN))
  1. .S:ENIEN'="" ENIEN=$O(^PRST(455.5,TLIEN,2,"B",ENIEN))
  1. .I TKIEN="",ENIEN="" S STOP=1 Q
  1. .W !
  1. .I TKIEN'="" W $S($$SEP(TKIEN)="Y":"*",1:" "),$P($G(^VA(200,TKIEN,0)),U)
  1. .I ENIEN'="" W ?40,$S($$SEP(ENIEN)="Y":"*",1:" "),$P($G(^VA(200,ENIEN,0)),U)
  1. ;
  1. D HDR3
  1. S (ENIEN,SUIEN,APIEN,TKIEN,STOP)=0
  1. F D Q:STOP
  1. .S:SUIEN'="" SUIEN=$O(^PRST(455.5,TLIEN,"S","B",SUIEN))
  1. .S:APIEN'="" APIEN=$O(^PRST(455.5,TLIEN,3,"B",APIEN))
  1. .I SUIEN="",APIEN="" S STOP=1 Q
  1. .W !
  1. .I SUIEN'="" W $S($$SEP(SUIEN)="Y":"*",1:" "),$P($G(^VA(200,SUIEN,0)),U)
  1. .I APIEN'="" W ?40,$S($$SEP(APIEN)="Y":"*",1:" "),$P($G(^VA(200,APIEN,0)),U)
  1. ;
  1. W !
  1. ;
  1. N DIR,Y,DIRUT,CONT
  1. S DIR(0)="Y",DIR("B")="No",DIR("A")="Do you want to proceed"
  1. S DIR("A",1)="Continuing with this process will DELETE ALL existing"
  1. S DIR("A",2)="POC data entry and approval personnel. Then it will copy"
  1. S DIR("A",3)="ETA timekeepers to POC data entry and ETA supervisors to"
  1. S DIR("A",4)="POC approval personnel. Employees with an * in front of their"
  1. S DIR("A",5)="name are separated and will NOT be copied."
  1. D ^DIR
  1. S CONT=$S(Y=1:1,1:0)
  1. I 'CONT W !,"Aborted..." Q
  1. ;
  1. ;Kill off POC entry
  1. ;
  1. K FDA
  1. S IEN=0
  1. F S IEN=$O(^PRST(455.5,TLIEN,2,IEN)) Q:IEN'>0 D
  1. . S FDA(455.52,IEN_","_TLIEN_",",.01)="@"
  1. I $D(FDA) D FILE^DIE("","FDA"),MSG^DIALOG()
  1. ;
  1. ;Kill off POC approvers
  1. ;
  1. K FDA
  1. S IEN=0
  1. F S IEN=$O(^PRST(455.5,TLIEN,3,IEN)) Q:IEN'>0 D
  1. . S FDA(455.531,IEN_","_TLIEN_",",.01)="@"
  1. I $D(FDA) D FILE^DIE("","FDA"),MSG^DIALOG()
  1. ;
  1. ;Update POC Entry with timekeepers
  1. S (TKIEN,J)=0
  1. K FDA,IENS
  1. F S TKIEN=$O(^PRST(455.5,TLIEN,"T","B",TKIEN)) Q:TKIEN'>0 D
  1. . ;check for separation
  1. . S SEPFLAG=$$SEP(TKIEN)
  1. . Q:SEPFLAG="Y"
  1. . S J=J+1
  1. . S IENS(J)=J
  1. . S FDA(455.52,"+"_J_","_TLIEN_",",.01)=TKIEN
  1. I $D(FDA) D UPDATE^DIE("","FDA","IENS"),MSG^DIALOG()
  1. ;
  1. ;Update POC Approvers with supervisors
  1. ;
  1. S (SUIEN,J)=0
  1. K FDA,IENS
  1. S SUIEN=0
  1. F S SUIEN=$O(^PRST(455.5,TLIEN,"S","B",SUIEN)) Q:SUIEN'>0 D
  1. . ;check for separation
  1. . S SEPFLAG=$$SEP(SUIEN)
  1. . Q:SEPFLAG="Y"
  1. . S J=J+1
  1. . S IENS(J)=J
  1. . S FDA(455.531,"+"_J_","_TLIEN_",",.01)=SUIEN
  1. I $D(FDA) D UPDATE^DIE("","FDA","IENS"),MSG^DIALOG()
  1. W !,"Copied..."
  1. Q
  1. ;
  1. SEP(IEN200) ;
  1. ; missing paid ien treated same as separated employee for this process
  1. N IEN450,SEPFLAG
  1. S SEPFLAG=""
  1. S IEN450=$G(^VA(200,IEN200,450))
  1. I 'IEN450 S SEPFLAG="Y" Q SEPFLAG
  1. S SEPFLAG=$P($G(^PRSPC(IEN450,1)),U,33)
  1. Q SEPFLAG
  1. ;
  1. HDR2 ; Header
  1. W !,"ETA TIMEKEEPER",?40,"POC DATA ENTRY"
  1. W !,"--------------------------------------------------------------------------------"
  1. Q
  1. ;
  1. HDR3 ;
  1. W !!,"ETA SUPERVISOR",?40,"POC APPROVAL"
  1. W !,"--------------------------------------------------------------------------------"
  1. Q