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

ACRFCLOS.m

Go to the documentation of this file.
  1. ACRFCLOS ;IHS/OIRM/DSD/THL,AEF - UTILITY TO CLOSE FISCAL YEAR ACCOUNTS; [ 09/23/2005 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**19**;NOV 05, 2001
  1. EN D EN1
  1. EXIT K ACR,ACRXYR
  1. Q
  1. EN1 ;SPECIFY FISCAL YEAR
  1. W @IOF
  1. W !,"This utility will allow you to delete user access to DEPARTMENT ACCOUNTS"
  1. W !,"for a selected fiscal year."
  1. W !!,"You should NOT do this until you have created your next fiscal year accounts."
  1. W !,"If you have completed this process, proceed with closing DEPARTMENT ACCOUNTS."
  1. S DIR(0)="NOA^1000:9999"
  1. S DIR("A")="Fiscal Year: "
  1. S DIR("?")="Enter the four digit fiscal year for which you want to delete account access."
  1. W !
  1. D DIR^ACRFDIC
  1. Q:Y<1
  1. S ACRFY=Y
  1. D EX
  1. D ALL
  1. Q
  1. ALL ;DECIDE WHETHER TO DELETE ACCESS TO ALL ACCOUNTS OR SELECTED ACCOUNTS
  1. K ACRXYR
  1. S DIR(0)="YO"
  1. S DIR("A",1)="Do you want CLOSE Multi-year and"
  1. S DIR("A")="'X' appropriation accounts"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:$D(ACRQUIT)
  1. I Y=1 D Q:$D(ACRQUIT)
  1. .S DIR(0)="YO"
  1. .S DIR("A",1)="Are you certain you want to CLOSE"
  1. .S DIR("A")="Multi-year and 'X' appropriaiton accounts."
  1. .S DIR("B")="NO"
  1. .W !
  1. .D DIR^ACRFDIC
  1. .Q:$D(ACRQUIT)
  1. .Q:Y'=1
  1. .S ACRXYR=""
  1. S DIR(0)="SO^1:All Department Accounts;2:Selected Department Accounts;3:One selected account"
  1. S DIR("A")="Which one"
  1. S DIR("?")="Enter the appropriate code from the list"
  1. S DIR("?",1)="Number '1' deletes access of users from ALL Department Accounts."
  1. S DIR("?",2)="Number '2' deletes access of users from ONLY selected Department Accounts."
  1. S DIR("?",3)="Number '3' deletes access of users from ONE selected Department Account."
  1. D DIR^ACRFDIC
  1. Q:'$D(Y)
  1. Q:"123"'[Y
  1. S ACRALL=Y
  1. I +Y=1 D A1 Q
  1. I +Y=2 D SOME Q
  1. I +Y=3 D SELECT Q
  1. Q
  1. A1 ;PROCESS ALL DEPARTMENT ACCOUNTS FOR THE SPECIFIED FISCAL YEAR
  1. D CERTAIN
  1. Q:$D(ACRQUIT)
  1. W !!
  1. S (ACR,ACRI)=0
  1. F S ACR=$O(^ACRLOCB("FY",ACRFY,ACR)) Q:'ACR I $D(^ACRLOCB(ACR,0)) S ACR0=^(0),ACRDT=^ACRLOCB(ACR,"DT") D
  1. .Q:$P(ACR0,U,23)
  1. .S ACRI=ACRI+1
  1. .D DELETE
  1. Q
  1. SOME ;PROCESS SELECTED DEPARTMENT ACCOUNTS
  1. S (ACR,ACRI)=0
  1. F S ACR=$O(^ACRLOCB("FY",ACRFY,ACR)) Q:'ACR!$D(ACRQUIT) I $D(^ACRLOCB(ACR,0)) S ACR0=^(0),ACRDT=^ACRLOCB(ACR,"DT") D
  1. .S ACRI=ACRI+1
  1. .W !!?10,"-----------------------------------------------------"
  1. .W !?10,"ID NO."
  1. .W ?19,"DEPARTMENT"
  1. .W ?52,"CAN"
  1. .W !?10,"------"
  1. .W ?19,"------------------------------"
  1. .W ?52,"-------"
  1. .W !?10,ACR
  1. .W ?19,$S($P($G(^AUTTPRG(+$P(ACR0,U,5),0)),U)]"":$P(^(0),U),1:"NOT STATED")
  1. .W ?52,$S($P($G(^AUTTCAN(+$P(ACRDT,U,9),0)),U)]"":$P(^(0),U),1:"NOT STATED")
  1. .S DIR(0)="YO"
  1. .S DIR("A")="Delete access to account (ID NO. "_ACR_")"
  1. .S DIR("B")="NO"
  1. .W !
  1. .D DIR^ACRFDIC
  1. .Q:Y'=1
  1. .D DELETE
  1. Q
  1. DELETE ;DELETE USER ACCESS FROM DEPARTMENT ACCOUNT
  1. ;DO NOT DELETE USER ACCESS TO MULTI-YEAR ACCOUNTS
  1. N X
  1. S X=$P($G(^AUTTPRO(+$P($G(ACRDT),U,4),0)),U)
  1. I '$D(ACRXYR),X["X"!(X["/") Q
  1. W !!?10,ACR
  1. W ?19,$S($P($G(^AUTTPRG(+$P(ACR0,U,5),0)),U)]"":$P(^(0),U),1:"NOT STATED")
  1. W ?50,"<USER ACCESS DELETED>"
  1. S ACRDA=0
  1. F S ACRDA=$O(^ACRLOCB(ACR,"SC",ACRDA)) Q:'ACRDA D
  1. .I $D(^ACRLOCB(ACR,"SC",ACRDA,0)),'$D(ACREX(+^(0))) D
  1. ..S DA(1)=ACR
  1. ..S DA=ACRDA
  1. ..S DIK="^ACRLOCB("_ACR_",""SC""," W "."
  1. ..D DIK^ACRFDIC
  1. Q
  1. EX ;CHOOSE USER(S) TO EXCLUDE FROM ACCOUNT ACCESS DELETE
  1. ;SELECT 'EMPLOYEE'
  1. W !!,"You may identify employees for whom access will NOT be deleted."
  1. W !,"The employees selected below will NOT have their account access deleted."
  1. F D EX1 Q:$D(ACRQUIT)
  1. Q
  1. EX1 ;CHOOSE EMPLOYEE
  1. S DIC="^VA(200,"
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="EMPLOYEE............: "
  1. S DIC("DR")=""
  1. W !!?21,"|" F ACRI=1:1:30 W "="
  1. W "|"
  1. D DIC^ACRFDIC
  1. I U[$E(X)!(+Y<1) S ACRQUIT="" Q
  1. S ACRDUZ=+Y
  1. S ACREX(+Y)=""
  1. ;S ACRUSER=Y(0,0) ;ACR*2.1*19.02 IM16848
  1. ;S ACRUSER=$P(ACRUSER,",",2)_" "_$P(ACRUSER,",") ;ACR*2.1*19.02 IM16848
  1. S ACRUSER=$$NAME3^ACRFUTL1(ACRDUZ) ;ACR*2.1*19.02 IM16848
  1. W !!,ACRUSER," will NOT be deleted from account access."
  1. Q
  1. SELECT ;SELECT SINGLE DEPARTMENT ACCOUNT FROM WHICH TO DELETE ACCESS
  1. S DIC="^ACRLOCB("
  1. S DIC(0)="AENQZ"
  1. S DIC("A")="Account ID NO.: "
  1. S DIC("?")="Enter the ID NO. of the account from which to delete access."
  1. W !
  1. D DIC^ACRFDIC
  1. Q:+Y<1
  1. I $D(^ACRLOCB(+Y,0)) D
  1. .S ACR=+Y,ACR0=^ACRLOCB(+Y,0),ACRDT=^ACRLOCB(+Y,"DT")
  1. .D CERTAIN
  1. .Q:$D(ACRQUIT)
  1. .D DELETE
  1. Q
  1. CERTAIN ;CHECK TO ENSURE USER WANST TO DELETE ACCOUNT ACCESS
  1. S DIR(0)="YO"
  1. S DIR("A")="Are you CERTAIN you want to delete account access"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. S:Y'=1 ACRQUIT=""
  1. Q