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

AZAXKEY.m

Go to the documentation of this file.
  1. AZAXKEY ;IHS/PHXAO/AEF - PRINT SECURITY KEYS AND MENUS OF SELECTED EMPLOYEE
  1. ;;1.0;PHXAO LOCAL ROUTINES;;OCT 12, 2004
  1. ;
  1. DESC ;----- ROUTINE DESCRIPTION
  1. ;;
  1. ;;This routine prints a form listing the selected employee's security
  1. ;;keys and the menu options that the employee has access to.
  1. ;;
  1. ;;$$END
  1. ;
  1. N I,X
  1. F I=1:1 S X=$T(DESC+I) Q:X["$$END" W !,$P(X,";;",2)
  1. Q
  1. EN ;EP -- MAIN ENTRY POINT
  1. ;
  1. N Y
  1. D ^XBKVAR
  1. D HOME^%ZIS
  1. ;
  1. D DESC
  1. ;
  1. D SEL(.Y)
  1. Q:+Y'>0
  1. S AZAXDUZ=+Y
  1. ;
  1. Q
  1. SEL(Y) ;
  1. ;----- SELECT THE EMPLOYEE
  1. ;
  1. N DIC,X
  1. S DIC="^VA(200,"
  1. S DIC(0)="AEMQ"
  1. D ^DIC
  1. Q Y
  1. DQ ;EP -- QUEUED JOB STARTS HERE
  1. ;
  1. N AZAXOUT,AZAXPAGE,AZAXTTL1
  1. ;
  1. D ^XBKVAR
  1. D HOME^%ZIS
  1. ;
  1. S AZAXOUT=0
  1. S AZAXPAGE=0
  1. S AZAXTTL1=" RPMS COMPUTER ACCESS FORM"
  1. S AZAXTTL2=""
  1. ;
  1. D KEYS(AZAXDUZ)
  1. D HDR(AZAXTTL1,AZAXTTL2,.AZAXPAGE,.AZAXOUT)
  1. D PKEYS(AZAXDUZ,AZAXTTL1,.AZAXPAGE,.AZAXOUT)
  1. ;
  1. D MENUS(AZAXDUZ)
  1. Q
  1. KEYS(AZAXDUZ) ;
  1. ;----- GET A USER'S KEYS AND STORE THEM ALPHABETICALLY IN ^TMP
  1. ;
  1. S AZAXKEY=0
  1. F S AZAXKEY=$O(^VA(200,AZAXDUZ,51,AZAXKEY)) Q:'AZAXKEY D
  1. . S AZAXKEYN=$P($G(^DIC(19.1,AZAXKEY,0)),U)
  1. . Q:AZAXKEYN']""
  1. . S ^TMP("AZAX",$J,AZAXDUZ,"KEYS",AZAXKEYN,0)=AZAXKEY
  1. Q
  1. PKEYS(AZAXDUZ,AZAXTTL1,AZAXPAGE,AZAXOUT) ;
  1. ;----- PRINT A USER'S KEYS
  1. ;
  1. S AZAXTTL2="SECURITY KEYS FOR "_$P($G(^VA(200,AZAXDUZ,0)),U)_":"
  1. S AZAXPAGE=0
  1. S AZAXOUT=0
  1. S AZAXCNT=0
  1. S AZAXCOL=0
  1. S AZAXKEYN=""
  1. F S AZAXKEYN=$O(^TMP("AZAX",$J,AZAXDUZ,"KEYS",AZAXKEYN)) Q:AZAXKEYN']"" D Q:AZAXOUT
  1. . S AZAXCNT=AZAXCNT+1
  1. . I AZAXCNT>3 S AZAXCNT=1
  1. . S AZAXCOL=$P("1^28^55",U,AZAXCNT)
  1. . I AZAXCOL=1 W !
  1. . I $Y>(IOSL-5) D HDR(AZAXTTL1,AZAXTTL2,.AZAXPAGE,.AZAXOUT)
  1. . Q:AZAXOUT
  1. . W ?AZAXCOL,$E(AZAXKEYN,1,25)
  1. I 'AZAXCNT D
  1. . W !?5,"THIS USER POSSESSES NO SECURITY KEYS",!
  1. Q
  1. ;----- GETS A USER'S MENU OPTIONS
  1. ;
  1. Q
  1. HDR(AZAXTTL1,AZAXTTL2,AZAXPAGE,AZAXOUT) ;
  1. ;----- WRITE HEADER
  1. ;
  1. N DIR,X,Y
  1. ;
  1. I $E(IOST)="C",$G(AZAXPAGE) D
  1. . S DIR(0)="E"
  1. . D ^DIR
  1. . K DIR
  1. . I 'Y S AZAXOUT=1
  1. Q:$G(AZAXOUT)
  1. ;
  1. S AZAXPAGE=$G(AZAXPAGE)+1
  1. W @IOF
  1. W !,AZAXTTL1
  1. W ?(IOM-10),"PAGE ",AZAXPAGE
  1. W !!,AZAXTTL2
  1. W !
  1. ;F I=1:1:IOM W "-"
  1. W !
  1. Q