Überprüfung, ob eine Excel-Datei gerade verwendet wird

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

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Überprüfung, ob eine Excel-Datei gerade verwendet wird

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo,

ich erzeuge mittels OLE2 eine Excel-Datei. Der Dateipfad / -Name wird im Selektionsbild übergeben.
Wenn es bereits eine Datei mit diesem Namen gibt und diese gerade geöffnet ist, scheitert das erneute sichern .
Kann ich im Vorfeld prüfen, ob eine Datei mit diesem Pfad/Namen gerade in Verwendung ist?

Gruß
Kerstin

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


Re: Überprüfung, ob eine Excel-Datei gerade verwendet wird

Beitrag von masterhash (ForumUser / 22 / 6 / 0 ) »
Hallo,

liegt die Datei auf dem Applikationsserver? Dann wird dir GET DATASET helfen, die CX_SY_FILE_OPEN_MODE wirft, wenn die Datei NICHT offen ist.

VG
Martin

Re: Überprüfung, ob eine Excel-Datei gerade verwendet wird

Beitrag von a-dead-trousers (Top Expert / 4286 / 214 / 1142 ) »
Kerstin hat geschrieben:
29.08.2019 11:43
ich erzeuge mittels OLE2 eine Excel-Datei.
masterhash hat geschrieben:
29.08.2019 12:37
liegt die Datei auf dem Applikationsserver?
OLE2 (SAPgui) und Applikationsserver? Wie soll dass denn funktionieren? Über eine Netzwerkfreigabe auf die schreibender Zugriff erlaubt ist? Meines Erachtens wäre das eine ziemliche Sicherheitslücke.

Zum Problem:
Soweit ich weiß, legt Excel (bzw. MS-Office allgemein) zu jeder geöffneten Datei auch eine Sperrdatei (mit ~ im Namen oder so ähnlich) an. Du könntest daher mit CL_GUI_FRONTEND_SERVICES=>FILE_EXIST prüfen ob die Sperrdatei existiert.

lg ADT
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: Überprüfung, ob eine Excel-Datei gerade verwendet wird

Beitrag von jocoder (Specialist / 339 / 3 / 101 ) »
Ich gehe bei der Frage davon aus, du meinst, dass die Datei bereits in Excel geöffnet ist und auf dem Dateisystem (NTFS) somit ein Schreibsperre besteht.

Wird die Datei im Frontend downgeloadet mit der Klasse cl_gui_frontend_services und auf einem NTFS-Dateisystem gespeichert, wird die Ausnahme access_diened ausgelöst.
Im Backend ist nach der Anweisung OPEN DATASET ... FOR OUTPUT sy-subrc=8.
Die Ausnahme cx_sy_file_open_mode wird von der Anweisung OPEN DATASET im Backend nicht ausgelöst, wenn ein anderes Programm (hier Excel) eine Schreibsperre auf die Datei hält.

Kurze Zusammenfassung:
Erst durch Prüfung des Rückgabewertes sy-subrc kann festgestellt werden, ob die Datei bereits geöffnet ist und eine Schreibsperre auf dem Dateisystem vorhanden ist.

Re: Überprüfung, ob eine Excel-Datei gerade verwendet wird

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo,
der Tipp mit der Sperrdatei (~$) war genau das, was ich suche, um gleich zu Beginn im Report den Fehler zu bringen.

Vielen Dank euch allen!

Gruß
Kerstin

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1288
Views
Überprüfung Z-Felder in bestimmten Tabellen ob verwendet
von jspranz » 03.07.2006 16:02 • Verfasst in ABAP® Core
2
Antw.
2892
Views
Überprüfung ob EXCEL-File existiert
von nkuhn » 02.02.2007 07:48 • Verfasst in ABAP® Core
0
Antw.
1255
Views
Download Excel-Datei
von Kerstin » 24.07.2007 16:16 • Verfasst in ABAP® Core
19
Antw.
13623
Views
Excel-Datei einlesen
von Zubasa » 01.10.2010 14:16 • Verfasst in ABAP Objects®
2
Antw.
2356
Views
Excel Datei öffnen
von lernen.2007 » 19.01.2008 11:58 • Verfasst in ABAP® für Anfänger

Ü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.