So .... making it "Out Of Service" is beginning to sound pretty good!
On Thursday 03 February 2005 11:14 am, Greg Kreis wrote:
> If you REALLY, REALLY know that you want an entry to be deleted and you
> KNOW the consequences, you can call the ^DIK API, with DIK and DA set
> appropriately (read the FM programmer manual on this classic API) and
> the record is gone and the indexing is performed. Nothing can stop it,
> so you don't need to loosen the DD and then put it back again.
>
> But, you are warned... ;-)
>
> Kevin Toppenberg wrote:
> >Nancy (and anyone else),
> >
> >There are so many people that get stuck at this point,
> >that I think we really need to do something about it.
> >
> >I'm going full speed to get my site up and running, so
> >I have put my installation script on the back burner
> >(though I will say that it worked for me and got me
> >through this critical first step). Maybe I'll work on
> >it before the April conference in Boston (which I hope
> >to attend).
> >
> >I think you are right about getting the other entries
> >deleted. In my install script I follow these steps
> >(and it seemed to work for me)
> >
> >You'll have to guess what the script functions do, but
> >it shouldn't be too hard...
> >
> >Also, you mentioned about having taskman files left
> >orphaned because they don't match the resulting VOL
> >and UCI. There is code here (thanks to Dee and Dave's
> >documentation from PacificHui) that fixes that.
> >
> >Sometimes, fileman doesn't want you to delete the old
> >entries (it would mess up a running installation). I
> >get around this by temporarily lifting the input
> >transforms, deleting the old entry, then restoring the
> >transform.
> >
> >I won't put the full script here because it is long.
> >But I think it is effective. I retrospective, it
> >might have been more straightforward to put all this
> >in pure M code (rather than in an XML script format),
> >but I was trying to make it more accessible to a
> >newcomer.
> >
> >Kevin
> >
> >================================
> ><UploadRecord id="Institution">Uploading INSTITUTION
> >record</UploadRecord>
> >
> ><REM>=====================================================================
> >==</REM> <REM>clear out all old records in DOMAIN file</REM>
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>set File="DOMAIN"</M> <REM>set up global for
> >subroutine</REM>
> > <M>set SubReturnPoint="StepAA2"</M> <REM>set up
> >where subroutine should return to</REM>
> > <M>set TargetNum=0</M>
> > <Jump label="Sub-DeleteRecs"></Jump> <REM>This will
> >act as a subroutine, returns FirstRec</REM>
> >
> > <Label>StepAA2</Label> <REM> Now put back in the
> >records we want </REM>
> > <UploadRecord id="ParentDomain">Uploading parent
> >DOMAIN record</UploadRecord>
> > <UploadRecord id="Domain" OutVar="TMGRecN">Uploading
> >DOMAIN record</UploadRecord>
> > <M>set TMGRecN("RECNUM")="`"_TMGRecN("RECNUM")</M>
> >
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepA</Label> <REM>Here we ensure only ONE
> >record in VOLUME SET file</REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>set File="VOLUME SET"</M> <REM>set up global for
> >subroutine</REM>
> > <M>set SubReturnPoint="StepA2"</M> <REM>set up
> >where subroutine should return to</REM>
> > <M>set TargetNum=1</M>
> > <Jump label="Sub-DeleteRecs"></Jump> <REM>This
> >will act as a subroutine, returns FirstRec</REM>
> > <Label>StepA2</Label>
> > <M>set VSRecNum=FirstRec</M> <REM>This is the rec
> >num we'll put our info into </REM>
> >
> > <REM> Now put back in the record(s) we want </REM>
> > <UploadRecord id="VolumeSet">Uploading Volume Set
> >record</UploadRecord>
> >
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepB</Label> <REM>Here we ensure only ONE
> >record in UCI ASSOCIATION file</REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>set File="UCI ASSOCIATION"</M> <REM>set up global
> >for subroutine</REM>
> > <M>set SubReturnPoint="StepB2"</M> <REM>set up
> >where subroutine should return to</REM>
> > <M>set TargetNum=1</M>
> > <Jump label="Sub-DeleteRecs"></Jump> <REM>This
> >will act as a subroutine, returns FirstRec</REM>
> > <Label>StepB2</Label>
> > <M>set UARecNum=FirstRec</M> <REM>This is the rec
> >num we'll put our info into </REM>
> >
> > <REM> Now put back in the record(s) we want </REM>
> > <UploadRecord id="UCIAssociation">Uploading UCI
> >association record</UploadRecord>
> >
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepB3</Label> <REM> Here we ensure only ONE
> >record in the DIVISION file </REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>set File="DIVISION"</M> <REM>set up global for
> >subroutine</REM>
> > <M>set SubReturnPoint="StepB4"</M> <REM>set up
> >where subroutine should return to</REM>
> > <M>set TargetNum=1</M>
> > <Jump label="Sub-DeleteRecs"></Jump> <REM>This
> >will act as a subroutine, returns FirstRec</REM>
> > <Label>StepB4</Label>
> > <M>set DIVRecNum=FirstRec</M> <REM>This is the
> >rec num we'll put our info into </REM>
> >
> > <REM> Now put back in the record(s) we want </REM>
> > <UploadRecord id="Division">Uploading Division
> >record</UploadRecord>
> >
> > <REM>TEMP... SKIP Scanning for Taskman
> >limitations</REM>
> > <Jump label="StepD" condition="if 1=0"></Jump>
> >
> ><REM>TEMP... SKIP Scanning for Taskman
> >limitations</REM>
> > <Jump label="StepD" condition="if 1=0"></Jump>
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepC</Label> <REM> Ensure Taskman Control
> >files match our UCI and Vol set </REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <REM> !!Note!!: The TASKS file is in a different
> >format, so can't use [FileUtility] </REM>
> >
> > <M>set TaskL=$order(^%ZTSK(0))</M> <REM>^%ZTSK()
> >is file TASKS </REM>
> > <Jump label="StepD" condition='if TaskL=""'></Jump>
> > <M>set RecNum=0</M>
> > <M>set
> >F11="{{Data.Site.Values[TMG].Field[UCI]}}"</M>
> > <M>set
> >F12="{{Data.Site.Values[TMG].Field[VolumeSet]}}"</M>
> > <M>write "Scanning all tasks, setting UCI,Volset to
> >'",F11,",",F12,"'",!</M>
> > <Label>Loop3</Label>
> > <M>set RecNum=$order(^%ZTSK(RecNum))</M>
> > <M>write "."</M>
> > <Jump label="StepC2" condition='if
> >RecNum=""'></Jump>
> > <M>kill ^%ZTSK(RecNum,.02)</M>
> > <M>set $P(^%ZTSK(RecNum,0),"^",11)=F11</M>
> > <M>set $P(^%ZTSK(RecNum,0),"^",12)=F12</M>
> > <Jump label="Loop3"></Jump>
> > <Label>StepC2</Label>
> > <M>kill F11,F12</M>
> > <M>write !,"Scan completed.",!</M>
> >
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepD</Label>
> > <REM> Clear nodes in VA Taskman schedule file
> >recording volume set names and CPU name </REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>kill Answers</M>
> > <M>set Answers("SILENT-INPUT")=1</M>
> > <M>set Answers("SILENT-OUTPUT")=0</M>
> > <M>set Answers("CONTINUE")="Y"</M>
> > <M>set Answers("SUBMANAGERS")="Y"</M>
> >
> > <Show>Calling routine to shutdown Taskman</Show>
> > <M>do STOP^TMGMKU(.Answers)</M> <REM> used to be:
> >do STOP^ZTMKU </REM>
> >
> > <M>kill ^%ZTSCH("MON")</M>
> > <M>kill ^%ZTSCH("STOP")</M>
> > <M>kill ^%ZTSCH("SUB")</M>
> >
> >
> > <REM>TEMP... SKIP Scanning for device
> >limitations</REM>
> > <Jump label="StepF" condition="if 1=0"></Jump>
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepE</Label>
> > <REM> Ensure that there is no limitations for
> >devices to run only on given CPU's </REM>
> > <REM>Here we set VOLUME SET(CPU) TO "" for all
> >records </REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <FileUtility File="DEVICE"
> >OutVar="MyOutVar"></FileUtility>
> > <M>set RecNum=$get(MyOutVar("FIRSTREC"))</M>
> > <M>write "Scanning all devices, removing any CPU
> >limitations: "</M>
> > <Label>Loop4</Label>
> > <M>write "."</M>
> > <Jump label="StepE2" condition='if
> >RecNum=""'></Jump>
> > <FileUtility File="DEVICE" Fn="set" Field="VOLUME
> >SET(CPU)" RecNum="{{MVar.RecNum}}"
> > Value="" OutVar="MyOutVar"></FileUtility>
> > <M>set RecNum=$get(MyOutVar("NEXTREC"))</M>
> > <Jump label="Loop4"></Jump>
> > <Label>StepE2</Label>
> > <M>write !,"Scan completed.",!</M>
> >
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepF</Label> <REM>Here we ensure only ONE
> >record in TASKMAN SITE PARAMETERS file</REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>set File="TASKMAN SITE PARAMETERS"</M> <REM>set
> >up global for subroutine</REM>
> > <M>set SubReturnPoint="StepF2"</M> <REM>set up
> >where subroutine should return to</REM>
> > <M>set TargetNum=1</M>
> > <Jump label="Sub-DeleteRecs"></Jump> <REM>This
> >will act as a subroutine, returns FirstRec</REM>
> > <Label>StepF2</Label>
> > <M>set TSRecNum=FirstRec</M> <REM>This is the rec
> >num we'll put our info into </REM>
> >
> > <REM> Now put back in the record(s) we want </REM>
> > <UploadRecord id="TaskmanParams">Uploading TASKMAN
> >SITE PARAMETERS record</UploadRecord>
> >
> >
> ><REM>=====================================================================
> >==</REM>
> >
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepG</Label> <REM>Here we ensure only ONE
> >record in MAILMAN SITE PARAMETERS file</REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>set File="MAILMAN SITE PARAMETERS"</M> <REM>set
> >up global for subroutine</REM>
> > <M>set SubReturnPoint="StepG2"</M> <REM>set up
> >where subroutine should return to</REM>
> > <M>set TargetNum=1</M>
> > <Jump label="Sub-DeleteRecs"></Jump> <REM>This
> >will act as a subroutine, returns FirstRec</REM>
> > <Label>StepG2</Label>
> > <M>set MMRecNum=FirstRec</M> <REM>This is the rec
> >num we'll put our info into </REM>
> >
> > <REM> Now put back in the record(s) we want </REM>
> > <Show>Removing input transform (a restriction) on
> >MAILMAN SYSTEM PARAMETERS, field .01</Show>
> > <M>set TMGixfrm=$piece(^DD(4.3,.01,0),"^",5)</M>
> > <M>set $piece(^DD(4.3,.01,0),"^",5)="" ;(was S
> >DINUM=1)</M>
> > <UploadRecord id="MailmanParams">Uploading MAILMAN
> >SITE PARAMETERS record</UploadRecord>
> > <Show>Restoring restriction on MAILMAN SYSTEM
> >PARAMETERS, field .01</Show>
> > <M>set $piece(^DD(4.3,.01,0),"^",5)=TMGixfrm </M>
> >
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepI</Label> <REM>Erase ALL PRIOR RECORDS in
> >KERNEL SYSTEM PARAMETERS</REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>set File="KERNEL SYSTEM PARAMETERS"</M>
> ><REM>set up global for subroutine</REM>
> > <M>set SubReturnPoint="StepI2"</M> <REM>set up
> >where subroutine should return to</REM>
> > <M>set TargetNum=0</M>
> > <Jump label="Sub-DeleteRecs"></Jump> <REM>This
> >will act as a subroutine, returns FirstRec</REM>
> > <Label>StepI2</Label>
> >
> > <REM> Now put back in the record(s) we want </REM>
> > <Show>Removing input transforms (restrictions) on
> >KERNAL SYSTEM PARAMETERS</Show>
> > <M>set TMGixfrm=$piece(^DD(8989.3,.01,0),"^",5) ;"S
> >DINUM=1"</M>
> > <M>set $piece(^DD(8989.3,.01,0),"^",5)=""</M>
> ><REM> remove .01 input transform </REM>
> > <M>set TMG2ixfrm=$piece(^DD(8989.3,214,0),"^",5)</M>
> > <REM> relax field 214/verify-code-lifetime input
> >transform </REM>
> > <M>set temp="K:+X'=X!(X>3650)!(X'>0)!(X?.E1"".""1.N)
> >X"</M>
> > <M>set $piece(^DD(8989.3,.01,0),"^",5)=temp</M>
> > <UploadRecord id="KernelParams">Uploading KERNAL
> >SYSTEM PARAMETERS</UploadRecord>
> > <Show>Restoring restriction on KERNAL SYSTEM
> >PARAMETERS</Show>
> > <M>set $piece(^DD(8989.3,.01,0),"^",5)=TMGixfrm </M>
> > <M>set $piece(^DD(8989.3,214,0),"^",5)=TMG2ixfrm</M>
> >
> ><REM>=====================================================================
> >==</REM> <Label>StepJ</Label> <REM>Here we erase ALL PRIOR
> >RECORDS in RPC BROKER PARAMETERS</REM>
> >
> ><REM>=====================================================================
> >==</REM>
> >
> > <M>set File="RPC BROKER SITE PARAMETERS"</M>
> ><REM>set up global for subroutine</REM>
> > <M>set SubReturnPoint="StepJ2"</M> <REM>set up
> >where subroutine should return to</REM>
> > <M>set TargetNum=0</M>
> > <Jump label="Sub-DeleteRecs"></Jump> <REM>This
> >will act as a subroutine, returns FirstRec</REM>
> > <Label>StepJ2</Label>
> >
> > <REM> Now put back in the record(s) we want </REM>
> > <Show>Removing input transform (a restriction) on
> >RPC BROKER SITE PARAMETERS, field .01</Show>
> > <M>set TMGixfrm=$piece(^DD(8994.1,.01,0),"^",5)</M>
> > <M>set $piece(^DD(8994.1,.01,0),"^",5)="" ;(was S
> >DINUM=1)</M>
> > <REM> Below is the key to get through 8994.17
> >(Listener multiple) input transform </REM>
> > <M>set XWBCHK="I KNOW WHAT I'M DOING"</M>
> > <REM>set
> >TMG2ixfrm=$piece(^DD(8994.17,.01,0),"^",5,99)</REM>
> > <REM>set $piece(^DD(8994.17,.01,0),"^",5)="K
> >DIC(""S"") D ^DIC K DIC S DIC=DIE,X=+Y K:Y'>-1
> >X"</REM>
> > <UploadRecord id="RPCBrokerParams">Uploading RPC
> >BROKER SITE PARAMETERS record</UploadRecord>
> > <Show>Restoring restriction on RPC BROKER SITE
> >PARAMETERS, field .01</Show>
> > <M>set $piece(^DD(8994.1,.01,0),"^",5)=TMGixfrm </M>
> > <REM>set
> >$piece(^DD(8994.17,.01,0),"^",5)=TMG2ixfrm </REM>
> > <M>kill XWBCHK</M>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >__________________________________
> >Do you Yahoo!?
> >Read only the mail you want - Yahoo! Mail SpamGuard.
> >http://promotions.yahoo.com/new_mail
> >
> >
> >-------------------------------------------------------
> >This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
> >Tool for open source databases. Create drag-&-drop reports. Save time
> >by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
> >Download a FREE copy at http://www.intelliview.com/go/osdn_nl
> >_______________________________________________
> >Hardhats-members mailing list
> >[email protected]
> >https://lists.sourceforge.net/lists/listinfo/hardhats-members
--
Nancy Anthracite
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Hardhats-members mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hardhats-members