PDA

View Full Version : Webseite aus 5250-Bildschirm aufrufen - STRPCCMD



JoergHamacher
07-08-24, 11:50
Hallo,

wir haben in unserem ERP-System die Möglichkeit, die URLs zu Artikel-Webseiten zu hinterlegen.Die Webseite soll dann über F16 aufrufbar sein, wenn der Artikel irgendwo bearbeitet wird.

Das Ganze haben wir über STRPCO bzw. STRPCCMD realisiert und das funktioniert gut in meinem Testsystem und auch, wenn ich über VPN mit dem Kundensystem verbunden bin und das über deren IBMi teste. Egal ob Windows10 oder Windows11 - der Browser wird geöffnet und die entsprechende Seite angezeigt. Meine Emulation ist Mochasoft.

Als PCCMD habe ich entweder ("firefox.exe" "http://newsolutions.de") eingetragen oder auch nur ("http://newsolutions.de"). Beides funktioniert bei mir.

Beim Kunden funktioniert das alles überhaupt nicht, weder unter W10 noch unter W11. Er arbeitet mit Client/Access.
Zum Testen haben wir es dort über STRPCCMD in der Befehlszeile mit FIREFOX.EXE, IEXPLORE.EXE und EXPLORER.EXE probiert - nur EXPLORER.EXE hat funktioniert, bei den anderen Befehlen funktioniert es nicht.

Hat jemand eine Ahnung, woran das liegen könnte?
Gibt es einen besser funktionierenden Weg, z.B. über QShell?
Oder muss man bei dem Aufruf irgendwie mitgeben, dass der Befehl mit Administratorrechten durchgeführt werden soll?

Viele Grüße,
Jörg

Andreas_Prouza
07-08-24, 12:30
Hallo Jörg,
das ist ein Windows Thema.
Du Wenn du den Command in der Windows CMD ausführst (oder Start --> Ausführen) solltest du das gleiche Ergebnis haben.

Blöde Frage: Ist Firefox beim Kunden-PC installiert?

Für nähere Infos (Fehlermeldung) gib es im Windows direkt in der CMD ein und schau was für ein Fehler ausgeworfen wird.

lg Andreas

JoergHamacher
07-08-24, 12:39
Danke für die Antwort, Andreas,

Das befürchte ich auch, dass das irgendwie eine Windows-Sache ist. Firefox ist beim Kunden tatsächlich installiert.

Was allerdings komisch ist:
Wenn ich im Windows CMD firefox.exe eingebe, gibt es die Meldung "Der Befehl "firefox.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden.".
Wenn ich aber auf meiner AS400 in der Befehlszeile STRPCCMD PCCMD('firefox.exe') PAUSE(*NO) eintrage, wird der Browser geöffnet.

LG, Jörg

Andreas_Prouza
07-08-24, 12:43
Das ist tatsächlich sehr interessant.
Lass dir am besten in beiden Fällen die PATH Variable in ein Textfile aus und vergleiche dies mal:
PATH > env.txt

JoergHamacher
07-08-24, 12:48
Was ich gerade gemerkt habe:
wenn ich im Windows CMD "start firefox.exe" eingebe statt nur "firefox.exe", dann wird der Browser gestartet. Ich werde das einmal in mein CL_Programm einbauen und schauen, was passiert.

Fuerchau
07-08-24, 14:13
Windowsprogramme solltest du anders startet, z.B.:

STRPCCMD PCCMD('rundll32 URL.DLL,FileProtocolHandler "http://fuerchau.de"') PAUSE(*NO)
Damit wird dann der Derfaultbrowser aufgerufen.
STRPCCMD startet immer via "start ..." ein Programm über eine CMD-Box.

RobertPic
07-08-24, 15:07
Wir mach(t)en das eigentlich alles mit:
cmd /c start

Damit wird die Default Aktion ausgelöst (hier z.B. Defaultbrowser)

z.B.
cmd /c start https://meine.url/SpoolManger/GetPDF?DOC=xxxxxx

Achtung! Das &-Zeichen muss mit " gequotet werden, also aus
cmd /c start https://meine.url/SpoolManger/GetPDF?DOC=xxxxxx&ticketid=zzzzzzz

wird
cmd /c start https://meine.url/SpoolManger/GetPDF?DOC=xxxxxx"&ticketid=zzzzzzz

Praktischerweise funktioniert das auch für UNC-Pfade und Dateien
also
cmd /c start \\meineshare\dir\mein.pdf ---> öffnet Datei mit Standard-PDF-Viewer
....

Funktioniert bei uns mit tn5250j, Mocha und ClientAccess, wobei bei Mocha&CA kurz das CMD-Fenster zu sehen ist.

JoergHamacher
08-08-24, 08:08
Hallo und ganz lieben Dank für Eure Antworten!

Ich habe gerade mal Fuerchaus Vorschlag umgesetzt und nun funktioniert es auch beim Kunden.

Viele Grüße, Jörg