Returncode bzw. Result von ausgeführter *.exe

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

Returncode bzw. Result von ausgeführter *.exe

Beitrag von stony007_de (Specialist / 108 / 6 / 0 ) »
Hi

Ich suche eine Möglichkeit eine Applikationen vom Client zu starten und den ausgegeben Text des Programms im SAP zu verwerten.

Die App muss im Usercontext laufen, da durch die Applikationen ein Druck auf benutzerspezifischen Drucker erfolgt.

Hat jemand eine Idee?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Returncode bzw. Result von ausgeführter *.exe

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Bietet die App eine Ausgabe auf der Befehlszeile an oder gibt es eine Möglichkeit Informationen darüber (Log usw.) aus einer Text-Datei einzulesen?
Wenn nicht, sehe ich schwarz für das was du willst.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Returncode bzw. Result von ausgeführter *.exe

Beitrag von stony007_de (Specialist / 108 / 6 / 0 ) »
die App gibt über die Befehlszeile den gewünschten Text aus.

Mit "CALL 'SYSTEM' ID 'COMMAND' FIELD LV_CMD ID 'TAB' FIELD LT_RESULT." bekomm ich das Resultat. Wird Auber auf dem BackendServer ausgeführt.

Mit "CL_GUI_FRONTEND_SERVICES=>EXECUTE" finde ich kein zurückgegebenes Resultat.

Das schreiben des Returns in ein Logfile geht auch, wäre jetzt aber nicht mein Favorit.

Re: Returncode bzw. Result von ausgeführter *.exe

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
stony007_de hat geschrieben:
19.02.2020 09:14
Das schreiben des Returns in ein Logfile geht auch, wäre jetzt aber nicht mein Favorit.
Aber nur so geht es. Leider.
Den Aufruf der App mit Umleitung in ein Log-File in ein Batch-Script verpacken.
Das Script dann mit GUI_DOWNLOAD z.B in das Temp-Verzeichnis (GET_TEMP_DIRECTORY) übertragen.
Mit EXECUTE das Script am Client ausführen.
Das Log-File mit GUI_UPLOAD wieder einlesen.
Optional das Temp-Verzeichnis wieder löschen (Script und Log-File).

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
stony007_de

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Returncode bzw. Result von ausgeführter *.exe

Beitrag von stony007_de (Specialist / 108 / 6 / 0 ) »
OK , danke!
Ist zwar ein wenig russisch, aber wenn nicht anders händelbar mach ich es so.

Danke..

Re: Returncode bzw. Result von ausgeführter *.exe

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Moin stony,

eigentlich brauchst du die File-Arie nicht. Ruf deine Applikation über cmd.exe auf mit einer Pipe der Ausgabe in die Zwischenablage ( " | clip ") und hol dir dann den Inhalt der Zwischenablage.

Beispiel wie man sich so z.B. ein directorylisting holt

Code: Alles auswählen.

REPORT.
DATA: lt_data   TYPE soli_tab,
      lv_length TYPE i.
cl_gui_frontend_services=>execute( EXPORTING
                                     application = 'cmd.exe'
                                     parameter   = '/C "dir c:\temp\*.* | clip"'
                                     MINIMIZED   = 'X' " disable cmd flash
                                     SYNCHRONOUS = 'X' " wait for cmd to finish
                                   EXCEPTIONS
                                     OTHERS      = 10 ).
cl_gui_frontend_services=>clipboard_import( IMPORTING
                                              data     = lt_data   " Data Table
                                              length   = lv_length " Data length
                                            EXCEPTIONS
                                              OTHERS   = 4 ).

BREAK-POINT.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 3):
Somaniewxa-dead-trousers

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Returncode bzw. Result von ausgeführter *.exe

Beitrag von Thomas R. (Expert / 754 / 73 / 34 ) »
Hallo,
müsste nicht in LT_RESULT das Ergebnis bereits stehen?
Wenn nicht kannst Du ja eventuell die gerufene APP entsprechend ändern, so dass Du den Text zurück bekommst.
Oder die APP per SM49 aufrufen. Dann bekommst Du die Ausgabe zurückgeliefert.

MfG
Thomas R.

Edit: Alles Quatsch, die entscheidende Info habe ich geflissentlich überlesen 😓
Zuletzt geändert von Thomas R. am 20.02.2020 10:03, insgesamt 1-mal geändert.

Re: Returncode bzw. Result von ausgeführter *.exe

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
black_adept hat geschrieben:
19.02.2020 22:07
Eigentlich brauchst du die File-Arie nicht. Ruf deine Applikation über cmd.exe auf mit einer Pipe der Ausgabe in die Zwischenablage ( " | clip ") und hol dir dann den Inhalt der Zwischenablage.
Ich musste wirklich heute tage alt werden um zu erfahren, dass das Pipe auch in die Zwischenablage übertragen kann 😉
Einen kleinen Schönheitsfehler sehe ich da aber: Was ist wenn die Zwischenablage durch irgendeine andere Aktion verändert wird?

Thomas R. hat geschrieben:
20.02.2020 07:03
Müsste nicht in LT_RESULT das Ergebnis bereits stehen?
Wenn nicht kannst Du ja eventuell die gerufene APP entsprechend ändern, so dass Du den Text zurück bekommst.
Oder die APP per SM49 aufrufen. Dann bekommst Du die Ausgabe zurückgeliefert.
Klar, wenn er sich am Appl.Server bewegt, was er aber am Anfang schon ausgeschlossen hat.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Returncode bzw. Result von ausgeführter *.exe

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
a-dead-trousers hat geschrieben:
20.02.2020 08:23
Einen kleinen Schönheitsfehler sehe ich da aber: Was ist wenn die Zwischenablage durch irgendeine andere Aktion verändert wird?
Was ist wenn die Zwischenablage Datei durch irgendeine andere Aktion verändert wird?

Wenn man das aber wirklich als Problem sieht im auswertenden Programm eine Plausiprüfung machen, ob die Zwischenablage sinnvolle Daten enthält. Vielleicht sogar via ECHO einen vorgegebene GUID in die Ausgabe mit integrieren o.ä.
Halte ich aber alles für mit ICBMs auf Trottellummen schießen.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
a-dead-trousers

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1195
Views
POPUP_GET_VALUES_DB_CHECKED - Returncode
von Charadin » 07.12.2006 11:57 • Verfasst in ABAP® Core
0
Antw.
1013
Views
falscher returncode bei ws_upload
von dennsen » 06.06.2007 13:45 • Verfasst in ABAP® Core
2
Antw.
1650
Views
Returncode von shell befehlen abfangen?
von PaddyG » 07.01.2005 12:07 • Verfasst in ABAP® Core
2
Antw.
968
Views
FuBa SO_NEW_DOCUMENT_ ATT_SEND_API1: Returncode 2
von Stentor » 26.01.2005 20:28 • Verfasst in ABAP® Core
4
Antw.
2766
Views
Returncode "FATAL ERROR" bei REUSE_ALV_GRID_DISPLA
von Stentor » 18.06.2004 12:59 • Verfasst in ABAP® Core

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.