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

ACRFSHFT.m

Go to the documentation of this file.
  1. ACRFSHFT ;IHS/OIRM/DSD/THL,AEF - SHIFT ACCOUNTS; [ 11/02/2001 2:46 PM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;;NOV 05, 2001
  1. ;UTILITY TO SHIFT FINANCIAL ACCOUNTS
  1. EN ;EP;
  1. D EN1
  1. EXIT K ACR,ACRSADA
  1. Q
  1. EN1 ;
  1. AL ;SELECT ACCOUNT LEVEL
  1. S DIR(0)="SO^1:Delete a Financial Account(s);2:Move a Financial Account"
  1. S DIR("A")="Which one"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:$D(ACROUT)!$D(ACRQUIT)!'$D(Y)
  1. Q:'ACRY
  1. I Y=1 S ACRDEL=""
  1. E K ACRDEL
  1. S DIR(0)="SO^1:Department Account(s);2:Sub-Allowance(s);3:Allowance(s)"
  1. S:$D(ACRDEL) DIR(0)=DIR(0)_";4:Appropriation(s)"
  1. S DIR("A")="Which Account Level"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:$D(ACROUT)!$D(ACRQUIT)!'$D(Y)
  1. Q:'ACRY
  1. S ACRAL=ACRY ; SET ACCOUNT LEVEL VARIABLE
  1. ID ;SELECT ID NO(S) TO SHIFT
  1. S DIR(0)="LO^"_$S(ACRY=1:$O(^ACRLOCB(0)),ACRY=2:$O(^ACRALC(0)),ACRY=3:$O(^ACRALW(0)),1:$O(^ACRAPP(0)))_":"_$S(ACRY=1:$P(^ACRLOCB(0),U,3),ACRY=2:$P(^ACRALC(0),U,3),ACRY=3:$P(^ACRALW(0),U,3),1:$P(^ACRAPP(0),U,3))
  1. S DIR("A")="Which ID NO(s)"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:$D(ACROUT)!$D(ACRQUIT)!'$D(Y)
  1. Q:'ACRY
  1. S ACRID=ACRY ; SET ID NO(S) VARIABLE
  1. D:'$D(ACRDEL) TO
  1. D WARN
  1. Q
  1. TO ;SELECT ACCOUNT TO SHIFT TO
  1. S DIC(0)="AENQZ"
  1. S DIC=$S(ACRAL=1:"^ACRALC(",ACRAL=2:"^ACRALW(",1:"^ACRAPP(")
  1. S DIC("A")="Which "_$S(ACRAL=1:"Sub-Allowance",ACRAL=2:"Allowance",1:"Appropration")_": "
  1. W !!,"Select the ",$S(ACRAL=1:"Sub-Allowance",ACRAL=2:"Allowance",1:"Appropration")," to move selected ",$S(ACRAL=1:"Department Account(s)",ACRAL=2:"Sub-Allowance(s)",1:"Allowance(s)")," to: "
  1. W !
  1. D DIC^ACRFDIC
  1. I $D(ACROUT)!$D(ACRQUIT)!'$D(Y) S ACRQUIT="" Q
  1. I Y<1 S ACRQUIT="" Q
  1. S ACRTO=+Y ; SET ID NO VARIABLE OF ACCOUNT TO MOVE TO
  1. Q
  1. DEPT ;
  1. F ACRI=1:1 S ACRLBDA=$P(ACRID,",",ACRI) Q:ACRLBDA="" D:$D(^ACRLOCB(ACRLBDA,0))
  1. .I $D(ACRDEL) D Q
  1. ..I $D(^ACROBL("D",ACRLBDA)) D Q
  1. ...W *7,*7
  1. ...W !!,"Department Account ID NO. ",@ACRON,ACRLBDA,@ACROF," has dependent documents."
  1. ...W !,"It cannot be deleted."
  1. ...H 1
  1. ..I '$D(^ACROBL("D",ACRLBDA)) D Q
  1. ...I $D(^ACRLOCB("NEXTFY",ACRLBDA)) S DA=$O(^(ACRLBDA,0)) D:DA
  1. ....S DIE="^ACRLOCB("
  1. ....S DR=".06///@;.07///@"
  1. ....D DIE^ACRFDIC
  1. ...S DA=ACRLBDA
  1. ...S DIK="^ACRLOCB("
  1. ...D DIK^ACRFDIC
  1. .S DA=ACRLBDA
  1. .S DIE="^ACRLOCB("
  1. .S DR=".04////"_ACRTO
  1. .D DIE^ACRFDIC
  1. .D CRQ
  1. Q
  1. SALW ;
  1. F ACRI=1:1 S ACRSADA=$P(ACRID,",",ACRI) Q:ACRSADA="" I $D(^ACRALC(ACRSADA,0)) D
  1. .I $D(ACRDEL) D Q
  1. ..I $D(^ACRLOCB("M",ACRSADA))!$D(^ACROBL("C",ACRSADA)) D Q
  1. ...W *7,*7
  1. ...W !!,"Sub-Allowance ID NO. ",@ACRON,ACRSADA,@ACROF," has dependent Department Accounts."
  1. ...W !,"It cannot be deleted."
  1. ...H 1
  1. ..I '$D(^ACRLOCB("M",ACRSADA))&'$D(^ACROBL("C",ACRSADA)) D Q
  1. ...I $D(^ACRALC("NEXTFY",ACRSADA)) S DA=$O(^(ACRSADA,0)) D:DA
  1. ....S DIE="^ACRALC("
  1. ....S DR=".06///@;.07///@"
  1. ....D DIE^ACRFDIC
  1. ...S DA=ACRSADA
  1. ...S DIK="^ACRALC("
  1. ...D DIK^ACRFDIC
  1. .S DA=ACRSADA
  1. .S DIE="^ACRALC("
  1. .S DR=".03////"_ACRTO
  1. .D DIE^ACRFDIC
  1. .D CLB
  1. Q
  1. ALLW ;
  1. F ACRI=1:1 S ACRALDA=$P(ACRID,",",ACRI) Q:ACRALDA="" I $D(^ACRALW(ACRALDA,0)) D
  1. .I $D(ACRDEL) D Q
  1. ..I $D(^ACRALC("M",ACRALDA))!$D(^ACROBL("LOT",ACRALDA)) D Q
  1. ...W *7,*7
  1. ...W !!,"Allowance ID NO. ",@ACRON,ACRALDA,@ACROF," has dependent Sub-Allowances."
  1. ...W !,"It cannot be deleted."
  1. ...H 1
  1. ..I '$D(^ACRALC("M",ACRALDA))&'$D(^ACROBL("LOT",ACRALDA)) D Q
  1. ...I $D(^ACRALW("NEXTFY",ACRALDA)) S DA=$O(^(ACRALDA,0)) D:DA
  1. ....S DIE="^ACRALW("
  1. ....S DR=".06///@;.07///@"
  1. ....D DIE^ACRFDIC
  1. ...S DA=ACRALDA
  1. ...S DIK="^ACRALW("
  1. ...D DIK^ACRFDIC
  1. .S DA=ACRALDA
  1. .S DIE="^ACRALW("
  1. .S DR=".02////"_ACRTO
  1. .D DIE^ACRFDIC
  1. .D CSA
  1. Q
  1. APPR ;DELETE APPROPRIATIONS
  1. F ACRI=1:1 S ACRAPPDA=$P(ACRID,",",ACRI) Q:ACRAPPDA="" I $D(^ACRAPP(ACRAPPDA,0)) D
  1. .I $D(ACRDEL) D Q
  1. ..I $D(^ACRALW("M",ACRAPPDA))!$D(^ACROBL("PROP",ACRAPPDA)) D Q
  1. ...W *7,*7
  1. ...W !!,"Allowance ID NO. ",@ACRON,ACRAPPDA,@ACROF," has dependent Sub-Allowances."
  1. ...W !,"It cannot be deleted."
  1. ...H 1
  1. ..I '$D(^ACRALW("M",ACRAPPDA))&'$D(^ACROBL("PROP",ACRAPPDA)) D Q
  1. ...I $D(^ACRAPP("NEXTFY",ACRAPPDA)) S DA=$O(^(ACRAPPDA,0)) D:DA
  1. ....S DIE="^ACRAPP("
  1. ....S DR=".06///@;.07///@"
  1. ....D DIE^ACRFDIC
  1. ...S DA=ACRAPPDA
  1. ...S DIK="^ACRAPP("
  1. ...D DIK^ACRFDIC
  1. Q
  1. WARN Q:$D(ACRQUIT)
  1. D W1
  1. S DIR(0)="YO"
  1. S DIR("A")="Are you ABSOLUTELY CERTAIN this is what you want to do."
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:$D(ACROUT)!$D(ACRQUIT)
  1. Q:Y'=1
  1. W !
  1. D:$E($G(IOST),1,2)="C-" WAIT^DICD
  1. I ACRAL=1 D DEPT Q
  1. I ACRAL=2 D SALW Q
  1. I ACRAL=3 D ALLW Q
  1. I ACRAL=4 D APPR Q
  1. Q
  1. W1 W !!,"You have chosen to ",$S('$D(ACRDEL):"move ",1:"delete ")
  1. W !,$S(ACRAL=1:"Department Account(s)",ACRAL=2:"Sub-Allowance(s)",ACRAL=3:"Allowance(s)",1:"Appropriation(s)"),": ",ACRID
  1. W:'$D(ACRDEL) !," to ",$S(ACRAL=1:"Sub-Allowance",ACRAL=2:"Allowance",1:"Appropration")," ID NO: ",ACRTO
  1. Q
  1. P D PAUSE^ACRFWARN
  1. Q
  1. CSA ;CHANGE SUB-ALLOWANCE
  1. S ACRSADA=0
  1. F S ACRSADA=$O(^ACRALC("M",ACRALDA,ACRSADA)) Q:'ACRSADA D:$D(ACRALC(ACRSADA,0))
  1. .S DA=ACRSADA
  1. .S DIE="^ACRALC("
  1. .S DR=".02////"_ACRTO_";.03////"_ACRALDA
  1. .D DIE^ACRFDIC
  1. .D CLB
  1. Q
  1. CLB ;CHANGE DEPARTMENT ACCOUNT
  1. S ACRLBDA=0
  1. F S ACRLBDA=$O(^ACRLOCB("M",ACRSADA,ACRLBDA)) Q:'ACRLBDA D:$D(^ACRLOCB(ACRLBDA,0))
  1. .S DA=ACRLBDA
  1. .S DIE="^ACRLOCB("
  1. .S DR=".04////"_ACRSADA
  1. .D DIE^ACRFDIC
  1. .D CRQ
  1. Q
  1. CRQ ;CHANGE REQUEST
  1. S ACRDOCDA=0
  1. F S ACRDOCDA=$O(^ACROBL("D",ACRLBDA,ACRDOCDA)) Q:'ACRDOCDA D
  1. .S DA=ACRDOCDA
  1. .S DIE="^ACROBL("
  1. .S DR=".03////"_ACRLBDA
  1. .D DIE^ACRFDIC
  1. CSUP ;CHANGE SUPPLY/ITEM FILE
  1. S ACRSSDA=0
  1. F S ACRSSDA=$O(^ACRSS("F",ACRLBDA,ACRSSDA)) Q:'ACRSSDA D
  1. .S DA=ACRSSDA
  1. .S DIE="^ACRSS("
  1. .S DR=".06////"_ACRLBDA
  1. .D DIE^ACRFDIC
  1. Q