Syntax der Methoden getFileName und getAbsoluteFileName

Sie können die Methoden getFileName und getAbsoluteFileName verwenden, um den Namen einer bestimmten Datei im Spoolverzeichnis zurückzugeben. Dies ist nützlich, da RICOH ProcessDirector jedem Job eine eindeutige Jobnummer zuordnet und die Jobnummer in Dateinamen aufnimmt. Der Hauptunterschied zwischen den beiden Methoden liegt darin, dass die Methode getAbsoluteFileName scheitert, wenn die speziell angeforderte Datei nicht vorhanden ist. Die Methode getFileName kann den Namen einer alternativen Spooldatei zurückgeben.

Wollen Sie die RICOH ProcessDirector-Methode getFileName oder getAbsoluteFileName verwenden, benutzen Sie die Symbolschreibweise, um auf diese Methoden als RICOH ProcessDirector-Symbolformeln zu verweisen. Benutzen Sie eine der folgenden Syntaxen:

Syntax 1, einzelne Suche:

${getFileName(UsageKeyword, DatatypeKeyword, FileaccessKeyword)}

${getAbsoluteFileName(UsageKeyword, DatatypeKeyword, FileaccessKeyword)}

Syntax 2, iterative Suche:

${getFileName(UsageKeyword, (DatatypeKeyword1, DatatypeKeyword2...), 
FileaccessKeyword)}

${getAbsoluteFileName(UsageKeyword, (DatatypeKeyword1, 
DatatypeKeyword2...), FileaccessKeyword)}

Dabei gilt Folgendes:

Verwendungsschlüsselwort
Ein Schlüsselwort, bei dem die Groß-/Kleinschreibung beachtet werden muss und das den Verwendungstyp der Spooldatei identifiziert. Die Werte, die berechtigte Benutzer angeben können, sind die Werte, die der Teil des Spooldateinamens mit dem Verwendungstyp enthalten kann. Beispielsweise können Sie die folgenden von RICOH ProcessDirector bereitgestellten Schlüsselwörter angeben: aiwlist, control, overrides oder print. Zudem können Sie Ihre eigenen benutzerdefinierten Schlüsselwörter angeben.
Datentypschlüsselwort oder (Datentypschlüsselwort1, Datentypschlüsselwort2...)
Ein Schlüsselwort, bei dem die Groß-/Kleinschreibung beachtet werden muss und das den Datentyp der Spooldatei angibt. Die Werte, die berechtigte Benutzer angeben können, sind die Werte, die der Teil des Spooldateinamens mit dem Datentyp enthalten kann. Sie können beispielsweise die von RICOH ProcessDirectorbereitgestellten Schlüsselwörter, wie jdf, pdf oder gif angeben. Zudem können Sie Ihre eigenen benutzerdefinierten Schlüsselwörter angeben.

Soll RICOH ProcessDirector nach einer anderen Spooldatei suchen, falls keine Spooldatei mit dem Anfangstyp findet, können Sie mehrere Datentypschlüsselwörter angeben. Die Datentypschlüsselwörter müssen durch Kommas getrennt und in runde Klammern eingeschlossen werden. Beispiel:

${getFileName(UsageKeyword, (print, pdf), FileaccessKeyword)}

In diesem Beispiel sucht die Methode getFileName zuerst nach einer Spooldatei mit dem Datentyp print. Findet sie keinen übereinstimmenden Spooldateinamen, sucht sie nach einer Spooldatei mit dem Datentyp pdf. Findet keinen übereinstimmenden Spooldateinamen, sucht nach einer Spooldatei mit dem Datentyp unknown. Ist diese Spooldatei nicht vorhanden, gibt RICOH ProcessDirector eine Fehlernachricht aus.

