Einsatzhinweis
Funktion: Holen mehrerer Dateien
Benutzergruppe: FT-Benutzer
Funktionsbeschreibung
Mit ft_mget können Sie mehrere per Wildcard spezifizierte Dateien synchron oder asynchron von einem entfernten Partnerrechner holen. ft_mget verwendet dazu intern u.a. das Kommando ncopy (synchron) bzw. ft (asynchron). Die Übertragungsart (synchron oder asynchron) wird über die Option -async gesteuert.
Format
ft_mget -h |
[ -async ]
[ -case=y | -case=n ]
[ -t | -u | -b ][ -x ]
[ -o | -e | -n ]
[ -k | -z ][ -c ][ -S | -s ][ -m=n | -m=f | -m=a ] *)
<Partner 1..200>!<Dateiname mit Wildcard 1..512>
<Präfix 0..511>%
<Zugangsberechtigung 8..67> | @n |
<Benutzerkennung 1..67>[,[<Account 1..64>] [,<Kennwort 1..64>]]
[ -p=[<Kennwort 1..64>] ][ -di ]
[ -lc=<CCS-Name 1..8> ][ -rc=<CCS-Name 1..8> ]
[ -ls=<Folgeverarbeitung 1..1000> ][ -lf=<Folgeverarbeitung 1..1000> ]
[ -rs=<Folgeverarbeitung 1..1000> ][ -rf=<Folgeverarbeitung 1..1000> ]
[ -r=v[<1..65535>] | -r=f[<1..65535>] | -r=u[<1..65535>] |
-r=<1..65535> ]
[ -tff=b | -tff=s ][ -trf=u ]
[ -av=i | -av=d ] [ -ac=<Neue Abrechnungsnummer 1..64> ]
[ -am=[r][i][p][x][e][a][c][d] | -am=@rw | -am=@ro ]
[ -lq=<Rechtliche Bestimmung 1..80> ]
[ -pr=n | -pr=l ]
[ -sd=yyyymmdd | +<Startdatum 0..ddddd> ]
[ -st=[+]<Startzeit hhmm> ]
[ -cd=yyyymmdd | +<Löschdatum 0..ddddd> ]
[ -ct=[+]<Löschzeit hhmm> ]
[ -md ]
*)die Option -m steht nur auf Unix-Systemen zur Verfügung
Beschreibung der Optionen
Im Folgenden werden nur die Unterschiede zum ncopy- und ft-Kommando beschrieben, die anderen Parameter haben dieselbe Bedeutung wie beim ncopy - bzw. ft -Kommando.
Bitte beachten Sie, dass für die Option -c (Verschlüsselung von Benutzerdaten) dieselben Bedingungen wie beim ft- oder ncopy-Kommando gelten, d.h. openFT-CR muss installiert sein, und das Partnersystem muss Verschlüsselung unterstützen.
-async
Die Dateien werden asynchron geholt. In diesem Fall dürfen Sie die Option -s nicht angeben. Alle anderen Parameter sind erlaubt.
-async nicht angegeben
Wenn Sie -async weglassen, dann werden die Dateien synchron geholt. In diesem Fall dürfen Sie folgende Optionen nicht angeben:
-ls und -lf (lokale Folgeverarbeitung)
-pr (Priorität)
-sd und -st (Startdatum und-zeit)
-cd und -ct (Löschdatum und -zeit)
Alle anderen Parameter sind erlaubt.
-case=y | -case=n
Die Option -case bestimmt die Berücksichtigung oder Nicht-Berücksichtigung von Groß- / Kleinschreibung in der Dateinamenstruktur. Auf die Bestimmung des Verzeichnisnamens hat die Option -case keinen Einfluss.
y
Das für die Sourcedatei angegebene Dateinamensmuster wird unter Berücksichtigung von Groß-/Kleinschreibung mit den vom fernen System erhaltenen Dateinamen verglichen.
n
Das für die Sourcedatei angegebene Dateinamensmuster wird ohne Berücksichtigung von Groß-/Kleinschreibung mit den vom fernen System erhaltenen Dateinamen verglichen.
-case nicht angegeben
Wird -case nicht angegeben, dann gilt: beim Namensvergleich wird für Unix- und POSIX-Partner zwischen Groß- und Kleinschrift unterschieden; für andere Partnersysteme spielt es keine Rolle, ob Groß- oder Kleinbuchstaben verwendet werden.
-c
Steuert die Verschlüsselungsoption für Benutzerdaten und für Datei/Verzeichnisattribute. D.h. die Angaben gelten auch für Dateimanagementaufträge (anders als bei Dateiübertragungskommandos).
Zugangsberechtigung | @n | Benutzerkennung[,[Account][,Kennwort]]
Die Angabe der Zugangsberechtigung ist Pflicht. Dunkelgesteuerte Eingabe wird nicht unterstützt. Es darf deshalb weder der Wert @d noch eine Benutzerkennung ohne Kennwort in der Form Benutzerkennung,[Account], angegeben werden.
Dateiname mit Wildcard
Gibt an, welche Dateien aus dem fernen System geholt werden sollen.
Wildcard-Symbole dürfen Sie nur im letzten Namensteil nach dem letzten Schrägstrich (/) bzw. Gegenschrägstrich (\) verwenden, nicht in Verzeichnisnamen. Ein BS2000-Partner wird als POSIX-System angesehen, wenn der angegebene Dateiname ein POSIX-Pfadname ist, also mit / oder ./ beginnt.
Wenn die Option -async nicht angegeben wurde, werden alle Dateien, deren Name dem bei Dateiname mit Wildcard angegebenen Muster entspricht, von ft_mget synchron in einer Schleife von ncopy-Kommandos auf den lokalen Rechner übertragen. Andernfalls werden in der Schleife mit ft-Kommandos asynchrone Übertragungsaufträge abgesetzt.
Die folgenden Zeichen können zur Definition eines Wildcard-Musters verwendet werden:
*
als Platzhalter für eine beliebige (auch leere) Zeichenfolge.
?
als Platzhalter für ein beliebiges einzelnes Zeichen.
[chars]
als Platzhalter für ein einzelnes Zeichen aus dem durch chars festgelegten Zeichenvorrat. Sie können in chars einzelne Zeichen aufzählen oder einen bzw. mehrere Zeichenbereiche in der Form a-z angeben. Dadurch werden alle Zeichen zwischen a und z (einschließlich) ausgewählt.
Beispiel: [aeiX-Z] steht für eines der Zeichen a e i X Y Z.
\x
x als Platzhalter für ein einzelnes der nachfolgend aufgelisteten Zeichen:* ? [ ] \ Der Gegenschrägstrich dient dazu, die spezielle Bedeutung dieser Zeichen im angegebenen Wildcard-Muster zu entwerten.
ft_mget 'servus01!*.pdf'
....Präfix%
Bestimmt die Namen der Empfangsdateien im lokalen System.
Sie können %, %BASENAME, Präfix%, oder Präfix%BASENAME angeben:
% bzw. %BASENAME
werden jeweils durch den letzten Namensteil der fernen Datei ersetzt. Der letzte Namensteil beginnt hinter dem letzten Schrägstrich (/) oder Gegenschrägstrich (\) oder einem entsprechenden Zeichen im fernen System.
Präfix% bzw. Präfix%BASENAME
Optional können Sie auch ein Präfix angeben, z.B. sicher.%BASENAME.
Dieses Präfix muss mit einem Punkt (.), einem Schrägstrich (/) oder einem Gegenschrägstrich (\) enden. Das Präfix kann auch den absoluten oder relativen Pfad eines auf dem lokalen Rechner existierenden Verzeichnisses enthalten. Wenn das angegebene Verzeichnis nicht existiert, dann wird ft_mget nicht ausgeführt.
Bitte beachten Sie, dass der resultierende Dateiname den Regeln des lokalen Systems entsprechen muss, andernfalls werden die Dateien nicht übertragen.
Wenn beispielsweise beim Holen von Dateien von einem Unix-System auf ein Windows-System der letzte Namensteil einer dem Suchmuster entsprechenden Datei ein Anführungszeichen (") enthält, dann schlägt die Übertragung dieser Datei fehl, weil ein Windows-System im Gegensatz zu Unix-Systemen keine Anführungszeichen in Dateinamen erlaubt.
Ergebnismeldungen und Returncodes
Im Erfolgsfall gibt ft_mget eine der folgenden Meldungen aus:
<n> files successfully transferred
(synchrone Übertragung)
Transfer of <n> files successfully initiated
(asynchrone Übertragung)
Dabei steht <n> für die Anzahl der synchron übertragenen Dateien bzw. der Anzahl der initiierten asynchronen Übertragungsaufträge. Wurden keine Dateien auf dem entfernten System gefunden, die dem spezifizierten Muster entsprechen, kommt stattdessen die Meldung:
No files corresponding to specified pattern found
ft_mget beendet sich im Normalfall mit dem Returncode 0. Tritt während der Ausführung ein Fehler auf, beendet sich das Kommando mit einem der folgenden Returncodes (Rc):
Rc | Ausgabe auf stderr | Bedeutung |
1 | Invalid source parameter '<par>'. Source | Die Angabe des Parameters zur Festlegung |
1 | ft_mget-Syntaxhilfe | Einer der Pflichtparameter für ft_mget wurde |
1 | Invalid transfer admission specified. | Es wurde @d oder Benutzerkennung>,[Account], |
1 | Parameter(s) '<par>' only allowed together | Die Parameter <par> sind nur bei asynchroner |
1 | Parameter(s) '<par>' must not be specified | Die Parameter <par> sind bei asynchroner |
2 | Given target directory '<dir>' does not exist. | Das angegebene Zielverzeichnis auf dem |
3 | Given target path must contain %, | Der angegebene Parameter für das Ziel von |
4 | openFtCmd <ftshw> failed | Das openFT Kommando ftshw zur Ermittlung |
5 | ft::isAbort after openFtCmd <ftshw> | Das openFT Kommando ftshw zur Ermittlung |
6 | Remote directory <dir> on host <partner> | Zugriff auf das angegebene Verzeichnis auf |
6 | Reading content of remote directory <dir> | Das Lesen des angegebenen Verzeichnisses |
7 | Not all files successfully transferred | Mindestens eine Quelldatei konnte nicht auf |
Beispiele
Sie möchten alle Dateien auf dem fernen Rechner, die sich in einem bestimmten Verzeichnis befinden und deren Namen mit cfg beginnen, synchron auf den lokalen Rechner holen und dort im Unterverzeichnis config des aktuellen Aufrufverzeichnisses ablegen. mytad001 ist eine gültige FTAC-Zugangsberechtigung für den fernen Rechner.
Das lokale System und das ferne System MCH0001X sind Unix-Systeme
Wenn sich die Dateien im Verzeichnis tmp/config befinden, dann lautet das Kommando:
ft_mget
'MCH0001X!/tmp/config/cfg*' \
config/copy.%BASENAME mytad001
Wenn z.B. im Quellverzeichnis die Dateien cfg001, cfg002 und cfg003 existieren, dann erzeugt ft_mget die lokalen Empfangsdateien config/copy.cfg001, config/copy.cfg002 und config/copy.cfg003.
Das lokale System und das ferne System MCH0001W sind Windows-Systeme
Wenn sich die Dateien im Verzeichnis D:\tmp\config befinden, dann lautet das Kommando:
ft_mget
MCH0001W!D:\tmp\config\cfg*
config\copy.%BASENAME mytad001
Wenn z.B. im Quellverzeichnis die Dateien cfg001 , cfg002 und cfg003 existieren, dann erzeugt ft_mget die lokalen Empfangsdateien config\copy.cfg001 , config\copy.cfg002 und config\copy.cfg003 .