Dateiausgabe in Zwischenablage umleiten
Im Forum kam die Frage auf, wie man am einfachsten das Ergebnis eines Betriebssystemkommandos beziehungsweise eines EXE-Programms in ABAP einlesen kann.
Stefan hat einen genialen Trick aufgezeigt (Danke dafür!!): Mit Hilfe des Systemkommandos CLIP wird die Ausgabe einfach in die Windows-Zwischenablage umgeleitet.
Das Einlesen der Zwischenablage in eine interne Tabelle ist mit Hilfe von CL_GUI_FRONTEND_SERVICES=>CLIPBOARD_IMPORT dann ebenfalls einfach möglich.
Demoprogramm
DATA clipboard TYPE STANDARD TABLE OF char255 with EMPTY KEY.
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 = clipboard
length = DATA(length)
EXCEPTIONS
OTHERS = 4 ).
cl_demo_output=>display_data( clipboard ).
Letzte Artikel von Enno Wulff (Alle anzeigen)
- Meine Eclipse-Plugins - 22. November 2024
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024