PDA

View Full Version : AS400 per VBA "fernsteuern"



yxcvbnm3
29-07-15, 08:20
Hallo zusammen,

leider kenne ich mich mit der AS400 nur sehr wenig aus, daher diese für euch hoffentlich leicht und schnell zu beantwortende Frage.

Gibt es eine Möglichkeit die AS400 per VBA auf Basis der Anwendermaske fernzusteuern?

Ich habe bereits eine erste eigene Variante gestrickt, diese basiert allerdings auf dem Sendkeys-Befehl in VBA und funktioniert mehr schlecht als recht.



...
Set sh = CreateObject("WScript.Shell")
AS400 = "Pfad"
aufruf = Chr(34) & AS400 & Chr(34)
sh.Run aufruf, , False
On Error GoTo Zeit_Err
'delay 2 sec
Sleep 2000
AppActivate "Sitzung A - [24 x 80]", True
AppActivate "Anmeldung an IBM i", True
SendKeys "{Enter}", True
SendKeys Password, True
SendKeys "{Enter}", True

On Error GoTo 0
Sleep 5000 '1 sec
AppActivate "Sitzung A - [24 x 80]", True
SendKeys Login, True
SendKeys "{TAB}", True
SendKeys Password, True
...


Nachdem ich die benötigten Daten in die AS400 eingetragen habe, wird über den cwbx.DatabaseTransfer -Befehl noch eine Datei runter geladen.

Ich weiß, dass es Schnittstellen zwischen VBA und der AS400 gibt, die Frage ist für mich im Grunde, ob ich irgendwie "Feedbacks"(Fensteraufruf, Dateierstelleung usw.) der AS400 abfangen und verarbeiten kann.

Vielen Dank für die Hilfe!

Fuerchau
29-07-15, 08:45
Solche Tätigkeiten über eine Sitzung fernzusteuern ist schon eine recht komplexe (und unsinnige) Aufgabe.
Im "System i Access Toolkit" gibt es direkte COM-Objekte (per CreateObject erstellbar) für Programmaufrufe mit Fehlerüberwachung.
Die Alternative ist dann noch SQL und z.B. "CALL QCMDEXC"-Aufrufe.
Beides ist hier im Forum bereits mehrfach durchgesprochen.

Kürzlich gab es hier noch einen Beitrag zum Thema EHLLAPI zur Steuerung von 5250-Sitzungen.