[641] | 1 | ZIBGCHAR ; IHS/ADC/GTH - NONINTERACTIVE MODIFICATIONS OF GLOBAL CHARACTERISTICS ; [ 08/26/2004 12:01 PM ]
|
---|
| 2 | ;;4.0;XB;;Jul 20, 2009;Build 2
|
---|
| 3 | ; XB*3*4 IHS/ADC/GTH 05-22-97 Prevent <INDER> err.
|
---|
| 4 | ; XB*3*5 IHS/ADC/GTH 10-31-97 Prevent errors in return from ^%GCH.
|
---|
| 5 | ; XB*3*9 IHS/SET/GTH XB*3*9 10/29/2002 Cache' mods.
|
---|
| 6 | ; XB*3*10 IHS/ITSC/DMJ 8/19/2004 Bad global name.
|
---|
| 7 | ;
|
---|
| 8 | ; Not all capabilities of the implementation-specific global
|
---|
| 9 | ; characteristics routines are reflected in this routine.
|
---|
| 10 | ;
|
---|
| 11 | ; The argument for each entry point is the unsubscripted
|
---|
| 12 | ; name of the global whose characteristics you want to
|
---|
| 13 | ; change, with NO leading circumflex.
|
---|
| 14 | ;
|
---|
| 15 | ; If the call is successful, 0 is returned.
|
---|
| 16 | ;
|
---|
| 17 | ; If the call is not successful, a positive integer is
|
---|
| 18 | ; returned, and the cause can be retrieved at the ERR()
|
---|
| 19 | ; entry point.
|
---|
| 20 | ;
|
---|
| 21 | ; E.g's:
|
---|
| 22 | ; S %=$$NOJOURN^ZIBGCHAR("AUTTSITE")
|
---|
| 23 | ; I % W !,$$ERR^ZIBGCHAR(%)
|
---|
| 24 | ;
|
---|
| 25 | Q
|
---|
| 26 | ;
|
---|
| 27 | ;Begin New Code;IHS/SET/GTH XB*3*9 10/29/2002
|
---|
| 28 | KILL(ZIBGLOB) ;PEP - Kill global or global referenced at the top level
|
---|
| 29 | NEW QF,X
|
---|
| 30 | I '$L($G(ZIBGLOB)) Q 1
|
---|
| 31 | I ZIBGLOB'["," D Q QF ; just one global to kill
|
---|
| 32 | . S QF=$$PROCESS("D","N")
|
---|
| 33 | . I QF Q
|
---|
| 34 | . KILL @("^"_ZIBGLOB)
|
---|
| 35 | . I $$VERSION^%ZOSV(1)["Cache" S X=$ZU(68,28,1) ;disallow kill again
|
---|
| 36 | .Q
|
---|
| 37 | ;multiple globals to kill, comma delimited string like "gbl1,gbl2,gbl3"
|
---|
| 38 | F X=1:1:$L(ZIBGLOB,",") S ZIBGLOB(X)=$P(ZIBGLOB,",",X)
|
---|
| 39 | F X=1:1:$L(ZIBGLOB,",") D Q:QF
|
---|
| 40 | . S QF=$$KILLOK(ZIBGLOB(X))
|
---|
| 41 | . I QF Q
|
---|
| 42 | . KILL @("^"_ZIBGLOB(X)),ZIBGLOB(X)
|
---|
| 43 | .Q
|
---|
| 44 | I $$VERSION^%ZOSV(1)["Cache" S X=$ZU(68,28,1) ;disallow kill again
|
---|
| 45 | Q QF
|
---|
| 46 | ;
|
---|
| 47 | ;End New Code;IHS/SET/GTH XB*3*9 10/29/2002
|
---|
| 48 | KILLOK(ZIBGLOB) ;PEP - Allow kill of global.
|
---|
| 49 | Q $$PROCESS("D","N")
|
---|
| 50 | ;
|
---|
| 51 | KILLNO(ZIBGLOB) ;PEP - Prevent kill'ing of global.
|
---|
| 52 | Q $$PROCESS("D","Y")
|
---|
| 53 | ;
|
---|
| 54 | JOURN(ZIBGLOB) ;PEP - Set Journaling to ALWAYS.
|
---|
| 55 | Q $$PROCESS("J","A")
|
---|
| 56 | ;
|
---|
| 57 | NOJOURN(ZIBGLOB) ;PEP - Set Journaling for global to NEVER.
|
---|
| 58 | Q $$PROCESS("J","N")
|
---|
| 59 | ;
|
---|
| 60 | UCIJOURN(ZIBGLOB) ;PEP - Journal when UCI is Journaled.
|
---|
| 61 | Q $$PROCESS("J","U")
|
---|
| 62 | ;
|
---|
| 63 | PROCESS(ZIBFLAG,ZIBVAL) ;
|
---|
| 64 | I '$L($G(ZIBGLOB)) Q 1
|
---|
| 65 | ;I '(ZIBGLOB?1.8U) Q 5;IHS/SET/GTH XB*3*9 10/29/2002
|
---|
| 66 | ;I '(ZIBGLOB?1.8U!(ZIBGLOB?1"%"1.7U)) Q 5 ;Cache needs to SET % globals;IHS/SET/GTH XB*3*9 10/29/2002 XB*3*10 next line will do the job
|
---|
| 67 | I '$D(@("^"_ZIBGLOB)) Q 2
|
---|
| 68 | ; NEW O ; XB*3*4 IHS/ADC/GTH 05-22-97 Prevent <INDER> err.
|
---|
| 69 | ; S O=$P(^%ZOSF("OS"),"-",1) ; XB*3*4 IHS/ADC/GTH 05-22-97 Prevent <INDER> err.
|
---|
| 70 | ; I '$L($T(@O)) Q 3 ; XB*3*4 IHS/ADC/GTH 05-22-97 Prevent <INDER> err.
|
---|
| 71 | ; G @O ; XB*3*4 IHS/ADC/GTH 05-22-97 Prevent <INDER> err.
|
---|
| 72 | ; I $P(^%ZOSF("OS"),"^",1)["MSM" G MSM ; XB*3*4 IHS/ADC/GTH 05-22-97 Prevent <INDER> err.
|
---|
| 73 | I $$VERSION^%ZOSV(1)["Cache" Q $$CACHE(ZIBFLAG,ZIBGLOB,ZIBVAL) ;IHS/SET/GTH XB*3*9 10/29/2002
|
---|
| 74 | I $P(^%ZOSF("OS"),"^",1)'["MSM" Q 3 ; XB*3*5 IHS/ADC/GTH 10-31-97 Prevent errors in return from ^%GCH.
|
---|
| 75 | D MSM
|
---|
| 76 | I '$D(ZTQUEUED) D HOME^%ZIS U IO(0) ; XB*3*5 IHS/ADC/GTH 10-31-97 Prevent errors in return from ^%GCH.
|
---|
| 77 | Q 0 ; XB*3*5 IHS/ADC/GTH 10-31-97 Prevent errors in return from ^%GCH.
|
---|
| 78 | ; Q 3 ; XB*3*4 IHS/ADC/GTH 05-22-97 Prevent <INDER> err. ; XB*3*5 IHS/ADC/GTH 10-31-97 Prevent errors in return from ^%GCH.
|
---|
| 79 | ;
|
---|
| 80 | ;Begin New Code;IHS/SET/GTH XB*3*9 10/29/2002
|
---|
| 81 | CACHE(ZIBFLAG,ZIBGLOB,ZIBVAL) ;PEP - allow/prevent kill or enable/disable journaling on Cache
|
---|
| 82 | ;TASSC/MFD added subroutine to mimic portions of %GCH that Cache can do
|
---|
| 83 | ; -Patterned after CALL subroutine of MSM's %GCH but an extrinsic
|
---|
| 84 | ; -Less options than MSM- journaling is either on or off for a global
|
---|
| 85 | ; as there is no Journal entire UCI option
|
---|
| 86 | ; -Allowing top-level kill is by process not by global specification
|
---|
| 87 | ; -If the call is successful, 0 is returned.
|
---|
| 88 | ;
|
---|
| 89 | ; ZIBGLOB = global reference, no leading ^
|
---|
| 90 | ; ZIBFLAG can be "J" or "D"- J is for journaling on or off, D is for
|
---|
| 91 | ; allowing top kill or not
|
---|
| 92 | ; ZIBVAL = for Journaling- E, A or U for enable, D, N or null for disable
|
---|
| 93 | ; for Prev kill- Y to prevent kill, N to allow kill
|
---|
| 94 | ;
|
---|
| 95 | I '(ZIBGLOB?1.8AN!(ZIBGLOB?1"%"1.7AN)) Q 5 ; XB*3*10 allow lower case
|
---|
| 96 | I '$D(@("^"_ZIBGLOB)) Q 2
|
---|
| 97 | I ZIBFLAG="D",ZIBVAL="N" NEW X S X=$ZU(68,28,0) Q 0 ;don't prevent top-level kill for the process
|
---|
| 98 | I ZIBFLAG="D",ZIBVAL="Y" NEW X S X=$ZU(68,28,1) Q 0 ;prevent top-level kill for the process
|
---|
| 99 | I ZIBFLAG="J" NEW ZIBRC D
|
---|
| 100 | .S ZIBVAL=$S(ZIBVAL="E":4,ZIBVAL="A":4,ZIBVAL="U":4,ZIBVAL="N":0,ZIBVAL="D":0,ZIBVAL="":0,1:1)
|
---|
| 101 | .I ZIBVAL'=1 S ZIBRC=$$SetJournalType^%DM("",ZIBGLOB,ZIBVAL)
|
---|
| 102 | .Q
|
---|
| 103 | I ZIBRC=1 Q 0 ;Cache returns a 1 if successful
|
---|
| 104 | Q 1 ; any other condition is bad so quit 1
|
---|
| 105 | ;
|
---|
| 106 | ;End New Code;IHS/SET/GTH XB*3*9 10/29/2002
|
---|
| 107 | MSM ; Micronetics Standard MUMPS.
|
---|
| 108 | I '$L($T(CALL^%GCH)) Q 4
|
---|
| 109 | S:$D(ZTQUEUED) CALL="" ; Tell ^%GCH not to talk if errors.
|
---|
| 110 | KILL O
|
---|
| 111 | NEW (ZIBFLAG,ZIBGLOB,ZIBVAL) ; XB*3*5 IHS/ADC/GTH 10-31-97 Prevent errors in return from ^%GCH.
|
---|
| 112 | D CALL^%GCH(ZIBFLAG,ZIBGLOB,ZIBVAL)
|
---|
| 113 | KILL CALL
|
---|
| 114 | ; Q 0 ; XB*3*5 IHS/ADC/GTH 10-31-97 Prevent errors in return from ^%GCH.
|
---|
| 115 | Q ; XB*3*5 IHS/ADC/GTH 10-31-97 Prevent errors in return from ^%GCH.
|
---|
| 116 | ;
|
---|
| 117 | ERR(Z) ;PEP - Return cause of error.
|
---|
| 118 | Q $P($T(@Z),";;",2)
|
---|
| 119 | 1 ;;NO GLOBAL SPECIFIED IN PARAMETER
|
---|
| 120 | 2 ;;GLOBAL DOES NOT EXIST
|
---|
| 121 | 3 ;;OPERATING SYSTEM NOT SUPPORTED
|
---|
| 122 | 4 ;;WRONG VERSION OF MSM'S ^%GCH
|
---|
| 123 | 5 ;;BAD GLOBAL NAME
|
---|
| 124 | ;
|
---|
| 125 | ;
|
---|
| 126 | TEST ;
|
---|
| 127 | NEW AZHB,AZHB1
|
---|
| 128 | F AZHBCTR=1:1 S AZHB=$P($T(DATA+AZHBCTR),";",3) Q:AZHB="###" D T1(AZHB),T2(AZHB)
|
---|
| 129 | Q
|
---|
| 130 | ;
|
---|
| 131 | T1(AZHB) ;
|
---|
| 132 | W !,"No Journaling For '",AZHB,"'"
|
---|
| 133 | S AZHB1=$$NOJOURN(AZHB)
|
---|
| 134 | W ?28," : ",AZHB1
|
---|
| 135 | I AZHB1 W " : ",$$ERR(AZHB1)
|
---|
| 136 | E W " : <kool>"
|
---|
| 137 | Q
|
---|
| 138 | ;
|
---|
| 139 | T2(AZHB) ;
|
---|
| 140 | W !,"No Killing For '",AZHB,"'"
|
---|
| 141 | S AZHB1=$$KILLNO(AZHB)
|
---|
| 142 | W ?28," : ",AZHB1
|
---|
| 143 | I AZHB1 W " : ",$$ERR(AZHB1)
|
---|
| 144 | E W " : <kool>"
|
---|
| 145 | Q
|
---|
| 146 | ;
|
---|
| 147 | DATA ;
|
---|
| 148 | ;;
|
---|
| 149 | ;;FREDDATA
|
---|
| 150 | ;;ACHSDATA
|
---|
| 151 | ;;AUTTSITE
|
---|
| 152 | ;;^AUTTLOC
|
---|
| 153 | ;;jen
|
---|
| 154 | ;;44
|
---|
| 155 | ;;DIC(4,
|
---|
| 156 | ;;###
|
---|