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)
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024