Hinweis: Ob die Methode die Datei findet, hängt von dem Verarbeitungspunkt ab, an dem RICOH ProcessDirector versucht, den Namen der Datei aufzulösen. Enthält der Workflow den Schritt SetJobPropsFromTextFile, verwenden Sie die Methode getAbsoluteFileName anstatt der Methode getFileName. Der Schritt SetJobPropsFromTextFile versucht direkt nach dem Erstellen des Jobs durch die Eingabeeinheit, den durch die Methode getFileName dargestellten Dateinamen aufzulösen, aber an diesem Punkt der Verarbeitung sind noch nicht alle Spooldateien verfügbar. RICOH ProcessDirector versucht zu diesem Zeitpunkt nicht, den Dateinamen aufzulösen, den die Methode getAbsoluteFileName unmittelbar nach der Erstellung des Jobs darstellt.

Sie können auch mehrere Datentypwerte in der Methode getAbsoluteFileName angeben, beispielsweise:

${getAbsoluteFileName(UsageKeyword, (pdf, postscript, text), 
FileaccessKeyword)}

Die Methode getAbsoluteFileName sucht in derselben Art und Weise nach Spooldateien wie die Methode getFileName, nur gibt es eine einzige Ausnahme. Sind keine Spooldateien mit einem der angegebenen Datentypen vorhanden, sucht die Methode getAbsoluteFileName standardmäßig nicht nach einer Spooldatei mit dem Datentyp unknown.

Dateizugriffsschlüsselwort
Das Dateizugriffsschlüsselwort (entweder read oder write) gibt an, ob das externe Programm die Datei aus dem Spoolverzeichnis liest oder die Datei in das Spoolverzeichnis schreibt. RICOH ProcessDirector erstellt Dateien in Unterverzeichnissen des Spoolverzeichnisses in Abhängigkeit davon, ob das externe Programm eine Datei liest oder schreibt:
Unterverzeichnis /checkpoints
Wenn das externe Programm mit einer Schreiboperation Änderungen an der Datei vornimmt, versetzt RICOH ProcessDirector die Originalversion der Datei in dieses Unterverzeichnis. Wenn ein berechtigter Benutzer anschließend eine erneute Verarbeitung anfordert, kann RICOH ProcessDirector die Original-Spooldatei aus dem Unterverzeichnis /checkpoints wiederherstellen. Dadurch ist sichergestellt, dass für das externe Programm dieselbe Eingabe für seine Schreiboperation wie beim ersten Verarbeiten der Datei verfügbar ist.
Unterverzeichnis /tmp
Wenn das externe Programm eine neue Datei erstellt, speichert RICOH ProcessDirector die neue Datei in diesem Unterverzeichnis, bis der externe Schritt, der das externe Programm aufruft, abgeschlossen ist. Ist der Schritt abgeschlossen, versetzt RICOH ProcessDirector die neue Datei in das Spoolverzeichnis.
Hinweis: Externe Programme, die untergeordnete Jobs erstellen, müssen die untergeordneten Jobs in das Unterverzeichnis /children des Spoolverzeichnisses für den Job stellen. Der von dem externen Programm erstellte Dateiname des untergeordneten Jobs muss das folgende Format haben:
JobNumber.Usagetype.Datatype,ChildGroupID,Job.JobType=JobType
Die ChildGroupID muss für alle Dateien gleich sein, die einem einzelnen untergeordneten Job zugeordnet sind. Wenn das externe Programm mehrere untergeordnete Jobs generiert, muss es die Gruppen-ID_untergeordneter_Job für jede Gruppe von Dateien erhöhen, die einem neuen untergeordneten Job zugeordnet sind.

Das externe Programm hängt ,Job.JobType= an den Dateinamen an. Dies ist der Datenbankname für das Workflowmerkmal. Der Wert JobType ist der Name des Workflows, den der untergeordnete Job benötigt. Dieser Workflow muss vorhanden und aktiviert sein.

Beispiele für getFileName und getAbsoluteFileName mit Leseoperation

Alle diese Beispiele verwenden das Spool-Verzeichnis:

  • /aiw/aiw1/spool/default/10000006 (Linux)

Das Spool-Verzeichnis enthält diese Spooldateien:

10000006.banner_attributes.text
10000006.control.text
10000006.overrides.text
10000006.print.pdf
10000006.print.unknown
10000006.resources.pdf
10000006.resources.log
10000006.resources.outlines

