| 1 | OCXSEND ;SLC/RJS,CLA - BUILD RULE TRANSPORTER ROUTINES ;2/01/01 10:10
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32,74,96,105**;Dec 17,1997
|
---|
| 3 | ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
|
---|
| 4 | ;
|
---|
| 5 | S ;
|
---|
| 6 | N X,IOP,TOTL S TOTL=0
|
---|
| 7 | N CVER,RCNT,RSIZE,LASTFILE,HEADER1,HEADER2,HEADER3,HEADER4,HEADER5
|
---|
| 8 | N OCXASK,OCXID,OCXLIN2,OCXLIN3,OCXPATCH,OCXSCR,PARM,PARMV,DIE,DIERR,DIQ2,FCPARM,TEXT
|
---|
| 9 | I '$D(IOM) S IOP=0 D ^%ZIS K IOP
|
---|
| 10 | K ^TMP("OCXSEND",$J),^UTILITY($J),OCXPATH
|
---|
| 11 | K ^UTILITY($J),OCXPATH
|
---|
| 12 | S ^TMP("OCXSEND",$J)=($P($H,",",2)+($H*86400)+(4*60*60))_" <- ^TMP ENTRY EXPIRATION DATE FOR ^OCXOPURG"
|
---|
| 13 | S OCXLIN2=$T(+2)
|
---|
| 14 | S OCXLIN3=$T(+3)
|
---|
| 15 | ;
|
---|
| 16 | D ^OCXSEND1 ; Get List of Objects to Transport
|
---|
| 17 | ;
|
---|
| 18 | I '$O(^TMP("OCXSEND",$J,"LIST",0)) K ^TMP("OCXSEND",$J) Q ; Nothing selected so Quit
|
---|
| 19 | ;
|
---|
| 20 | S OCXASK="" F D Q:$L(OCXASK)
|
---|
| 21 | .W !
|
---|
| 22 | .W !,"When the transport routine encounters locally"
|
---|
| 23 | .W !,"altered rule data at a site, do you want to:"
|
---|
| 24 | .;
|
---|
| 25 | .S OCXASK=$$READ("S^O:Overwrite local data;D:Display locally altered data only;A:Ask the site what to do","(O)verwrite, (D)isplay, or (A)sk the site ? ","Ask")
|
---|
| 26 | ;
|
---|
| 27 | Q:(OCXASK[U)
|
---|
| 28 | I (OCXASK="O") W !!,"Locally altered data will be overwritten without asking.",!!
|
---|
| 29 | I (OCXASK="D") W !!,"Locally altered data will be displayed only.",!!
|
---|
| 30 | I (OCXASK="A") W !!,"Sites will be asked before locally altered data is overwritten.",!!
|
---|
| 31 | ;
|
---|
| 32 | S OCXPATCH="" F D Q:$L(OCXPATCH)
|
---|
| 33 | .W !!,"Enter Patch ID (ex. OR*3*96): " R OCXPATCH:DTIME E S OCXPATCH="^" Q
|
---|
| 34 | .Q:(OCXPATCH="^")
|
---|
| 35 | .I '$L(OCXPATCH) S OCXPATCH="^^" Q
|
---|
| 36 | .I $L(OCXPATCH),'(OCXPATCH?1"OR*"1N1"*"1.4N) D S OCXPATCH="" Q
|
---|
| 37 | ..W !!
|
---|
| 38 | ..W:'(OCXPATCH["?") "Invalid"
|
---|
| 39 | ..W " Format -> OR*v*ppp"
|
---|
| 40 | ..W !," v = Package Version."
|
---|
| 41 | ..W !," ppp = Patch Number."
|
---|
| 42 | ..W !
|
---|
| 43 | Q:(OCXPATCH="^")
|
---|
| 44 | S:(OCXPATCH="^^") OCXPATCH=""
|
---|
| 45 | I $P(OCXPATCH,"*",3) S $P(OCXLIN2,";",5)="**"_$P(OCXPATCH,"*",3)_"**"
|
---|
| 46 | I $L(OCXPATCH) S OCXPATCH="(Delete after Install of "_OCXPATCH_")"
|
---|
| 47 | ;
|
---|
| 48 | Q:'$$RSDEL
|
---|
| 49 | ;
|
---|
| 50 | D ^OCXSEND2 ; Get File Data
|
---|
| 51 | ;
|
---|
| 52 | S TOTL=$$EN^OCXSEND3 ; File Routines
|
---|
| 53 | ;
|
---|
| 54 | S TOTL=TOTL+$$EN^OCXSENDA ; File Main Runtime Library Routine
|
---|
| 55 | ;
|
---|
| 56 | S TOTL=TOTL+$$EN^OCXSEND4 ; File Utility Runtime Library Routine 0
|
---|
| 57 | ;
|
---|
| 58 | S TOTL=TOTL+$$EN^OCXSEND5 ; File Utility Runtime Library Routine 1
|
---|
| 59 | ;
|
---|
| 60 | S TOTL=TOTL+$$EN^OCXSEND6 ; File Utility Runtime Library Routine 2
|
---|
| 61 | ;
|
---|
| 62 | S TOTL=TOTL+$$EN^OCXSEND7 ; File Utility Runtime Library Routine 3
|
---|
| 63 | ;
|
---|
| 64 | S TOTL=TOTL+$$EN^OCXSEND8 ; File Utility Runtime Library Routine 4
|
---|
| 65 | ;
|
---|
| 66 | EXIT K ^TMP("OCXSEND",$J),^UTILITY($J)
|
---|
| 67 | ;
|
---|
| 68 | W !!,TOTL," total lines of code filed.",!!
|
---|
| 69 | ;
|
---|
| 70 | Q
|
---|
| 71 | ;
|
---|
| 72 | READ(OCX0,OCXA,OCXB,OCXL) ;
|
---|
| 73 | N X,DIR,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
| 74 | Q:'$L($G(OCX0)) U
|
---|
| 75 | S DIR(0)=OCX0
|
---|
| 76 | S:$L($G(OCXA)) DIR("A")=OCXA
|
---|
| 77 | S:$L($G(OCXB)) DIR("B")=OCXB
|
---|
| 78 | F X=1:1:($G(OCXL)-1) W !
|
---|
| 79 | D ^DIR
|
---|
| 80 | I $D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT) Q U
|
---|
| 81 | Q Y
|
---|
| 82 | ;
|
---|
| 83 | CUCI() Q:'$D(^%ZOSF("UCI")) "" N Y X ^%ZOSF("UCI") Q Y
|
---|
| 84 | ;
|
---|
| 85 | NETNAME() ;
|
---|
| 86 | Q:$L($G(^XMB("NETNAME"))) ^XMB("NETNAME")
|
---|
| 87 | Q:$L($G(^XMB("NAME"))) ^XMB("NAME")
|
---|
| 88 | Q $$CUCI
|
---|
| 89 | ;
|
---|
| 90 | RSDEL() ;
|
---|
| 91 | ;
|
---|
| 92 | W !!,"Scanning for old rule transport routines..."
|
---|
| 93 | N X,CNT,RCNT,RLIST,RNAME
|
---|
| 94 | S RCNT=0
|
---|
| 95 | ;
|
---|
| 96 | ; Scan for Routines To Delete
|
---|
| 97 | ;
|
---|
| 98 | ; Main Routine
|
---|
| 99 | S RNAME=$$RNAME^OCXSEND3(0,0) I $$RFIND(RNAME,100) S RLIST(RNAME)=""
|
---|
| 100 | ;
|
---|
| 101 | ; Runtime Library routines
|
---|
| 102 | F CNT=0:1:35 S RNAME=$$RNAME^OCXSEND3(CNT,1) I $$RFIND(RNAME,CNT) S RLIST(RNAME)=""
|
---|
| 103 | ;
|
---|
| 104 | ; Data Routines
|
---|
| 105 | F CNT=0:1:46655 S RNAME=$$RNAME^OCXSEND3(CNT,2) I $$RFIND(RNAME,CNT) S RLIST(RNAME)=""
|
---|
| 106 | ;
|
---|
| 107 | I '$L($O(RLIST(""))) W !,"No old rule transport routines found..." H 2 Q 1
|
---|
| 108 | ;
|
---|
| 109 | W !!,"These routines will be deleted and overwritten."
|
---|
| 110 | Q:'$$READ("Y"," Do you want to proceed?","NO") 0
|
---|
| 111 | ;
|
---|
| 112 | ; Delete The routines
|
---|
| 113 | ;
|
---|
| 114 | I '$D(^%ZOSF("DEL")) W !!,"Old rule transport routines not deleted (^%ZOSF(""DEL"") undefined)" Q 0
|
---|
| 115 | ;
|
---|
| 116 | S RNAME="" F RCNT=1:1 S RNAME=$O(RLIST(RNAME)) Q:'$L(RNAME) D
|
---|
| 117 | .W !,RNAME
|
---|
| 118 | .I $$RDEL(RNAME) W " Deleted..." Q
|
---|
| 119 | .W " Not Deleted..."
|
---|
| 120 | ;
|
---|
| 121 | W !!,RCNT," routine",$S((RCNT=1):"",1:"s")," deleted."
|
---|
| 122 | ;
|
---|
| 123 | H 2 Q 1
|
---|
| 124 | ;
|
---|
| 125 | RFIND(X,C) ;
|
---|
| 126 | W:($X>70) ! W:'(C#100) "."
|
---|
| 127 | Q:'$L(X) 0 X "S TEXT=$T(+1^"_X_")" Q:'$L(TEXT) 0
|
---|
| 128 | W !,X Q 1
|
---|
| 129 | Q
|
---|
| 130 | ;
|
---|
| 131 | RDEL(X) ;
|
---|
| 132 | ;
|
---|
| 133 | Q:'$L(X) 0 X "S TEXT=$T(+1^"_X_")" Q:'$L(TEXT) 0
|
---|
| 134 | X ^%ZOSF("DEL") Q 1
|
---|
| 135 | ;
|
---|