| 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 | ; | 
|---|