Dateiupload von der Festplatte im Batch

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

Dateiupload von der Festplatte im Batch

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Hallo zusammen,

auf einigen Arbeitsplätzen wird über einen Kartenleser zu bestimmten Zeiten der Firmenausweis gelesen und diese Daten auf die Festplatte geschrieben.

Via Online-Report werden die Daten ins SAP geholt und dort weiter verarbeitet.

Welche Möglichkeiten habe ich, dies zu automatisieren?

Gruß,
Klaus

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo KlausB,

entweder die Daten in ein Verzeichnis übertragen, auf das der jeweilige Applikationsserver Zugriff hat oder die Daten per FTP holen.
Über GUI-Klassen und Funktionen geht es auf jeden Fall nicht.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Hallo Ereglam,

danke für die schnelle Reaktion.

Wie kann ich die zwei von Dir genannten Methoden automatisiert anwenden?

Klaus

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo KlausB,

Applikationsserver:
die Daten des Kartenlesers müssen in ein Verzeichnis geschrieben werden, dass von der SAP-Basis in das Dateisystem des/der Appliaktionsserver eingebunden (gemounted) ist. Lesen der Daten erfolgt dann mit OPEN/READ DATASET etc.

FTP:
es gibt z.B. eine Funktionsgruppe SFPT, die verschiedene Befehle für einen FTP-Zugriff zur Verfügung stellt. Das (hier) Quellverzeichnis muss als FTP-Verzeichnis eingerichtet sein (Netzwerker).
Die Daten liegen nach dem Übertragen lokal im Programm als Tabellen vor und müssen dann entsprechend weiterverarbeitet werden.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Hallo Ereglam,

zu 1: Hm, hab ich mir schon so gedacht. Leider hab ich da keinen Einfluß mehr drauf, da uns die software so programmiert wurde und für diesen part keine Folgekosten anfallen dürfen.

zu 2: Da kenn ich mich überhaupt nicht aus. Muß dann mal Kontakt mit unseren Netzwerkern aufnehmen.

Vielen Dank für die Unterstützung.

Klaus

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Hi Klaus,

schau mal hier: http://www.abapforum.com/viewtopic.php? ... ght=rfcsdk

du könntest ein "Windows-Cron" (Scheduler was auch immer) auf den clients laufen lassen, die periodisch den STARTRFC ausführen und deine Personaldaten-Tabelle an einen Funktionsbaustein übergeben.

Im Funktionsbaustein kannst du dann die Tabelle mit den Firmenausweisdaten prüfen.

für den STARTRFC muss ein Kennwort hinterlegt werden; hier könnte man einen Extra-SAP-User anlegen, der nur für das Einlesen der Daten verwendet wird (Benutzertyp = Kommunikation".

Gruß, Enno

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Hallo Enno,

klingt interessant, scheitert aber bereits beim STARTRFC. Im Ordner C:\Programme\SAP\FrontEnd\SapGui finde ich das Verzeichnis rfcsdk nicht. Auch sonst nirgends das Programm startrfc.exe.

Klaus

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Hi Klaus,
das Rfcsdk ist nur bei einem 4.6er GUI dabei...
Wird leider aus unerfindlichen Gründen nicht mehr von SAP unterstützt. :cry:
War wahrscheinlich zu einfach.. 8)
Unter service.sap.com müsstest du es aber noch runterladen können oder eure basis hat noch eine alte CD.

Beitrag von edwin (Specialist / 306 / 10 / 68 ) »
Hi,

also ich finde das RFCSDK auch beim GUI 6.40 !?

Gruss Edwin

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Hallo zusammen,

das Ganze funktioniert inzwischen nahezu einwandfrei. Gelöst durch die Vorgehensweise:

Applikationsserver:
die Daten des Kartenlesers müssen in ein Verzeichnis geschrieben werden, dass von der SAP-Basis in das Dateisystem des/der Appliaktionsserver eingebunden (gemounted) ist. Lesen der Daten erfolgt dann mit OPEN/READ DATASET etc.

Nur beim Löschen der Datei gibt es nun noch Schwierigkeiten. Abbruch mit Returncode 4.

Wo liegt der Fehler?

Danke für Eure Hilfe.

Klaus

Code: Alles auswählen.

