Shadowman Geschrieben 26. November 2008 Teilen Geschrieben 26. November 2008 Hallo Leute, ich muss eine Datei von einem FTP-Server aus lesen und den Inhalt in eine itab schreiben. Die Funktionen FTP_CONNECT, FTP_COMMAND und FTP_DISCONNECT habe ich schon gefunden. Ich connecte erst auf den Server, dann mache ich das Command "cd ordnername" und dann versuche ich "get dateiname". Dabei bekomme ich jedoch ein Timeout. Ich habe auch schon versucht mit "get dateiname C:\datei.txt" die Datei runterzuladen, aber auch hier habe ich ein Timeout bekommen. Könnte mir dabei vielleicht jemand helfen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 26. November 2008 Teilen Geschrieben 26. November 2008 passiven FTP-modus mal versucht? geht glaub ich über den befehl PASV. wenn über den aktiven modus nämlich keine datenkanal aufgemacht werden kann, muss es zwangsläufig einen timeout geben. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 26. November 2008 Autor Teilen Geschrieben 26. November 2008 (bearbeitet) super! das hat mich schonmal weiter gebracht. Aber leider noch nicht ganz zum gewünschten ergebnis. Die Datei wird zwar geladen (bekomme die meldung, dass X byte und Y sekunden geladen wurden), aber der inhalt der datei steht mir nicht zur verfügung. Wie beschrieben nutze ich "get". Habe gerade versucht eine zieldatei für das get anzugeben und da hat er auch die datei runtergeladen. Gibt es ne möglichkeit in dem Fuba den inhalt direkt abzufangen? CALL FUNCTION 'FTP_COMMAND' EXPORTING HANDLE = 1 COMMAND = FTPCOMMAND COMPRESS = 'N' RFC_DESTINATION = 'SAPFTP' * VERIFY = IMPORTING FILESIZE = SIZE * FILEDATE = * FILETIME = TABLES DATA = RESULT EXCEPTIONS TCPIP_ERROR =1 COMMAND_ERROR = 2 DATA_ERROR = 3 OTHERS = 4. Bearbeitet 26. November 2008 von Shadowman Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 26. November 2008 Autor Teilen Geschrieben 26. November 2008 ausserdem habe ich noch das problem, dass ich auch Dateien einlesen muss, die auf dem applikationsserver abgelegt sind. habe jetzt hier schon was gelesen, dass GUI_UPLOAD dafür ist um die Datei von einem benutzer aus hochzuladen, aber wie siehts mit WS_UPLOAD aus? kennt jemand den befehl um vom applikationsserver aus hochzuladen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 26. November 2008 Autor Teilen Geschrieben 26. November 2008 Langsam wirds langweilig...blöde selbstgespräche ausserdem habe ich noch das problem, dass ich auch Dateien einlesen muss, die auf dem applikationsserver abgelegt sind. habe jetzt hier schon was gelesen, dass GUI_UPLOAD dafür ist um die Datei von einem benutzer aus hochzuladen, aber wie siehts mit WS_UPLOAD aus? kennt jemand den befehl um vom applikationsserver aus hochzuladen? Zu GUI_UPLOAD/WS_UPLOAD: GUI_UPLOAD ist der nachfolger, da WS_UPLOAD mit ver. 6.40 obsolet geworden ist. das thema mit den daten auf dem applikationsserver habe ich jetzt mit einem OPEN DATASET gelöst, aber das problem mit dem FTP bleibt weiterhin bestehen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 27. November 2008 Autor Teilen Geschrieben 27. November 2008 (bearbeitet) kann denn niemand helfen? [COLOR="RoyalBlue"]CONCATENATE[/COLOR] [COLOR="SeaGreen"]'cd'[/COLOR] PFAD [COLOR="RoyalBlue"]INTO[/COLOR] FTPCOMMAND [COLOR="RoyalBlue"]SEPARATED BY[/COLOR] SPACE. [COLOR="RoyalBlue"]PERFORM[/COLOR] command. [COLOR="RoyalBlue"]CLEAR[/COLOR] FTPCOMMAND. FTPCOMMAND = [COLOR="SeaGreen"]'ascii'[/COLOR]. [COLOR="RoyalBlue"]PERFORM[/COLOR] command. [COLOR="RoyalBlue"]CLEAR[/COLOR] FTPCOMMAND. [COLOR="RoyalBlue"]CONCATENATE[/COLOR] [COLOR="SeaGreen"]'get'[/COLOR] DATEI [COLOR="RoyalBlue"]INTO[/COLOR] FTPCOMMAND [COLOR="RoyalBlue"]SEPARATED BY[/COLOR] SPACE. [COLOR="RoyalBlue"]perform[/COLOR] command. [COLOR="RoyalBlue"]FORM[/COLOR] command. [COLOR="RoyalBlue"]CALL FUNCTION[/COLOR] 'FTP_COMMAND' [COLOR="RoyalBlue"]EXPORTING[/COLOR] HANDLE = [COLOR="RoyalBlue"]1[/COLOR] COMMAND = FTPCOMMAND COMPRESS = [COLOR="SeaGreen"]'N'[/COLOR] [COLOR="Silver"]* RFC_DESTINATION = 'SAPFTP' * VERIFY =[/COLOR] [COLOR="RoyalBlue"]IMPORTING[/COLOR] FILESIZE = SIZE [COLOR="Silver"]* FILEDATE = * FILETIME =[/COLOR] [COLOR="RoyalBlue"]TABLES[/COLOR] DATA = RESULT [COLOR="Silver"]* EXCEPTIONS * TCPIP_ERROR = 1 * COMMAND_ERROR = 2 * DATA_ERROR = 3 * OTHERS = 4[/COLOR] . [COLOR="RoyalBlue"]ENDFORM[/COLOR]. Wieso komme ich damit nicht an den inhalt der von DATEI gespeicherten daten dran? Bearbeitet 27. November 2008 von Shadowman Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CroQuet Geschrieben 5. Dezember 2008 Teilen Geschrieben 5. Dezember 2008 da ich mich selber noch nie damit befasst habe kuck mal hier: https://www.sdn.sap.com/irj/scn/advancedsearch?query=CALL+FUNCTION+%27FTP_COMMAND%27&cat=sdn_all wird sicher viel mist dabei sein, aber auch was hilfreiches Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
molle134 Geschrieben 12. Juni 2009 Teilen Geschrieben 12. Juni 2009 Vielleicht zu spät, aber dennoch... Daten auf dem Applikationsserver liest man mit den Befehlen "open dataset" und "read dataset" ein. Die SAP Onlinehilfe gibt dazu auch verständliche Beispiele (bei "read dataset"). Also einfach mal in den Editor geschrieben und F1 gedrückt. Da gibt es auch noch mehr Befehle für die "Dateibearbeitung", aber zuvor genannte sind die wichigsten zum Einlesen. Die Funktionsbausteine GUI_UPLOAD und WS_UPLOAD sind für Dateiuploads vom Frontend zuständig, erfüllen aber die gleiche Funktionalität und sind nicht auf dem Applikationsserver zu gebrauchen. WS_UPLOAD ist veraltetet und durch GUI_UPLOAD ersetzt worden. Wo vorhanden (in neueren Releases) sollte aber die Verwendung der entsprechenden Methoden der Klasse CL_GUI_FRONTEND_SERVICES den Funktionsbausteinen vorgezogen werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.