|
Since your connection is pt-to-pt, you can remove the autodial stuff.
----- Original Message -----
From: "jt" <jt@ee.net>
To: <midrange-l@midrange.com>
Sent: Thursday, November 29, 2001 4:05 PM
Subject: RE: Cmd to read from a comm LINE - pt to pt BSC
> This is a multi-part message in MIME format.
> --
> Joe,
>
> Jerry's tied up, so he asked me to look over the attached code he started.
> I'm backed up myself, so will try to take a look this evening... Needless
> to say this is "As is" software. (I didn't know if it's considered okay
to
> send code attachments, but will try... The RPGLE is a little long to
paste
> into an e-mail...)
>
> BscSendR.txt - RPGLE
> BscSendD.txt - DDS (BSCF)
> BscSendC.txt - CMD
>
> jt
> --
> FBscSend CF E Workstn infds(BscFbk) devid(BscDev)
> F maxdev(*file) usropn
> FDBFfile IF A F 512 Disk usropn
>
> D ExecuteCmd PR extpgm('QCMDEXC')
> D Command 250 const
> D CommandLen 15P 5 const
>
> D BscFbk DS
> D Device 273 282
> D RcvLen 372 375B 0
> D Acquired 279 279
> D Invited 280 280
> D InputData 281 281
> D MajorMinor 401 404
> D MajorCode 2 overlay(MajorMinor)
> D MinorCode 2 overlay(MajorMinor:3)
>
> D BscDev S 10A
> D Action S 1A
> D FileName S 20A
> D Member S 10A
> D CnnNumber S 16A
> D Status S 1A
>
> IDBFfile NS
> I 1 512 DBFdata
>
> C *entry Plist
> C Parm Action
> C Parm FileName
> C Parm Member
> C Parm CnnNumber
> C Parm Status
>
> * Process Action
>
> C Select
> * Close
> C When Action = 'C'
> C Exsr CloseBsc
> * Send
> C When Action = 'S'
> C Exsr SendFile
> * Receive
> C When Action = 'R'
> C Exsr ReceiveFile
> C Endsl
>
> C Eval *inrt = *on
>
>
**********************************************************************
> C SendFile Begsr
>
**********************************************************************
>
> * Open data base file
>
> C Exsr OpenDBF
>
> * request permission to write
>
> C Eval Status = *on
> C Eval SndDta = *blanks
> C Eval SndLen = 0
> C Eval *in32 = *on
> C Write Send
> C Eval *in32 = *off
>
> * start writing file
>
> C Read DBFfile
> C Dow not %eof(DBFfile)
>
> C Eval SndDta = DBFdata
> C Eval SndLen = %len(%trimr(SndDta))
> C Write Send
>
> C Read DBFfile
> C Enddo
>
> * send EOT to allow other side to send
>
> C Eval SndDta = *blanks
> C Eval SndLen = 0
> C Eval *in31 = *on
> C Write Send
> C Eval *in31 = *off
> C Eval Status = *off
>
> * close the file when done
>
> C Close DBFfile
>
> C Endsr
>
>
**********************************************************************
> C ReceiveFile Begsr
>
**********************************************************************
>
> * Open data base file
>
> C Exsr OpenDBF
>
> * start receiving data
>
> C Read Receive
> C Dow not *in90 and MajorMinor <> '0302'
>
> C Eval DBFdata = RcvDta
> C Except DBFout
>
> C Read Receive
> C Enddo
>
> * close the file when done
>
> C Close DBFfile
>
> C Endsr
>
>
**********************************************************************
> C OpenDBF Begsr
>
**********************************************************************
>
> * if BSC not open, make the connection
>
> C If not %open(BscSend)
> C Exsr Connect
> C Endif
>
> * overide the data base file
>
> C Callp ExecuteCmd('ovrdbf dbffile tofile ('
> C + %trim(%subst(FileName:1:10)) +
'/'
> C + %trim(%subst(FileName:11:10))
> C + ') mbr(' + %trim(Member) +
')':250)
>
> C Open DBFfile
>
> C Endsr
>
>
**********************************************************************
> C Connect Begsr
>
**********************************************************************
>
> * open the bisync line
>
> C Callp ExecuteCmd('vrycfg ncb *lin *on '
> C + 'vrywait(15)':250)
> C Open BscSend
>
> * acquire the device
>
> C Eval BscDev = 'BSCSEND'
> C BscDev Acq(e) BscSend
>
> * send the phone number to the modem (Using turn around)
>
> C Eval SndDta = 'D' + %trim(CnnNumber) + '@'
> C Eval SndLen = %len(%trimr(SndDta))
> C Eval *in31 = *on
> C Write Send
> C Eval *in31 = *off
>
> * read call progress until done. When 'A' is returned,
> * the connection is good. D=Dialing, R=Ringing
> * Anything else is bad. If turn around then read again
>
> C Read Receive
> C Dow MajorMinor <> '0302'
> C and (%subst(RcvDta:1:1) = 'D'
> C or %subst(RcvDta:1:1) = 'R'
> C or *in90)
> C Read Receive
> C Enddo
>
> * receive turn around
>
> C Dow not *in90
> C Read Receive
> C Enddo
>
> * if the 'A' not received, close and exit
>
> C Eval Status = %subst(RcvDta:1:1)
> C If Status <> 'A'
> C Exsr CloseBsc
> C Endif
>
> C Endsr
>
>
**********************************************************************
> C CloseBsc Begsr
>
**********************************************************************
>
> C If %open(BscSend)
> C Close BscSend
> C Callp ExecuteCmd('vrycfg ncb *lin *off':250)
> C Endif
> C Eval *inlr = *on
> C Return
>
> C Endsr
>
> ODBFfile EADD DBFout
> O DBFdata 512
> --
> A R SEND
> A 31 ALWWRT
> A 32 RQSWRT
> A VARLEN(&SNDLEN)
> A SNDDTA 1024A
> A SNDLEN 5 0P
> A R RECEIVE
> A RCVTRNRND(90)
> A RCVDTA 1024A
> --
> CMD PROMPT('Send/Receive File using BSC')
> PARM KWD(ACTION) TYPE(*CHAR) LEN(8) RSTD(*YES) +
> DFT(*CLOSE) SPCVAL((*CLOSE C) (*SEND S) +
> (*RECEIVE R)) PROMPT('BSC action')
> PARM KWD(FILE) TYPE(FILENAM) PROMPT('File')
> FILENAM: QUAL TYPE(*NAME) LEN(10) DFT(*NONE)
> QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) SPCVAL((*LIBL +
> *LIBL) (*FILLST *FILLST)) PROMPT('Library')
> PARM KWD(MBR) TYPE(*NAME) LEN(10) DFT(*FIRST) +
> SPCVAL((*FIRST *FIRST)) PROMPT('Member')
> PARM KWD(CNNNBR) TYPE(*CHAR) LEN(16) DFT(*NONE) +
> PROMPT('Connection Number')
> PARM KWD(STATUS) TYPE(*CHAR) LEN(1) PROMPT('BSC +
> Status')
> --
>
> _______________________________________________
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
> To post a message email: MIDRANGE-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
> or email: MIDRANGE-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/midrange-l.
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.