Autor Thema: Inhalt einer Maske per FTP versenden  (Gelesen 7750 mal)

Offline DaJamz

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
  • Warum hat mich keiner gewarnt???
Inhalt einer Maske per FTP versenden
« am: 28.06.06 - 10:07:54 »
Nach langer Zeit wieder hier  :D

Hallo all,

wir haben eine Auftragsmaske und versenden den Inhalt im Moment per Agent per email (XML) an unsere Lager in Belgien (dort gibt es kein Notes  :o ).
Jetzt haben wir aber ständig das Problem das die eMails nicht ankommen oder von der dortigen Firewall geblockt werden und und und, also haben wir uns
FTP als alternative ausgesucht.

Ich habe auch schon mal in der LN Hilfe nachgeschaut, konnt dort nichts finden und dieser Thread (http://atnotes.de/index.php?topic=9094.0) hier im Forum ist zwar hilfreich aber immer noch nciht direkt was ich suche (hier wird zwar beschrieben wie man Dateien z.B. .txt Files per FTP verschickt, aber ich habe ja keine Dateien).

Wer kann mir mal nen Tip geben wie ich das Problem anpacken kann?


Vielen Dank
Sascha


Glombi

  • Gast
Re: Inhalt einer Maske per FTP versenden
« Antwort #1 am: 28.06.06 - 10:35:02 »
Im Sandkasten gibts ein Förmchen dazu:

FTP Script

Andreas

Glombi

  • Gast
Re: Inhalt einer Maske per FTP versenden
« Antwort #2 am: 28.06.06 - 10:44:12 »
Zusätzlich zum FTP Script willst Du ja noch wissen, wie man eine Datei erzeugt.

Dazu solltest Du in der Designer Hilfe alles zu
Open fileName [For {Input | Output | Append} ] As fileNumber [

lesen und das Beispiel ansehen. Damit sollte es klar sein,

Andreas

Offline DaJamz

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
  • Warum hat mich keiner gewarnt???
Re: Inhalt einer Maske per FTP versenden
« Antwort #3 am: 28.06.06 - 11:17:30 »
Yep Danke, des weiss ich.

Ich dachte es gibt vielleicht eine Lösung damit ich meine Daten nicht erst in einer Datei speichern muß und die dann versenden, dann ist mir aber was aufgefallen:

FTP = File Transfer Protocol
File = Datei

 ;D

Okay, dann muß ich es so machen, weil so Geschichten mit Datendirektverbindungen usw. möchte ich eigentlich umgehen



Offline DaJamz

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
  • Warum hat mich keiner gewarnt???
Re: Inhalt einer Maske per FTP versenden
« Antwort #4 am: 31.05.07 - 13:58:17 »
So nachdem ich das Problem jetzt ewig lange auf Eis gelegt habe und an anderen Baustellen gedoktort habe, komme ich wieder auf die alte Geschichte zurück  :-[

Also, ich habe mir mal folgendes gebastelt:

...hier ist das txt File welches per FTP übertragen werden soll
fileName$  = "\\192.168.1.2\sns\Orders\order"+Cstr(uidoc.document.BelegNr(0))+".txt"
...
   
...jetzt erstelle ich mir noch eine .ftp file mit dem folgendem Inhalt:
Code
fileNum% = Freefile()
fileName$  = "\\192.168.1.2\sns\Orders\daten"+Cstr(uidoc.document.BelegNr(0))+".ftp"

Open fileName$ For Output As fileNum%
nZeile = ""
nZeile = nZeile + "OPEN IPADRESSE"+Chr$(13)+Chr$(10)
nZeile = nZeile + "Username"+Chr$(13)+Chr$(10)
nZeile = nZeile + "Password"+Chr$(13)+Chr$(10)
nZeile = nZeile + "ASCII "+Chr$(13)+Chr$(10)
nZeile = nZeile + "put \\192.168.1.2\sns\Orders\order"+Cstr(uidoc.document.BelegNr(0))+".txt"+Chr$(13)+Chr$(10)
nZeile = nZeile + "bye"+Chr$(13)+Chr$(10)
Print #fileNum%, nZeile
Close fileNum%
   
...jetzt baue ich mir noch eine .bat File
Code
fileNum% = Freefile()
fileName$  = "\\192.168.1.2\sns\Orders\upload"+Cstr(uidoc.document.BelegNr(0))+".bat"
	
Open fileName$ For Output As fileNum%
nnZeile = ""
nnZeile = nnZeile + "ftp.exe -n -i -s:daten"+Cstr(uidoc.document.BelegNr(0))+".ftp"+Chr$(13)+Chr$(10)
nnZeile = nnZeile + "exit"+Chr$(13)+Chr$(10)
Print #fileNum%, nnZeile
Close fileNum%

...damit überhaupt etwas passiert, rufe ich die Batchdatei auf
Code
result = Shell( "W:\Orders\upload"+Cstr(uidoc.document.BelegNr(0))+".bat" , 1 )	

Soweit so gut, funkt auch alles, bis auf das Wichtigste.
Es wird nichts gesendet. ???

Code
result = Shell( "W:\Orders\upload"+Cstr(uidoc.document.BelegNr(0))+".bat" , 1 )	
Hier passiert zwar etwas (DOS Fenster geht auf, leider zu schnell wieder zu um etwas zu lesen) aber scheinbar macht er trotzdem nichts  :o
Wenn ich die Batchdatei manuell per Doppelklick aufrufe, funkt alles perfekt soll heissen, in den Files selber ist kein Fehler ???

Wer hat ne Idee was falsch läuft


Danke
DaJamz


Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Inhalt einer Maske per FTP versenden
« Antwort #5 am: 31.05.07 - 14:07:46 »
Wird ein Berechtigungsproblem sein.

Werden die Files überhaupt erstellt?

Bau im BAT.File VOR jedem Befehl ein "pause" ein. Dann sollte er, wenn er das Batch-File überhaupt lesen kann, nicht mehr "durchrauschen".
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline DaJamz

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
  • Warum hat mich keiner gewarnt???
Re: Inhalt einer Maske per FTP versenden
« Antwort #6 am: 31.05.07 - 15:11:58 »
1.) Files werden ordentlich erstellt.
Sind ja in dem angegeben Ordner gespeichert und wenn ich die Batch manuell per Doppelklick starte, funkt auch alles perfekt
Code
W:\Orders>ftp.exe -n -i -s:daten10321093.ftp
ftp> OPEN xxx.xxx.xxx.xxx
Verbindung mit xxx.xxx.xxx.xxx wurde hergestellt.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 2 of 10 allowed.
220-Local time is now 15:05. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
ftp> USER username
331 User username OK. Password required

230-User username has group access to:  users
230- uucp
230-This server supports FXP transfers
230 OK. Current restricted directory is /
ftp>
ftp> ASCII
200 TYPE is now ASCII
ftp> put \\192.168.1.2\sns\Orders\order10321093.txt
200 PORT command successful
150 Connecting to port 50901
226-26887.4 Mbytes free disk space
226-File successfully transferred
226 0.183 seconds (measured here), 4.82 Kbytes per second
FTP: 927 Bytes gesendet in 0,00Sekunden 927000,00KB/s
ftp> bye
221-Goodbye. You uploaded 1 and downloaded 0 kbytes.
221 Logout.

W:\Orders>pause
Drücken Sie eine beliebige Taste . . .

2.) also habe mal ein "Pause" in den Batch gemacht:
Code
C:\PROGRA~1\CASSET~1\NOTESM~1>ftp.exe -n -i -s:daten10321093.ftp
Fehler beim Öffnen der Skriptdatei daten10321093.ftp

Überträgt Dateien zu und von einem Computer, der den TFTP-Dienst ausführt
(auch Daemon genannt).

FTP kann interaktiv verwendet werden.

FTP [-v] [-d] [-i] [-n] [-g] [-s:Dateiname] [-a] [-w:Fenstergröße] [-A]
    [Host]

  -v             Unterdrückt das Anzeigen der Rückmeldungen von
                 Remoteservern.
  -n             Unterdrückt das automatische Anmelden nach dem ersten
                 Verbindungsaufbau.
  -i             Deaktiviert die interaktive Eingabe, während mehrere
                 Dateien übertragen werden.
  -d             Aktiviert Debugging.
  -g             Deaktiviert "Globbing" des Dateinamens (siehe auch GLOB-
                 Befehl).
  -s:Dateiname   Gibt eine Textdatei an, die FTP-Befehle enthält. Die
                 Befehle werden nach dem Starten von FTP automatisch
                 ausgeführt.
  -a             Verwendet eine beliebige lokale Schnittstelle, wenn
                 Datenverbindungen gebunden werden.
  -A             Meldet den Benutzer als "Anonymus" an.
  -w:Puffergröße Überschreibt die Standardgröße des Übertragungspuffers
                 von 4096.
  Host           Gibt den Hostnamen oder die IP-Adresse des Remotehosts
                 an, zu dem eine Verbindung hergestellt wird.

Hinweis:
  - Die Befehle "mget" und "mput" akzeptieren y/n/q für yes/no/quit.
  - Verwenden Sie STRG+C zum Abbrechen von Befehlen.

C:\PROGRA~1\CASSET~1\NOTESM~1>pause
Drücken Sie eine beliebige Taste . . .

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Inhalt einer Maske per FTP versenden
« Antwort #7 am: 31.05.07 - 15:40:24 »
Na bitte, da steht der Fehler ja:
Zitat
C:\PROGRA~1\CASSET~1\NOTESM~1>ftp.exe -n -i -s:daten10321093.ftp
Fehler beim Öffnen der Skriptdatei daten10321093.ftp

Ich denke, die Datei daten10321093.ftp liegt nicht im Ordner "C:\PROGRA~1\CASSET~1\NOTESM~1" sonder auf "\192.168.1.2\sns\Orders". Den Pfad solltest beim Aufruf mit angeben.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline DaJamz

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
  • Warum hat mich keiner gewarnt???
Re: Inhalt einer Maske per FTP versenden
« Antwort #8 am: 31.05.07 - 16:13:12 »
Ype, u r right  ;D


Jetzt funkt es hiermit:
   
Codeschnipsel:

'erstmal sauber den Pfad festgelegt (endlich)
Pfad = "\\192.168.1.2\sns\Orders"
...

'und dann immer den kompletten Pfad+Dateinamen angeben
...
Open fileName$ For Output As fileNum%
nnZeile = ""
nnZeile = nnZeile + "ftp.exe -n -i -s:"+Pfad+"\daten"+Cstr(uidoc.document.BelegNr(0))+".ftp"+Chr$(13)+Chr$(10)
nnZeile = nnZeile + "exit"+Chr$(13)+Chr$(10)
Print #fileNum%, nnZeile
Close fileNum%
....
   


Super,
Vielen Danke für Deine Hilfe.

solong
DaJamz aka Sascha

Offline DaJamz

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
  • Warum hat mich keiner gewarnt???
Re: Inhalt einer Maske per FTP versenden
« Antwort #9 am: 03.06.09 - 08:38:38 »
Hallo alle zusammen,

ich habe ein Problem mit meinem Skirpt. Ich hole mir aus einem Ordner eine vorhanden PDF Datei und möchte Sie auf unseren FTP Server in ein bestimmtes Verzeichnis uploaden.
Soweit funktioniert das auch, alledings nicht immer. Alle paar mal, wird das PDF zwar hochgeladen, allerdings wird es nicht richtig dargestellt.
So sieht das PDF File aus wenn ich es per Skript hochlade (sieht so aus, als würde nicht alles hochgeladen werden)

Wenn ich dieses File aber per WS-FTP auf den FTP Server uploade, funktioniert es ohne Probleme.
Hat jemand eine Idee woran das liegen könnte ???

Hier der Script des Agenten:

Code
'.ftp File erstellen
Pfad1 = "\\IP-Adresse\accounting\2009\WE-Belege\20xxxx"
fileNum% = Freefile()
fileName$  = Pfad+"\"+Cstr(uidoc.document.WEOSGInvoiceno(0))+".ftp"

Open fileName$ For Output As fileNum%
nZeile = ""
nZeile = nZeile + "OPEN www.osg-germany.de"+Chr$(13)+Chr$(10)
nZeile = nZeile + "USER *****"+Chr$(13)+Chr$(10)
nZeile = nZeile + "*****"+Chr$(13)+Chr$(10)
nZeile = nZeile + "ASCII "+Chr$(13)+Chr$(10)
nZeile = nZeile + "cd 20xxxx"+Chr$(13)+Chr$(10)
nZeile = nZeile + "put "+Pfad1+"\"+Cstr(uidoc.document.WEOSGInvoiceno(0))+".pdf"+Chr$(13)+Chr$(10)
nZeile = nZeile + "bye"+Chr$(13)+Chr$(10)
Print #fileNum%, nZeile
Close fileNum%


'upload.bat  File erstellen
fileNum% = Freefile()
fileName$  = Pfad+"\"+Cstr(uidoc.document.WEOSGInvoiceno(0))+".bat"
	
Open fileName$ For Output As fileNum%
nnZeile = ""
nnZeile = nnZeile + "ftp.exe -n -i -s:"+Pfad+"\"+Cstr(uidoc.document.WEOSGInvoiceno(0))+".ftp"+Chr$(13)+Chr$(10)
nnZeile = nnZeile + "exit"+Chr$(13)+Chr$(10)
Print #fileNum%, nnZeile
Close fileNum%


'Batch aufgerufen
Dim result As Integer	
result = Shell( Pfad+"\"+Cstr(uidoc.document.WEOSGInvoiceno(0))+".bat" , 6 )	

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Inhalt einer Maske per FTP versenden
« Antwort #10 am: 03.06.09 - 09:10:14 »
LOL. Warum überträgst Du ein binäres PDF-Dokument im ASCII-Modus?
Das kann nicht funktionieren. Lern doch bitte mal FTP Basics.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline DaJamz

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
  • Warum hat mich keiner gewarnt???
Re: Inhalt einer Maske per FTP versenden
« Antwort #11 am: 03.06.09 - 09:45:56 »
LOL. Warum überträgst Du ein binäres PDF-Dokument im ASCII-Modus?
Das kann nicht funktionieren. Lern doch bitte mal FTP Basics.

Danke für die Antwort. Ich werde FTP Basics lernen.
Gegenfrage: "Warum funktioniert es in ca. 50% der Fälle?"

LOL

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Inhalt einer Maske per FTP versenden
« Antwort #12 am: 03.06.09 - 09:56:32 »
Solang kein \0 im Dateistream ist ...
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline DaJamz

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
  • Warum hat mich keiner gewarnt???
Re: Inhalt einer Maske per FTP versenden
« Antwort #13 am: 03.06.09 - 10:10:25 »

• FTP gelernt
Grob ausgedrückt: ASCII ist für Text gedacht, dort wird u.U. was in der Datei verändert, bei Binary werden die Daten unverändert übertragen

• Skript geändert
'.ftp File erstellen
Pfad1 = "\\IP-Adresse\accounting\2009\WE-Belege\20xxxx"
fileNum% = Freefile()
fileName$  = Pfad+"\"+Cstr(uidoc.document.WEOSGInvoiceno(0))+".ftp"

Open fileName$ For Output As fileNum%
nZeile = ""
nZeile = nZeile + "OPEN www.osg -germany.de"+Chr$(13)+Chr$(10)
nZeile = nZeile + "USER *****"+Chr$(13)+Chr$(10)
nZeile = nZeile + "*****"+Chr$(13)+Chr$(10)
nZeile = nZeile + "BIN "+Chr$(13)+Chr$(10)
nZeile = nZeile + "cd 20xxxx"+Chr$(13)+Chr$(10)
nZeile = nZeile + "put "+Pfad1+"\"+Cstr(uidoc.document.WEOSGInvoiceno(0))+".pdf"+Chr$(13)+Chr$(10)
nZeile = nZeile + "bye"+Chr$(13)+Chr$(10)
Print #fileNum%, nZeile
Close fileNum%

• es scheint zu funktionieren!

==> Danke für die schnelle Hilfe!

Gruß
Sascha

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz