Jump to content

Recommended Posts

Posted

Which emulation program do you run (PC3270 ...)?

My UDFs and Tutorials:

  Reveal hidden contents

 

Posted

I think it depends on the company providing the product how you can access the mainframe from AutoIt.
Is it from IBM or ...?

My UDFs and Tutorials:

  Reveal hidden contents

 

Posted

Its IBM - PC3270.

This is the macro I have recorded by using the Tool ----Macro.

 I want to know how I can automate it to perform the data to be copied from XL sheet and paste in the required fields.

' Global variable declarations

Global g_HostSettleTime%

Global g_szPassword$

 

Sub Main()

'--------------------------------------------------------------------------------

' Get the main system object

                Dim Sessions As Object

                Dim System As Object

                Set System = CreateObject("EXTRA.System")     ' Gets the system object

                If (System is Nothing) Then

                                Msgbox "Could not create the EXTRA System object.  Stopping macro playback."

                                STOP

                End If

                Set Sessions = System.Sessions

 

                If (Sessions is Nothing) Then

                                Msgbox "Could not create the Sessions collection object.  Stopping macro playback."

                                STOP

                End If

'--------------------------------------------------------------------------------

' Set the default wait timeout value

                g_HostSettleTime = 3000                              ' milliseconds

 

                OldSystemTimeout& = System.TimeoutValue

                If (g_HostSettleTime > OldSystemTimeout) Then

                                System.TimeoutValue = g_HostSettleTime

                End If

 

' Get the necessary Session Object

                Dim Sess0 As Object

                Set Sess0 = System.ActiveSession

                If (Sess0 is Nothing) Then

                                Msgbox "Could not create the Session object.  Stopping macro playback."

                                STOP

                End If

                If Not Sess0.Visible Then Sess0.Visible = TRUE

                Sess0.Screen.WaitHostQuiet(g_HostSettleTime)

               

' This section of code contains the recorded events

                Sess0.Screen.Sendkeys("<Tab><Right><Right><Right><Right>71<Enter>")        

                Sess0.Screen.WaitHostQuiet(g_HostSettleTime)

                Sess0.Screen.Paste        

                Sess0.Screen.Sendkeys("<Enter>")        

                Sess0.Screen.WaitHostQuiet(g_HostSettleTime)

                Sess0.Screen.Sendkeys("<Enter>")        

                Sess0.Screen.WaitHostQuiet(g_HostSettleTime)

                Sess0.Screen.Sendkeys("4<Enter>")     

                Sess0.Screen.WaitHostQuiet(g_HostSettleTime)

                Sess0.Screen.Copy         

                Sess0.Screen.Sendkeys("<Tab>54<Enter>")      

                Sess0.Screen.WaitHostQuiet(g_HostSettleTime)

                Sess0.Screen.Paste        

                Sess0.Screen.Sendkeys("<Enter>")        

                Sess0.Screen.WaitHostQuiet(g_HostSettleTime)

 

                System.TimeoutValue = OldSystemTimeout

End Sub

 

 

Posted

Maybe something like this:

#include <MsgBoxConstants.au3>
; Global variable declarations
Global $g_HostSettleTime
Global $g_szPassword

Main()

Func Main()
    ;--------------------------------------------------------------------------------
    ; Get the main system object
    Local $Sessions, $System
    $System = ObjCreate("EXTRA.System") ; Gets the system object
    If Not IsObj($System) Then
        MsgBox($MB_ICONERROR, "Error", "Could not create the EXTRA System object.  Stopping macro playback.")
        Exit
    EndIf
    $Sessions = $System.Sessions
    If Not IsObj($Sessions) Then
        MsgBox($MB_ICONERROR, "Error", "Could not create the Sessions collection object.  Stopping macro playback.")
        Exit
    EndIf
    ;--------------------------------------------------------------------------------
    ; Set the default wait timeout value
    $g_HostSettleTime = 3000 ; milliseconds
    $OldSystemTimeout = $System.TimeoutValue
    If $g_HostSettleTime > $OldSystemTimeout Then $System.TimeoutValue = $g_HostSettleTime
    ; Get the necessary Session Object
    Local $Sess0
    $Sess0 = $System.ActiveSession
    If Not IsObj($Sess0) Then
        MsgBox($MB_ICONERROR, "Error", "Could not create the Session object.  Stopping macro playback.")
        Exit
    EndIf
    If Not $Sess0.Visible Then $Sess0.Visible = True
    $Sess0.Screen.WaitHostQuiet($g_HostSettleTime)
    ; This section of code contains the recorded events
    $Sess0.Screen.Sendkeys("<Tab><Right><Right><Right><Right>71<Enter>")
    $Sess0.Screen.WaitHostQuiet($g_HostSettleTime)
    $Sess0.Screen.Paste
    $Sess0.Screen.Sendkeys("<Enter>")
    $Sess0.Screen.WaitHostQuiet($g_HostSettleTime)
    $Sess0.Screen.Sendkeys("<Enter>")
    $Sess0.Screen.WaitHostQuiet($g_HostSettleTime)
    $Sess0.Screen.Sendkeys("4<Enter>")
    $Sess0.Screen.WaitHostQuiet($g_HostSettleTime)
    $Sess0.Screen.Copy
    $Sess0.Screen.Sendkeys("<Tab>54<Enter>")
    $Sess0.Screen.WaitHostQuiet($g_HostSettleTime)
    $Sess0.Screen.Paste
    $Sess0.Screen.Sendkeys("<Enter>")
    $Sess0.Screen.WaitHostQuiet($g_HostSettleTime)
    $System.TimeoutValue = $OldSystemTimeout
EndFunc   ;==>Main

 

My UDFs and Tutorials:

  Reveal hidden contents

 

Posted

@Chikku please provide some link to documentation to this ActiveX object, I mean to this program which you automate.

Long time ago I made something similar but for other ActiveX object, I want to compare features of this two products.

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted (edited)

It doesn't look like IBM's PC3270 but like Attachmate's EXTRA!
Details about the object model can be found here: http://docs.attachmate.com/extra/x-treme/apis/com/index.htm

Edited by water

My UDFs and Tutorials:

  Reveal hidden contents

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...