0

I want to automate my Processes in AS400 using OpenOffice Calc. The idea is to enter a value in OpenOffice Calc (e.g "34) and then have that value put into the AS400 screen.

Is that at all possible?

If so then I can create / record a macro in AS400 and edit it to my custom needs.

Below is a recorded example makro:

[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION= VBStest
[PCOMM SCRIPT SOURCE]
OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)

REM This line calls the macro subroutine

subSub1_

sub subSub1_()
   autECLSession.autECLOIA.WaitForAppAvailable
   
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[pf6]"
   
   autECLSession.autECLPS.WaitForAttrib 11,18,"10","3c",3,10000

   autECLSession.autECLPS.WaitForCursor 11,19,10000

   autECLSession.autECLOIA.WaitForAppAvailable
   
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "Div195008"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[left]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[down]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[left]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "1"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[enter]"
   
   autECLSession.autECLPS.WaitForAttrib 7,4,"30","3c",3,10000

   autECLSession.autECLOIA.WaitForAppAvailable
   
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[enter]"
   
   autECLSession.autECLPS.WaitForAttrib 11,18,"00","3c",3,10000

   autECLSession.autECLOIA.WaitForAppAvailable
   
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[enter]"
   
   autECLSession.autECLPS.WaitForAttrib 6,19,"10","3c",3,10000

   autECLSession.autECLPS.WaitForCursor 6,20,10000

   autECLSession.autECLOIA.WaitForAppAvailable
   
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "fertigra"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[enter]"
   
   autECLSession.autECLPS.WaitForAttrib 6,19,"10","3c",3,10000

   autECLSession.autECLPS.WaitForCursor 6,20,10000

   autECLSession.autECLOIA.WaitForAppAvailable
   
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[down]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[down]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "Alto Nova Holz-Alu Fertig"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[tab]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "Ausfüh"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[tab]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "RAL"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[tab]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "(lt. technisch"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[tab]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "Maß: xxx x x mm"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[tab]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[down]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[down]"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "j"
   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[enter]"

If it is indeed possible to have that external value then I could use commands like:

    autECLSession.autECLPS.SetCursorPos 12, 19
    autECLSession.autECLOIA.WaitForInputReady
    autECLSession.autECLPS.SendKeys "34"

That would mean I could determine/define set parameter/variables using Calc or DBase and create a loop that automatically enters all the values I need without me actually entering them by hand.

Is there someone who can tell me if thats possible at all or am I on a wild goose chase?

Pᴇʜ
  • 56,719
  • 10
  • 49
  • 73
DaLi
  • 1
  • I wanted to try to help on this, but could not get EHLLAPI to work from access client solutions. Any ideas? – RockBoro Aug 04 '21 at 21:11
  • Are you still looking for a solution? I've created IBM i Access for Windows macros that use MS Excel / Access as a "database" for exactly what you were trying to achive. I'd guess it's possible using OpenOffice Calc the same way. – Yosh Dec 07 '21 at 19:02

0 Answers0