| [613] | 1 | LAKERM2 ;SLC/RWF/DLG - BUILD A KERMIT FILE TO SEND THRU LSI ;7/20/90  09:25 ; | 
|---|
|  | 2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;;Sep 27, 1994 | 
|---|
|  | 3 | ;Call with X=data, LAKTYPE=record type, TSK=instrument # | 
|---|
|  | 4 | ;Files the records in ^LA(TSK,"O",n) | 
|---|
|  | 5 | Q | 
|---|
|  | 6 | L1 S:'$D(LAKRM) LAKRM=94,LAKSEQ=0 S:LAKTYPE="S" LAKSEQ=0 | 
|---|
|  | 7 | I LAKTYPE'="S" D POUND:X["#",QCTRL:X?.E1C.E | 
|---|
|  | 8 | F IX2=0:0 D L2 Q:X']"" | 
|---|
|  | 9 | Q | 
|---|
|  | 10 | L2 S LAKSPK=$C(LAKSEQ+32)_LAKTYPE_$E(X,1,+LAKRM),X=$E(X,LAKRM+1,299) | 
|---|
|  | 11 | D SPACK^LAKERMIT S LAKSEQ=LAKSEQ+1#64 | 
|---|
|  | 12 | L ^LA(TSK) S O=^LA(TSK,"O")+1,^("O")=O,^("O",O)=LAKSPK L | 
|---|
|  | 13 | Q | 
|---|
|  | 14 | POUND F I=2:1 S I=$F(X,"#",I) Q:I<1  S X=$E(X,1,I-2)_"#"_$E(X,I-1,999) | 
|---|
|  | 15 | Q | 
|---|
|  | 16 | QCTRL F I=2:1 Q:I>$L(X)  I $A(X,I)<32 S X=$E(X,1,I-1)_"#"_$C($A(X,I)+32)_$E(X,I+1,999) | 
|---|
|  | 17 | Q | 
|---|
|  | 18 | START ;A call is made to here once to do setup. | 
|---|
|  | 19 | S LAKTYPE="S",X="~} @-#N1" D L1 | 
|---|
|  | 20 | Q | 
|---|
|  | 21 | END ;At the end of data a call is made to here. | 
|---|
|  | 22 | S LAKTYPE="Z",X="" D L1 S LAKTYPE="B",X="" D L1,SEND L  G QUIT | 
|---|
|  | 23 | Q | 
|---|
|  | 24 | SEND L ^LA(TSK,"P") Q:$S($D(^LA(TSK,"P")):$P(^("P"),"^",2),1:"QUIT")'="QUIT"  Q:'$D(^LA(TSK,"O",0))  Q:^LA(TSK,"O")'>^LA(TSK,"O",0) | 
|---|
|  | 25 | S ^LA(TSK,"P")="KERMIT^OUT",^("P3")=0,T=TSK L ^LA("Q") S Q=^LA("Q")+1,^("Q")=Q,^("Q",Q)=T L | 
|---|
|  | 26 | Q | 
|---|
|  | 27 | DATA ;A call is made to here for each record in the load list. | 
|---|
|  | 28 | S LAKTYPE="D" D L1 Q | 
|---|
|  | 29 | Q | 
|---|
|  | 30 | NEXT ;Finish old file start new. | 
|---|
|  | 31 | I LAKTYPE'="S" S LAKTYPE="Z" D L1 | 
|---|
|  | 32 | S LAKTYPE="F",X="S "_LRFILE D L1 | 
|---|
|  | 33 | Q | 
|---|
|  | 34 | QUIT K C,CHKSUM,LAKRM,LAKSEQ,LAKSPK,LAKTYPE,X,O | 
|---|
|  | 35 | Q | 
|---|