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

TIUFHA3.m

Go to the documentation of this file.
  1. TIUFHA3 ; SLC/MAM - LM Templates H, A Action Edit Status, INACTIVE(TYPE,FILEDA,NODE0), WARNING, WARNOBJI(FILEDA) ; 03/16/2007
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**13,64,211,225**;Jun 20, 1997;Build 13
  1. ;
  1. EDSTAT ; Action Edit Status for Templates H, A, J, C
  1. N STATUS,TIUFXNOD,TIUFFULL
  1. N DTOUT,DIRUT,DIROUT
  1. S VALMBCK="",TIUFXNOD=$G(XQORNOD(0))
  1. S STATUS=$$SELSTAT^TIUFLF5,STATUS=$P(STATUS,U,2) I $D(DTOUT)!(STATUS="") G EDSTX
  1. I "AJ"[TIUFTMPL D TMPLA(STATUS) G EDSTX
  1. ; Template H, C
  1. I STATUS'="ACTIVE" D ONE(STATUS) G EDSTX
  1. D MANY(STATUS)
  1. EDSTX I $D(DTOUT) S VALMBCK="Q" Q
  1. I $G(TIUFFULL) S VALMBCK="R" D RESET^TIUFXHLX
  1. Q
  1. ;
  1. MANY(STATUS) ; Select multiple entries for Status ACTIVE for Templates H, C.
  1. ; Requires STATUS
  1. N LINENO,INFO,TIUFQUIT
  1. I $P(TIUFXNOD,U,4)'["=" W !!," Selecting Entries for Status ACTIVE. You may enter multiple entries",!,"at the same time."
  1. D EN^VALM2(TIUFXNOD,"O") Q:'$O(VALMY(0)) K DIRUT
  1. S (LINENO,TIUFQUIT)=0 F S LINENO=$O(VALMY(LINENO)) Q:'LINENO S INFO=$G(^TMP("TIUF1IDX",$J,LINENO)) D EDONE(STATUS,INFO,.TIUFQUIT) Q:TIUFQUIT D LINEUP^TIUFLLM1(INFO,TIUFTMPL) Q:$D(DIRUT)
  1. Q
  1. ;
  1. ONE(STATUS) ; Select one entry (in loop) for Status INACTIVE or TEST for Templates H, C.
  1. N INFO,TIUFQUIT,EXPAND
  1. I $P(TIUFXNOD,U,4)'["=" W !!," Selecting Entry for Status ",STATUS,". Please select ONE entry. You will be",!,"prompted for another." K DIRUT
  1. F D EN^VALM2(TIUFXNOD,"SO") Q:'$O(VALMY(0)) S INFO=$G(^TMP("TIUF1IDX",$J,$O(VALMY(0)))) D Q:TIUFQUIT!$D(DIRUT)
  1. . I STATUS="TEST" W " ... "
  1. . S (EXPAND,TIUFQUIT)=0 K DIRUT D EDONE(STATUS,.INFO,.TIUFQUIT,.EXPAND) Q:TIUFQUIT!$D(DIRUT)
  1. . D LINEUP^TIUFLLM1(INFO,TIUFTMPL)
  1. . I EXPAND D EXPAND1^TIUFH1(.INFO) S VALMCNT=VALMCNT+$P(INFO,U,3)
  1. . I VALMBCK="R" S VALMSG=$$VMSG^TIUFL D RE^VALM4
  1. . S $P(TIUFXNOD,U,4)="ST"
  1. . W !!,"Selecting Another Entry for Status "_STATUS_":"
  1. Q
  1. ;
  1. TMPLA(STATUS) ; Select multiple entries for Status edit for Template A
  1. ; Requires STATUS
  1. N LINENO,INFO,TIUFQUIT
  1. I $P(TIUFXNOD,U,4)'["=" W !!," Selecting Entries for Status ",STATUS,". You may enter multiple entries",!,"at the same time."
  1. D EN^VALM2(TIUFXNOD,"O") Q:'$O(VALMY(0)) K DIRUT
  1. S (LINENO,TIUFQUIT)=0 F S LINENO=$O(VALMY(LINENO)) Q:'LINENO S INFO=$G(^TMP("TIUF1IDX",$J,LINENO)) D EDONE(STATUS,INFO,.TIUFQUIT) Q:TIUFQUIT!$D(DIRUT)
  1. I VALMBCK="R" D INIT^TIUFA
  1. Q
  1. ;
  1. EDONE(STATUS,INFO,TIUFQUIT,EXPAND) ; Edit Status for one LM entry.
  1. ; Requires STATUS,INFO; returns TIUFQUIT, EXPAND.
  1. N FILEDA,NODE0,TYPE,MSG,STATOK,PFILEDA,LIST
  1. S (TIUFQUIT,EXPAND)=0 S:STATUS'="ACTIVE" VALMBCK=""
  1. I 'INFO W !!," Missing List Manager Information; See IRM",! D PAUSE^TIUFXHLX S TIUFQUIT=1 G EDONX
  1. S FILEDA=+$P(INFO,U,2),NODE0=$G(^TIU(8925.1,FILEDA,0))
  1. I NODE0="" W !!," Entry "_+INFO_" does not exist in the File; See IRM",! D PAUSE^TIUFXHLX S TIUFQUIT=1 G EDONX
  1. S TYPE=$P(NODE0,U,4)
  1. I FILEDA=81!(FILEDA=512) S MSG=" Addendum; Can't edit Status" W !!,MSG,! D PAUSE^TIUFXHLX G EDONX ;P64
  1. I $P(NODE0,U,13),TYPE'="DOC",TIUFWHO'="N" S MSG=" Entry "_+INFO_" is National; Can't edit Status" W !!,MSG,! D PAUSE^TIUFXHLX G EDONX ;P64 restrict msg to nontitles
  1. I TYPE="O" W !!,"Entry "_+INFO_" is an Object. To edit Status please select action Detailed",!,"Display and then select Basics.",! D PAUSE^TIUFXHLX G EDONX
  1. I "AJ"[TIUFTMPL!(STATUS="ACTIVE") S MSG=" Editing Status for Entry "_+INFO_" ... " W !!,MSG H 1
  1. I TYPE="CO",$P(NODE0,U,10) S MSG=" Shared Components have no Status; Can't Edit Status" W !,MSG,! D PAUSE^TIUFXHLX G EDONX
  1. I TYPE="CO" S MSG=" Component Status is determined by Parent; Can't Edit Status" W !,MSG,! D PAUSE^TIUFXHLX G EDONX
  1. L +^TIU(8925.1,FILEDA):1 I '$T W !!," Another user is editing this entry; please try later.",! D PAUSE^TIUFXHLX G EDONX
  1. S PFILEDA=+$O(^TIU(8925.1,"AD",FILEDA,0))
  1. D STATLIST^TIUFLF5(FILEDA,PFILEDA,$E(STATUS),.MSG,.LIST) G:$D(DTOUT) EDONX I LIST'[$E(STATUS) W !,MSG,! D PAUSE^TIUFXHLX G EDONX
  1. I $$STATWORD^TIUFLF5($P(NODE0,U,7))=STATUS S MSG=" Status already "_STATUS W MSG,! D PAUSE^TIUFXHLX G EDONX
  1. D INACTIVE(TYPE,FILEDA,NODE0):STATUS="INACTIVE",TEST(FILEDA,NODE0):STATUS="TEST",ACTIVE(FILEDA,NODE0):STATUS="ACTIVE"
  1. I STATUS="INACTIVE",TYPE="CL"!(TYPE="DC")!(TYPE="DOC") D COLLEXPD(.INFO,0,.EXPAND)
  1. I STATUS="ACTIVE",TYPE="DOC" D COLLEXPD(.INFO,1)
  1. I STATUS="TEST" D COLLEXPD(.INFO,0,.EXPAND)
  1. S VALMSG=$$VMSG^TIUFL
  1. EDONX L -^TIU(8925.1,FILEDA)
  1. Q
  1. ;
  1. INACTIVE(TYPE,FILEDA,NODE0) ; Change Status to Inactive.
  1. ; Requires TYPE, FILEDA, NODE0
  1. N CONTINUE
  1. I TYPE="O" S CONTINUE=$$WARNOBJI(FILEDA) D G:'CONTINUE INACX
  1. . I CONTINUE W " Inactivated" H 1 Q
  1. . W " NOT Inactivated" H 1
  1. I TYPE="CL"!(TYPE="DC"),$$HASITEMS^TIUFLF1(FILEDA) S CONTINUE=$$WARNING I 'CONTINUE W " NOT Inactivated" H 1 G INACX
  1. I TYPE'="O" D
  1. . I $G(CONTINUE) W !," Entry and descendants Inactivated" H 1 Q
  1. . I TYPE="DOC" W !," Entry (& any nonShared Components) Inactivated" H 1 Q
  1. . W " Entry Inactivated" H 1
  1. D AUTOSTAT^TIUFLF6(FILEDA,NODE0,"INACTIVE") S:$P(TIUFXNOD,U,3)["Status" VALMBCK="R"
  1. INACX Q
  1. ;
  1. COLLEXPD(INFO,EXPDFLG,EXPAND) ; Collapse entry, reexpand (to items only) if EXPDFLG=1
  1. ; Requires string INFO. Passes back array INFO. If 'EXPDFLG, must reexpand later, or reinit the whole screen.
  1. S EXPAND=$P(INFO,U,3) Q:'EXPAND
  1. D PARSE^TIUFLLM(.INFO),COLLAPSE^TIUFH1(.INFO)
  1. I $G(EXPDFLG) D EXPAND1^TIUFH1(.INFO)
  1. S VALMCNT=$S($G(EXPDFLG):VALMCNT-EXPAND+$P(INFO,U,3),1:VALMCNT-EXPAND)
  1. Q
  1. ;
  1. WARNING() ; Function Warns user who asks to Inactivate, Returns 1 to Inactivate, 0 to not Inactivate.
  1. N DIR,X,Y
  1. S DIR(0)="Y",DIR("B")="NO",DIR("A",1)=" This will Inactivate ALL DESCENDANTS (except Shared Components). Before"
  1. S DIR("A",2)="Inactivating, please note which Descendants are presently Inactive. This will"
  1. S DIR("A",3)="help you know which Descendants NOT to reactivate later."
  1. S DIR("A")=" Sure you want to Inactivate"
  1. D ^DIR W " ... "
  1. Q Y
  1. ;
  1. ACTIVE(FILEDA,NODE0) ; Change Status to Active.
  1. N TIUOUT
  1. D FULL^VALM1
  1. I ($P(NODE0,U,4)="DOC"),(+$G(^TIU(8925.1,FILEDA,15))'>0) D Q:+$G(TIUOUT)
  1. . W !!,$C(7),"You MUST first map ",$P(NODE0,U),!
  1. . D DIRECT^TIUMAP2(FILEDA)
  1. . I +$G(^TIU(8925.1,FILEDA,15))'>0 W $C(7)," Status unchanged...",! H 2
  1. . I S TIUOUT=1,VALMBCK="R"
  1. D AUTOSTAT^TIUFLF6(FILEDA,NODE0,"ACTIVE") S VALMBCK="R"
  1. I $P(NODE0,U,4)="DOC" W " Entry and any (nonShared) Components Activated",! H 1 Q
  1. W " Entry Activated",! H 1
  1. Q
  1. ;
  1. TEST(FILEDA,NODE0) ; Change Status to Test.
  1. ; Requires FILEDA, NODE0, INFO from EDSTAT.
  1. D AUTOSTAT^TIUFLF6(FILEDA,NODE0,"TEST") S VALMBCK="R"
  1. W !," Entry & any (nonShared) Components changed to TEST",! H 1
  1. Q
  1. ;
  1. WARNOBJI(FILEDA) ; Function Warns user inactivating an object, Returns 1 to Proceed, 0 to Stop.
  1. N DIR,X,Y,USED,WARNANS
  1. S USED=$$OBJUSED^TIUFLJ(FILEDA) I USED'["A" S WARNANS=1 G WARNX
  1. S DIR(0)="Y",DIR("B")="NO",DIR("A",1)=" WARNING: Object is embedded in boilerplate text of active titles. If you"
  1. S DIR("A",2)="inactivate the object, it will not function when users enter documents against"
  1. S DIR("A",3)="such titles. You might want to warn users or even take such titles offline"
  1. S DIR("A",4)="while the Object is inactive."
  1. S DIR("A")=" Continue"
  1. D ^DIR W " ... " S WARNANS=Y
  1. WARNX Q WARNANS
  1. ;