Syntaxe des méthodes getFileName et getAbsoluteFileName

Vous pouvez utiliser les méthodes getFileName et getAbsoluteFileName pour renvoyer le nom d'un fichier spécifique dans le répertoire spoule. Cette possibilité est utile car RICOH ProcessDirector attribue un numéro de travail unique à chaque travail et inclut le numéro de travail dans les noms de fichier. La principale différence entre les deux méthodes est que getAbsoluteFileName échoue si le fichier demandé n'existe pas, tandis que getFileName peut renvoyer le nom d'un fichier spoule de remplacement.

Pour pouvoir utiliser l'une des méthodes RICOH ProcessDirectorgetFileName ou getAbsoluteFileName, utilisez la notation des symboles pour la référencer en tant que formule de symbole RICOH ProcessDirector. Utilisez l'une des syntaxes suivantes :

Syntaxe 1, recherche simple :

${getFileName(UsageKeyword, DatatypeKeyword, FileaccessKeyword)}

${getAbsoluteFileName(UsageKeyword, DatatypeKeyword, FileaccessKeyword)}

Syntaxe 2, recherche itérative :

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

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

,

MotCléSyntaxe
Mot clé, sensible à la casse, qui identifie le type d'utilisation du fichier spoule. Les valeurs que les utilisateurs autorisés peuvent indiquer sont les mêmes que celles disponibles pour la partie relative au type d'utilisation du nom de fichier spoule. Par exemple, vous pouvez spécifier les mots clés suivants, fournis par RICOH ProcessDirector : aiwlist, control, overrides ou print. Vous pouvez également indiquer vos propres mots clés définis par l'utilisateur.
MotCléTypeDonnées ou (MotCléTypeDonnées1, MotCléTypeDonnées2...)
Mot clé, sensible à la casse, qui indique le type de données du fichier spoule. Les valeurs que les utilisateurs autorisés peuvent indiquer sont les mêmes que celles disponibles pour la partie relative au type de données du fichier spoule. Par exemple, vous pouvez spécifier des mots clés fournis par RICOH ProcessDirector, tels que jdf, pdf ou gif. Vous pouvez également indiquer vos propres mots clés définis par l'utilisateur.

Si vous voulez qu'RICOH ProcessDirector continue à chercher un autre fichier spoule s'il n'en trouve pas du type initial, vous pouvez indiquer plusieurs mots clés liés au type de données. Séparez-les par des virgules et mettez-les entre parenthèses. Par exemple :

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

Dans cet exemple, la méthode getFileName recherche d'abord un fichier spoule avec un type de données print. Si elle ne trouve pas de nom de fichier spoule correspondant, elle recherche un fichier spoule avec un type de données pdf. Si elle ne trouve toujours pas de nom de fichier spoule correspondant, elle recherche un fichier spoule avec un type de données unknown. Si ce fichier spoule n'existe pas, RICOH ProcessDirector émet un message d'erreur.

Remarque: Le point de traitement auquel RICOH ProcessDirector essaie de déterminer le nom du fichier détermine si la méthode trouve le fichier. Si le flot de travaux comprend l'étape SetJobPropsFromTextFile, utilisez la méthode getAbsoluteFileName plutôt que la méthode getFileName. Le modèle d'étape SetJobPropsFromTextFile tente de résoudre le nom de fichier que la méthode getFileName représente immédiatement après création du travail par l'unité d'entrée, et tous les fichiers spoule ne sont pas disponibles à ce point de traitement. RICOH ProcessDirector ne tente pas de résoudre le nom de fichier que la méthode getAbsoluteFileName représente immédiatement après la création du travail.

Avec la méthode getAbsoluteFileName, vous pouvez également définir plusieurs valeurs de type de données, tels les exemples suivants :

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

La méthode getAbsoluteFileName recherche des fichiers spoule de la même manière que la méthode getFileName, à une exception près. S'il n'existe aucun fichier spoule présentant les types de données indiqués, la méthode getAbsoluteFileName ne recherche par défaut aucun fichier spoule avec le type de données unknown.

