Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Problem with New changes from a bank??? 2

Status
Not open for further replies.

papollo

Programmer
Oct 19, 2001
71
US
Help!

We receive bank data from three banks.
Well one of them decided to change their logon steps.
I have been able to handle all previous changes with no problems.
This one really has me stumped!!!!

Here is goes!

This is the first put of the captured screen file:
_________________________________________________________
Procomm Plus Ready!























X0ocomm Plus Ready!
7

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $





W E L C O M E T O



I N F O A C C E S S



System/32, VOS Release 14.2.1GA.aa, Module %bbt#m1

Please login 11:47:32
____________________________________________________________________

I recorded my steps. Here is that script
____________________________________________________________________
;Recorded script. Editing may be required.
proc main
transmit "^M^M"
endproc
____________________________________________________________________
So I put the " transmit "^M^M" " line in the original script and it just sits there.
If I hit the {Enter} key twice. The original script takes off just fine.

Here is the first part of the original script:
_____________________________________________________________________
proc main

Initstart()
GetData()
Done()

endproc


proc Initstart

set modem connection "U.S. Robotics 56K Voice INT PnP"

Set xmodem overwrite ON
Set Port Parity Odd
Set capture autostart ON
Set Capture Overwrite On
Set capture recordmode SCREEN
Set Capture file "BAIbbt.txt"
Set terminal rxcr CR_LF
Set duplex full
clear
locate 0 0

Endproc


proc Getdata


dialnumber DATA "18004477409"
while $DIALING
endwhile

if $CARRIER
transmit "^M^M"

_______________________________________________________________

Thank you
 
At what point do you have to hit the Enter key twice? I would try using a waitfor statement to wait on a specific string that the bank sends just before you want to send the keystrokes. After you have the waitfor command in place, put the transmit statement after it and see if that works better. My guess is that the script is sending the Enter keys immediately after you connect and the bank system is not acknowledging them that early.
aspect@aspectscripting.com
 
Knob:

Thank you for replying.

The script just sits at the " Procomm Plus Ready! " Line.
I hit Enter twice and it runs from there.

Can you explain a little more in depth about how i would use the waitfor and transmit statements.

By the way I checked out your web site. Very nice!
 
Oooops!

Never mind about the explaination of the wait and transmit command.
I am using them!!

 
No!

Here is the whole script::::
---------------------------------------------------------------
;
;
;

proc main

Initstart()
GetData()
Done()

endproc


proc Initstart

set modem connection "U.S. Robotics 56K Voice INT PnP"

Set xmodem overwrite ON
Set Port Parity Odd
Set capture autostart ON
Set Capture Overwrite On
Set capture recordmode SCREEN
Set Capture file "BAIbbt.txt"
Set terminal rxcr CR_LF
Set duplex full
clear
locate 0 0

Endproc


proc Getdata

;dialnumber DATA "9999999"
; Changed phone number on 11-21-02. Per BB&T old number no longer working.
dialnumber DATA "18009999999"
while $DIALING
endwhile

if $CARRIER
transmit "^M^M"




; Paul Apollonia 10/23/01.
;If Failure
;Hangup
;PWexit
;EndIf


waitfor "Please login^M^J"
transmit "login XXXX^M"
waitfor "Password?"
transmit "XXXX^M"
waitfor "Pause scrolling as the screen fills with data (Yes or No)? >"
transmit "X^M"
waitfor "OPERATOR IDENTIFICATION >"
transmit "X^M"
waitfor "OPERATOR PASSWORD >"
transmit "XXXXXXXX^M"
waitfor "Please enter SERVICE >"
transmit "XX^M"
waitfor "Please enter OUTPUT FORMAT >"
transmit "XX^M"
waitfor "Transaction Posting DATE >"
; example (For Manual)transmit "01/04^M"
;transmit Linebuffer
transmit "^M"
waitfor "Please enter ACCOUNT SELECTION >"
transmit "XX^M"
waitfor "Output DATA to Screen (Yes or No)? >"
transmit "X^M"
waitfor "Please enter OUTPUT FORMAT >"
transmit "X^M"
else
errormsg "Sorry, not connected."
endif

endproc

proc Done

hangup
pwexit

endpro
 
Do you have to press the Enter key twice to "wake up" the system, meaning there is no text present until you send the keystrokes? If so, try putting a pause 3 command before the transmit statement and see if that helps the situation. aspect@aspectscripting.com
 
Knob:

Yes, I do have to press enter twice to wake up the system.

Let me try Pause 3 command, I'll get back to you.

Thanks
 
Knob:

Well I put the Pause 3 statement beforew the transmit statement.
Ran it and it just sat there.

Another thing I don't understand is that the set commands are not changing the modem setting. I have to manually go into ProComm32 prior to running this script and change the parity from None to Odd.

Thanks
 
This is a stab in the dark, but I did some bank dial up scripts back in 1998. I remember that a couple of the systems did not respond to "M" as a return key. I had to use the virtual key codes instead. The virtual key command is "sendvkey".

Specifically for a hard return you would write

sendvkey 0x0D
sendvkey 0x0D

instead of

transmit "^M^M"

Might help, couldn't hurt...

Robert Harris
 
Just to make sure I'm understanding everything (since the thread is getting a little big long), when you first dial in, nothing is displayed until you hit the Enter key twice? What happens if you take your original recorded script:

proc main
transmit "^M^M"
endproc

and then run that after making a connection to the bank system (without using the script you ahve developed thus far)? It seems to me that your current script should work if I understand the details, but it is not for some reason.

As for the modem settings, you can only modify these values for a modem connection after the connection has been made (or by dialing a Connection Directory entry with the correct settings). Try moving the set commands that affect the port after the while $DIALING/endwhile statements in your Getdata procedure.
aspect@aspectscripting.com
 
RLHarris, Knob:

Lets me try to answer both of your posts.
_____________________________________
RLHarris:

I tried the:
sendvkey 0x0D
sendvkey 0x0D

The script is stil acting like it did.
________________________________________
Knob:

I tried manually dialing the bank and running the short script.
Nothing happened,

I did your other suggestion:
I Moved the set port command below the while $DIALING/endwhile statements
Then ran the script did the nothing different.
Still just Sitting there after the connection.
_______________________________________

Thanks
 
In the original recorded script:

proc main
transmit "^M^M"
endproc

try modifying the string so it reads "^M~~^M". This will insert a one second pause between the carriage returns. My only guess at the moment is that Procomm is sending the carriage returns to quickly for the bank system and it thinks only one carriage return has been sent. aspect@aspectscripting.com
 
In the original recorded script:

proc main
transmit "^M^M"
endproc

try modifying the string so it reads "^M~~^M". This will insert a one second pause between the carriage returns. My only guess at the moment is that Procomm is sending the carriage returns to quickly for the bank system and it thinks only one carriage return has been sent. After you make the above changes, connect to the bank system and see if running the recorded script with the above changes works.
aspect@aspectscripting.com
 
Knob:

Thank you, Thank you, Thank you.

That did it!!!!!!

Boy that was fun!!

Lets do it again. lol
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top