source: IHS-VA_UTILITIES-XB/trunk/ZIBTCP.m@ 1772

Last change on this file since 1772 was 642, checked in by Sam Habiel, 15 years ago

Modified directory structure; moved routines.

File size: 2.7 KB
RevLine 
[641]1ZIBTCP ; IHS/ADC/GTH - TCP PRINT TEST ; [ 02/07/97 3:02 PM ]
2 ;;4.0;XB;;Jul 20, 2009;Build 2
3 ;
4 ;
5 ; This routine must be DONE from the CLOSE EXECUTE when
6 ; printing to a TCP printer. See below for further
7 ; documentation.
8 ;
9 ; H = Host IP address
10 ; P = Port number
11 ; I = Counter
12 ;
13EN ;
14 D EN1
15EXIT ;
16 S ZIBX="rm XM"_ZIBH_".DAT",ZIBX=$$JOBWAIT^%HOSTCMD(ZIBX)
17 KILL ^TMP($J,"XM"_ZIBH),ZIBH,ZIBIO,ZIBI,ZIBX
18 Q
19 ;
20EN1 ;
21 NEW H,P,I
22 S ZIBIO=ION,ZIBIO=$O(^%ZIS(1,"B",ZIBIO,0)),ZIBH=DUZ_$G(ZIBH)
23 Q:'ZIBIO
24 Q:'$D(^%ZIS(1,ZIBIO,90))
25 S H=$P(^%ZIS(1,ZIBIO,90),U,2),P=$P(^(90),U,3)
26 D OPEN
27 Q:'$D(IO)
28 U IO:(::0)
29 F I=1:1 R X:300 S %X=$ZC Q:%X<0 S ^TMP($J,"XM"_ZIBH,I)=X
30 D ^%ZISC
31 O 56::99
32 U 56::"TCP"
33 W /SOCKET(H,P)
34 S X=0
35 F S X=$O(^TMP($J,"XM"_ZIBH,X)) Q:X="" W ^TMP($J,"XM"_ZIBH,X)_$C(10)_$C(13)
36 W !,#,!
37 C 56
38 Q
39 ;
40OPEN ;OPEN HOST FILE
41 F ZIBI=1:1:4 S (IOP,ION)="HOST FILE SERVER #"_ZIBI,%ZIS("IOPAR")="(""XM"_ZIBH_".DAT"":""R"")" D ^%ZIS Q:'POP
42 I POP H 2 G OPEN
43 KILL IOP
44 Q
45 ;
46 ; Technical Notes:
47 ; MSM TCP uses the "!" to clear the TCP buffer. FileMan (RPMS)
48 ; uses "!" for a carriage return, line feed. Further, TCP does not
49 ; recognize "?30" as 30 spaces from left margin. To circumvent these
50 ; problems, I write to a temporary host file, which formats the
51 ; document, and then I read it back into the TMP global. Once it's
52 ; in the TMP global, I $O through the global and write each line
53 ; with a $C(10) and $C(13) concatenated to the string. This process
54 ; handles the CR/LF problem at the remote end.
55 ;
56 ; Port 2501 is the assigned port from the vendor for the Net Que.
57 ;
58 ; As of 3Jan95, this has only been tested on the Unix platform using
59 ; MSM. It should work in a DOS environment using FTP Software's TCP,
60 ; but needs to be tested.
61 ;
62 ; Below is an inquiry of the Device file and Terminal Type file.
63 ;
64 ; OUTPUT FROM WHAT FILE: DEVICE//
65 ; NAME: P-TCP TEST PRINTER $I: 51
66 ; ASK DEVICE: YES ASK PARAMETERS: NO
67 ; VOLUME SET(CPU): TUC SIGN-ON/SYSTEM DEVICE: NO
68 ; FORCED QUEUING: N0
69 ; LOCATION OF TERMINAL: MAT PARKENSON PRINTER
70 ; ASK HOST FILE: NO MARGIN WIDTH: 255
71 ; FORM FEED: # PAGE LENGTH: 256
72 ; BACK SPACE: $C(8) OPEN PARAMETERS: ("XM"_DUZ_$G(ZIBH)_".DAT":"M")
73 ; SUBTYPE: P-TCP PRINTER TYPE: HOST FILE SERVER
74 ;
75 ; Select TERMINAL TYPE NAME: P-TCP PRINTER
76 ; NAME: P-TCP PRINTER SELECTABLE AT SIGN-ON: NO
77 ; RIGHT MARGIN: 255 FORM FEED: #
78 ; PAGE LENGTH: 256 BACK SPACE: $C(8)
79 ; OPEN EXECUTE: S XMREC="R X#255:1" CLOSE EXECUTE: D ^ZIBTCP Q
80 ; DESCRIPTION: Special Terminal Type used only for P-TCP Printer
81 ; Device..
Note: See TracBrowser for help on using the repository browser.