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

XUSECAD.m

Go to the documentation of this file.
  1. XUSECAD ;SFISC/SO- TERMINATED USERS AUDIT DISPLAY ;10:59 AM 23 Apr 2004
  1. ;;8.0;KERNEL;**332**;Jul 10, 1995
  1. EP1 ;Ask user Beginning and Ending report dates
  1. W !,"Terminated User Audit Report"_$S($D(XUSECU):" Uparrow Delimited",1:"")
  1. N BD,ED
  1. BD ;Get Beginning Date
  1. N DIR,DTOUT,DUOUT,DIRUT
  1. S DIR(0)="DA^2600101:"_DT_":EX"
  1. S DIR("A")="Enter the Beginning Date for report: "
  1. S DIR("?")="^D HELP^%DTC"
  1. S DIR("??")="^D HELP^%DTC"
  1. D ^DIR
  1. I 'Y Q ;User Timed out, '^' out, etc.
  1. S BD=",,"_Y
  1. ED ;Get Ending Date
  1. N DIR,DTOUT,DUOUT,DIRUT
  1. S DIR(0)="DA^2600101:"_DT_":EX"
  1. S DIR("A")="Enter the Ending Date for report: "
  1. S DIR("?")="^D HELP^%DTC"
  1. S DIR("??")="^D HELP^%DTC"
  1. D ^DIR
  1. I 'Y Q ;User Timed out, '^' out, etc.
  1. S ED=",,"_Y
  1. K DIR,DTOUT,DUOUT,DIRUT
  1. I $D(XUSECU) D UPARROW K XUSECU Q
  1. REPORT ;Do the report
  1. N L,DIC,FR,TO,BY,FLDS,DIOBEG,DIOEND
  1. N DIA ;Special New For AUDIT file
  1. S DIOBEG="D BEG^XUSECAD"
  1. S DIOEND="D END^XUSECAD"
  1. S L=0
  1. S DIC="^DIA(200,"
  1. S FR=BD,TO=ED,(BY,FLDS)="[XUSEC TERMINATION REPORT]"
  1. D EN1^DIP
  1. Q
  1. ;
  1. QUEUE ;Queued report for last 7 days
  1. S BD=",,"_$$FMADD^XLFDT(DT,-8)
  1. S ED=",,"_$$FMADD^XLFDT(DT,-1)
  1. D REPORT
  1. K BD,ED
  1. Q
  1. BEG ; Initialize
  1. ; XUSECF = 0 - User changed
  1. ; 1 - Same user
  1. I $G(XUSECO)="" S (XUSECF,XUSECO)=0
  1. Q
  1. END ; Kill variables
  1. K XUSECF,XUSECO
  1. Q
  1. TEST ; Test if user changed
  1. I 'XUSECO S XUSECO=DIPA("NPIEN") Q
  1. I XUSECO=DIPA("NPIEN") S XUSECF=1 Q
  1. S XUSECO=DIPA("NPIEN")
  1. S XUSECF=0 ;User changed
  1. Q
  1. USERH ; Stadic User Information
  1. N IEN,DIERR,Z,ZERR
  1. S IEN=DIPA("NPIEN"),IEN=IEN_"," ; Get IEN in file 200
  1. ; Get Name (.01)
  1. ; Get SSN (9)
  1. ; Get Service/Section (29)
  1. ; Get Date Entered (30)
  1. D GETS^DIQ(200,IEN,".01;9;29;30","","Z","ZERR")
  1. W !,"User: "_$G(Z(200,IEN,.01))_" SSN: "_$G(Z(200,IEN,9))
  1. W !,"Date Entered: "_$G(Z(200,IEN,30))_" Service/Section: "_$G(Z(200,IEN,29))
  1. K DIERR,Z,ZERR
  1. D GETS^DIQ(200,IEN,"16*","","Z","ZERR") ;Get Division multiple
  1. I '$D(Z(200.02)) W !?4,"Division: None Listed" Q
  1. S IEN=""
  1. F S IEN=$O(Z(200.02,IEN)) Q:IEN="" W !?4,"Division: "_$G(Z(200.02,IEN,.01))_" Default: "_$S($G(Z(200.02,IEN,1))["Y":"Yes",1:"No")
  1. Q
  1. ;
  1. Q
  1. ;
  1. TERM S X=$S(DIPA("OVALUE")="<no previous value>":"Terminated",1:"Reactivated")
  1. Q
  1. ;
  1. S IEN=$$FIND1^DIC(19,"","X",DIPA("MIEN"),"B","","ZERR")
  1. S IEN=IEN_","
  1. D GETS^DIQ(19,IEN,".01;1","","Z","ZERR")
  1. S X=$G(Z(19,IEN,1))_"["_$G(Z(19,IEN,.01))_"]"
  1. Q
  1. ;
  1. UPARROW ; Uparrow delimited report
  1. N L,DIC,FR,TO,BY,FLDS
  1. N DIA ;Special New For AUDIT file
  1. S L=0
  1. S DIC="^DIA(200,"
  1. S FR=BD,TO=ED,BY="[XUSEC TERMINATION REPORT]",FLDS="[XUSEC UPARROW TERM REPORT]"
  1. D EN1^DIP
  1. Q
  1. ;
  1. UPRPT ; Build Uparrow report line
  1. N MIEN,NPIEN,DIERR,Z,ZERR
  1. S NPIEN=DIPA("NPIEN"),NPIEN=NPIEN_"," ; Get IEN in file 200
  1. D GETS^DIQ(200,NPIEN,".01;9;29;30","","Z","ZERR") ;Get New Person Info
  1. S MIEN=$$FIND1^DIC(19,"","X",DIPA("MIEN"),"B","","ZERR")
  1. S MIEN=MIEN_","
  1. D GETS^DIQ(19,MIEN,".01;1","","Z","ZERR")
  1. LINE ; Build Report Line
  1. N LN S LN=""
  1. S LN=LN_$G(Z(200,NPIEN,.01))_U_$G(Z(200,NPIEN,9))_U_$G(Z(200,NPIEN,30))_U
  1. S LN=LN_$G(Z(200,NPIEN,29))_U_$$FMTE^XLFDT(DIPA("DTR"),"1P")_U
  1. S LN=LN_$S(DIPA("OVALUE")="<no previous value>":"Terminated",1:"Reactivated")_U
  1. S LN=LN_DIPA("USER")_U_$G(Z(19,MIEN,1))_"["_$G(Z(19,MIEN,.01))_"]"
  1. S X=LN
  1. Q