In diesen Beispielen wurde der Wert des Jobmerkmals Eingabedatenstrom über keine Methode (beispielsweise über einen Jobstandardwert im Workflow oder über einen Erkennungsschritt) festgelegt. Daher ist in dem Spoolverzeichnis eine Spooldatei mit dem Datentyp unknown vorhanden:

  • Es soll der Pfad und Name der Steuerdatei für den Job /aiw/aiw1/spool/default/10000006/10000006.control.text zurückgegeben werden, damit das externe Programm eine Leseoperation für die Datei ausführen kann:
    ${getFileName(control, text, read)}
    
    ${getAbsoluteFileName(control, text, read)}
  • Es soll der Pfad und Name der Eingabedatei für den Job /aiw/aiw1/spool/10000006/10000006.print.unknown zurückgegeben werden, damit das externe Programm eine Leseoperation für die Datei ausführen kann:
    ${getFileName(print, unknown, read)}
    
    ${getAbsoluteFileName(print, unknown, read)}

Diese Beispiele verwenden das Spool-Verzeichnis:

  • /aiw/aiw1/spool/default/10000009

Das Spool-Verzeichnis enthält diese Spooldateien:

10000009.banner_attributes.text
10000009.control.text
10000009.overrides.text
10000009.print.ps
10000009.resources.pdf
10000009.resources.log
10000009.resources.outlines

In diesem Beispiel wurde der Typ des Eingabedatenstroms erkannt, und 10000009.print.ps ist die Kopie der Original-Eingabedatei. Benutzen Sie Folgendes, um nach einer Eingabedatei in einem der unterstützten PostScript-Formate zu suchen:

${getFileName(print, (pdf, ps), read)}

${getAbsoluteFileName(print, (pdf, ps), read)}

Beide Methoden suchen zuerst nach einer Spooldatei mit dem Namen 10000009.print.pdf. Da diese Spooldatei nicht vorhanden ist, setzen die Methoden die Suche nach einer Spooldatei mit dem Namen 10000009.print.ps fort.

Beispiele für getFileName und getAbsoluteFileName mit Schreiboperation

Alle diese Beispiele verwenden das Spool-Verzeichnis:

  • /aiw/aiw1/spool/default/10000006
  • Es soll eine Schreiboperation durch ein externes Programm konfiguriert werden, bei der eine neue Statistikdatensatzdatei in das Spoolverzeichnis geschrieben wird:
    ${getFileName(statistics, record, write)}
    
    ${getAbsoluteFileName(statistics, record, write)}

    RICOH ProcessDirector stellt das externe Programm mit dem Pfad und Dateinamen /aiw/aiw1/spool/default/10000006/10000006.statistics.record bereit.

  • Es soll eine Schreiboperation durch ein externes Programm konfiguriert werden, bei der die PDF-Druckdatei im Spoolverzeichnis aktualisiert wird:
    ${getFileName(print, pdf, write)}
    
    ${getAbsoluteFileName(print, pdf, write)}

    RICOH ProcessDirector versetzt eine Datei namens 10000006.print.pdf, falls diese existiert, in das Unterverzeichnis checkpoints des Spoolverzeichnisses für den Job.

    RICOH ProcessDirector stellt außerdem das externe Programm mit dem Pfad und Dateinamen /aiw/aiw1/spool/default/10000006/tmp/10000006.print.pdf bereit.

    • Wenn das Programm scheitert, wird das Spoolverzeichnis für den Job nicht geändert, da das externe Programm in eine Datei geschrieben hat, die RICOH ProcessDirector in das Unterverzeichnis /tmp versetzt hat. RICOH ProcessDirector versetzt die Datei nur dann in das Spoolverzeichnis, wenn der externe Schritt, der das externe Programm aufruft, erfolgreich ausgeführt wird.
    • Ist das Programm erfolgreich, versetzt RICOH ProcessDirector die Datei aus dem Unterverzeichnis /tmp in das Spoolverzeichnis. Ist bereits eine Datei mit diesem Namen im Spoolverzeichnis vorhanden, versetzt RICOH ProcessDirector diese Datei in das Unterverzeichnis /tmp und dann die neu erstellte Datei aus /tmp in das Spoolverzeichnis für den Job.