START-OF-SELECTION.

OPEN DATASET dateinam FOR INPUT IN TEXT MODE.
IF sy-subrc = 0.
*  WRITE: / 'Datei', dateinam, 'erfolgreich geöffnet'.
  ELSE.
  WRITE: / 'Datei', dateinam, 'konnte nicht geöffnet werden - Fehlercode',sy-subrc.
  skip.
ENDIF.
SKIP.

DO.
  READ DATASET dateinam INTO SATZ.
  IF sy-subrc = 0.
  ...... Coding
  ELSE.
    EXIT.
  ENDIF.
ENDDO.

CLOSE DATASET dateinam.
IF sy-subrc = 0.
*  skip.
*  WRITE: / 'Datei', dateinam, 'erfolgreich gelöscht'.
  ELSE.
  WRITE: / 'Datei', dateinam, 'konnte nicht geschlossen werden - Fehlercode',sy-subrc.
  skip.
ENDIF.

DELETE DATASET dateinam.
IF sy-subrc = 0.
  skip.
  WRITE: / 'Datei', dateinam, 'erfolgreich gelöscht'.
  ELSE.
  WRITE: / 'Datei', dateinam, 'konnte nicht gelöscht werden - Fehlercode',sy-subrc.
  skip.
ENDIF.
END-OF-SELECTION.

Beitrag von schmitzandreas (ForumUser / 44 / 0 / 0 ) »
Also in der Hilfe steht folgendes:

Code: Alles auswählen.

SY-SUBRC = 4: 
File does not exist or could not be deleted. 

Possible reasons: 

1) The file does not exist. 
2) The file is a directory. 
3) The R/3 System has no search authorization 
for a component of the file name. 
4) The R/3 System has no search authorization 
for the directory which contains the file. 
5) A component of the search path is not a 
directory. 
6) The file is a symbolic link which cannot be 
resolved (endless loop ?). 
7) The file is a program which is currently 
running. 
D.h. es ist wohl kein Problem im Coding, sondern ein Rechteproblem.

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Hm, die betreffende Datei liegt auf einem Suse-Linux Server, ausgestattet mit allen Rechten (777, Schreiben, Lesen). Es handelt sich um eine Datei und um kein directory. Und trotzdem subrc = 4 beim DELETE.

Unsere Basis kann sich keinen Reim machen. Das Coding läßt auch nichts anderes zu.

Was machen wir hier falsch?

Beitrag von schmitzandreas (ForumUser / 44 / 0 / 0 ) »
Ich nehme zwar an, dass die Basis folgendes kennt, aber ich zitiere mal aus einem Linux Wiki einen Ausschnitt über Dateirechte:
Besonderheiten

Dateien erstellen/löschen

Um eine Datei erstellen oder löschen zu können, muss man Schreibberechtigung auf das Verzeichnis haben.

Hintergrund: Eine Datei ist nichts anderes als ein Verzeichniseintrag, und um in einem Verzeichnis etwas einzutragen (oder auszutragen), muss man hineinschreiben können.

(!) Wenn auf dem Verzeichnis das sticky-Bit gesetzt ist, muss man immer der Eigentümer der Datei sein, um sie zu löschen.
http://linuxwiki.de/DateiRechte

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4667
Views
Dateiupload auf logischen Pfad
von acidwr » 19.03.2012 15:31 • Verfasst in ABAP® für Anfänger
3
Antw.
1568
Views
Dateiupload mit Apostroph als Trennzeichen
von ch|ma|ra » 29.07.2008 09:52 • Verfasst in ABAP® Core
2
Antw.
1215
Views
Dateiupload mehrerer Files
von whaslbeck » 03.02.2021 12:15 • Verfasst in ABAP® Core
2
Antw.
1925
Views
Sichern eines Reports auf der Festplatte
von svenk » 20.07.2007 10:58 • Verfasst in ABAP® für Anfänger
13
Antw.
9696
Views
interne Tabelle als CSV-Datei auf Festplatte speichern.
von Bright4.5 » 09.10.2018 09:23 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Regex in where
vor 5 Stunden von tar 8 / 183
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

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.

Aktuelle Forenbeiträge

Regex in where
vor 5 Stunden von tar 8 / 183
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822