| Date: | Wed, 3 Feb 1999 07:26:49 +1100 |
| Reply-To: | Bigpond <tchur@BIGPOND.COM> |
| Sender: | "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU> |
| From: | Bigpond <tchur@BIGPOND.COM> |
| Subject: | Re: Re-post: SAS, serial I/O and modems |
|
| Content-Type: | text/plain; charset="iso-8859-1" |
>Tim, What platform and version? My V6 2nd Ed. Windoze Companion says the
>COMTIMEOUT=WAIT option prevents the datastep from timing out. It sounds to
>me like you are not getting the documented behavior. The manual also
>mentions the alternative COMTIMEOUT=ZERO as returning a length zero record
>on timeout. In your script, which loops until an acceptable value appears,
>COMTIMEOUT=ZERO might work.
>
>Does your modem have sound? Does it connect? Can you attach a dumb
>terminal (or terminal emulator) and dial by hand?
Tim,
Developing on Win95, SAS 6.12 TS050, to run under Win NT Server 4.0 SP4 with
SAS 6.12 TS050. I tried both the WAIT and the ZERO options with COMTIMEOUT
but got the same results - yes, it seems like it is not working as
documented. The modem connects fine with a dumb terminal, which I am using
to see what responses SAS should be looking for.
Cheers,
Tim
>
>
>Tim Berryhill - Contract Programmer and General Wizard
>TWB2@PGE.COM or http://www.aartwolf.com/twb.html
>Frequently at Pacific Gas & Electric Co., San Francisco
>The correlation coefficient between their views and
>my postings is slightly less than 0
>
>
>> ----------
>> From: Bigpond[SMTP:tchur@BIGPOND.COM]
>> Reply To: Bigpond
>> Sent: Tuesday, February 02, 1999 11:43 AM
>> To: SAS-L@UGA.CC.UGA.EDU
>> Subject: Re-post: SAS, serial I/O and modems
>>
>> Sorry if this is a re-post, but I got an error message saying my original
>> post was rejected (don't know why)...
>>
>>
>> >Does anyone have some SAS which they are willing to share which carries
>> out
>> >a conversation with a dial-up host over a modem. I am not talking about
>> >SAS/CONNECT. I mean data step code which writes to and reads from a
>> serial
>> >port to which a modem is attached. I am trying to write a data step
which
>> >implements a simplified version of TAP (Telelocator Alphanumeric
>> Protocol)
>> >V1.2 so that a SAS batch job can send messages (up to 160 characters) to
>> my
>> >GSM (digital) mobile phone using the GSM Short Message Service. The
>> >following code (incomplete as yet) works as far as dialing the modem,
but
>> >the data step then times out with a LOST CARD statement while waiting
for
>> >the modem to negotiate with the modem at the other end and return a
>> CONNECT
>> >response. Any clues or tips? The number being dialled only works in
>> >Australia, although I believe that most telecom companies offer a
dial-up
>> >interface to pager and mobile phone SMS using the TAP protocol, so the
>> code
>> >may eventually be useful elsewhere.
>> >
>> >Tim Churches
>> >
>> >options noxwait ;
>> >x "mode COM1: BAUD=2400 PARITY=E DATA=7 STOP=1" ;
>> >
>> >filename modem commport 'COM1:' ;
>> >filename modin commport 'COM1:' ;
>> >
>> >data _null_ ;
>> > attrib x length=$200 ;
>> > infile modem unbuffered lrecl=200 pad device=commport comtimeout=wait
>> >missover ;
>> >
>> > file modem ;
>> > put '+++ATZ' ;
>> > file log ;
>> > t = 0 ;
>> > do until (x =: 'OK') ;
>> > input x $ ;
>> > t + 1 ;
>> > put t= x= ;
>> > end ;
>> >
>> > file modem ;
>> > put '+++AT&C1' ;
>> > file log ;
>> > t = 0 ;
>> > do until (x =: 'OK') ;
>> > input x $ ;
>> > t + 1 ;
>> > put t= x= ;
>> > end ;
>> >
>> > file modem ;
>> > put 'ATDT018018767' ;
>> > file log ;
>> > t = 0 ;
>> > do until (x =: 'CONNECT') ;
>> > input x $ ;
>> > t + 1 ;
>> > put t= x= ;
>> > end ;
>> >
>> > file modem ;
>> > put ;
>> > file log ;
>> > t = 0 ;
>> > do until (x =: 'ID=') ;
>> > input x $ ;
>> > t + 1 ;
>> > put t= x= ;
>> > end ;
>> >
>> > file modem ;
>> > logon = byte(27) || "PG1mnmail" ;
>> > put logon ;
>> > file log ;
>> > t = 0 ;
>> > do until (x = byte(6)) ;
>> > input x $ ;
>> > t + 1 ;
>> > put t= x= ;
>> > end ;
>> >
>> > stop ;
>> > run ;
>> >
>> >filename modem ;
>> >
>> >
>> >
>> >
>>
|