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

BDGSECU1.m

Go to the documentation of this file.
  1. BDGSECU1 ; IHS/ANMC/LJF - LIST HOLDERS OF SENSITIVE KEYS ;
  1. ;;5.3;PIMS;;APR 26, 2002
  1. ;
  1. EN ; -- main entry point for BDG SECURITY KEYS
  1. NEW VALMCNT
  1. D TERM^VALM0
  1. D EN^VALM("BDG SECURITY KEYS")
  1. D CLEAR^VALM1
  1. Q
  1. ;
  1. HDR ; -- header code
  1. NEW X S X="Listing of Users with keys important to this module"
  1. S VALMHDR(1)=$$SP(10)_X
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. NEW DGKEY,USER,X,LINE
  1. S VALMCNT=0 K ^TMP("BDGSECU",$J)
  1. ;
  1. ; loop by keys in this module
  1. F DGKEY="DG SECURITY OFFICER","DG SENSITIVITY","DG RECORD ACCESS" D
  1. . I DGKEY'["OFFICER" D SET("",.VALMCNT) ;add blank line between keys
  1. . S X=$$PAD(DGKEY,25)_"("_$$DESCR(DGKEY)_")" ;subheading for key
  1. . D SET(X,.VALMCNT) ;put into display global
  1. . ;
  1. . ; find each user holding that key
  1. . S USER=0 F S USER=$O(^XUSEC(DGKEY,USER)) Q:'USER D
  1. .. S LINE=$$SP(5)_$$GET1^DIQ(200,USER,.01) ;user's name
  1. .. S LINE=$$PAD(LINE,35)_$$GET1^DIQ(200,USER,29) ;service/section
  1. .. D SET(LINE,.VALMCNT)
  1. ;
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. SET(LINE,COUNT) ; -- sets line into display global
  1. S COUNT=COUNT+1
  1. S ^TMP("BDGSECU",$J,COUNT,0)=LINE
  1. Q
  1. ;
  1. DESCR(KEY) ; -- returns description of security key
  1. NEW X
  1. S X=$O(^DIC(19.1,"B",KEY,0)) I 'X Q "??"
  1. Q $E($$GET1^DIQ(19.1,X,.02),1,40)
  1. ;
  1. PAD(D,L) ;EP -- SUBRTN to pad length of data
  1. ; -- D=data L=length
  1. Q $E(D_$$REPEAT^XLFSTR(" ",L),1,L)
  1. ;
  1. SP(N) ; -- SUBRTN to pad N number of spaces
  1. Q $$PAD(" ",N)