MotCléAccèsFichier
Le mot clé relatif à l'accès au fichier, qui est read ou write, indique si un programme externe lit le fichier depuis le répertoire spoule ou écrit le fichier dans le répertoire spoule. RICOH ProcessDirector crée des fichiers dans des sous-répertoires du répertoire spoule, selon que le programme externe lit ou écrit un fichier :
Sous-répertoire /checkpoints
Lorsqu'un programme externe effectue des modifications dans un fichier par une opération d'écriture, RICOH ProcessDirector déplace la version originale du fichier vers ce sous-répertoire. Si un utilisateur autorisé requiert plus tard une action de retraitement, RICOH ProcessDirector peut restaurer le fichier spoule d'origine à partir du sous-répertoire /checkpoints. Ainsi, le programme externe possède la même entrée disponible pour son opération d'écriture que lorsqu'il a traité le fichier la première fois.
Sous-répertoire /tmp
Lorsque le programme externe crée un nouveau fichier, RICOH ProcessDirector enregistre le nouveau fichier dans ce répertoire jusqu'à ce que l'action externe qui a appelé le programme externe soit terminée. Lorsque l'action est terminée, RICOH ProcessDirector déplace le nouveau fichier vers le répertoire spoule.
Remarque: Les programmes externes qui créent des travaux enfant doivent les écrire dans le sous-répertoire /children du répertoire spoule du travail. Le nom de fichier du travail enfant créé par le programme externe doit respecter le format suivant :
JobNumber.Usagetype.Datatype,ChildGroupID,Job.JobType=JobType
La variable ChildGroupID doit être identique pour tous les fichiers associés à un travail enfant unique. Si le programme externe génère plusieurs travaux enfant, il doit incrémenter la valeur IDGroupeEnfant pour chaque ensemble de fichiers associés à un nouveau travail enfant.

Le programme externe ajoute ,Job.JobType= au nom de fichier, qui est le nom de la base de données de la propriété du flot de travaux. La valeur TypeTravail est le nom du flux de travail requis par le travail enfant ; ce flux doit exister et il doit être activé.

Exemples de lecture des méthodes getFileName et getAbsoluteFileName

Tous ces exemples utilisent le répertoire spoule :

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

Le répertoire spoule contient les fichiers spoules suivants :

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

Pour ces exemples, la valeur de la propriété du travail Flot de données en entrée n'a pas été définie d'une manière spécifique, comme au moyen d'un travail par défaut dans le flot de travaux ou une étape de détection. Par conséquent, un fichier spoule avec un type de données unknown se trouve dans le répertoire spoule :

  • Renvoi du chemin d'accès et du nom du fichier de contrôle du travail, à savoir /aiw/aiw1/spool/default/10000006/10000006.control.text , de sorte que le programme externe puisse effectuer une opération de lecture sur le fichier :
    ${getFileName(control, text, read)}
    
    ${getAbsoluteFileName(control, text, read)}
  • Renvoi du chemin d'accès et du nom du fichier en entrée du travail, à savoir /aiw/aiw1/spool/10000006/10000006.print.unknown , de sorte que le programme externe puisse effectuer une opération de lecture sur le fichier :
    ${getFileName(print, unknown, read)}
    
    ${getAbsoluteFileName(print, unknown, read)}

Cet exemple utilise ce répertoire spoule :

  • /aiw/aiw1/spool/default/10000009

Le répertoire spoule contient les fichiers spoules suivants :

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

Dans cet exemple, le type de flot de données en entrée a été détecté ; 10000009.print.ps est une copie du fichier en entrée d'origine. Recherche d'un fichier en entrée dans l'un des formats PostScript pris en charge :

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

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

Les deux méthodes recherchent d'abord un fichier spoule nommé 10000009.print.pdf. Puisque le fichier spoule n'existe pas, les méthodes recherchent un fichier spoule nommé 10000009.print.ps.

Exemples d'écriture des méthodes getFileName et getAbsoluteFileName

Tous ces exemples utilisent le répertoire spoule :

  • /aiw/aiw1/spool/default/10000006
  • Configurer une opération d'écriture par un programme externe chargé d'écrire un nouveau fichier d'enregistrement de statistiques :
    ${getFileName(statistics, record, write)}
    
    ${getAbsoluteFileName(statistics, record, write)}

    RICOH ProcessDirector fournit au programme externe le chemin d'accès et le nom de fichier /aiw/aiw1/spool/default/10000006/10000006.statistics.record .

  • Configurer une opération d'écriture par un programme externe chargé de mettre à jour le fichier d'impression PDF dans le répertoire spoule :
    ${getFileName(print, pdf, write)}
    
    ${getAbsoluteFileName(print, pdf, write)}

    RICOH ProcessDirector contrôle un fichier portant le nom 10000006.print.pdf, s'il existe, dans le sous-répertoire checkpoint du répertoire spoule du travail.

    RICOH ProcessDirector fournit également au programme externe le chemin d'accès et le nom de fichier /aiw/aiw1/spool/default/10000006/tmp/10000006.print.pdf .

    • Si le programme échoue, le répertoire spoule du travail est inchangé, car le programme externe a écrit dans un fichier RICOH ProcessDirector déplacé dans le sous-répertoire /tmp. RICOH ProcessDirector ne déplace le fichier dans le répertoire spoule que si l'étape externe ayant appelé le programme externe se termine avec succès.
    • Si le programme aboutit, RICOH ProcessDirector place le fichier du sous-répertoire /tmp dans le répertoire spoule. Si un fichier avec le même nom existe déjà dans le répertoire spoule, RICOH ProcessDirector place ce fichier dans le sous-répertoire de point de contrôle, puis transfère le nouveau fichier créé de /tmp dans le répertoire spoule du travail.