Sintassi di getFileName e getAbsoluteFileName

È possibile utilizzare i metodi getFileName e getAbsoluteFileName per restituire il nome di un file specifico nella directory di spool. Questo è utile perché RICOH ProcessDirector assegna un numero di lavoro univoco per ogni lavoro e include il numero di lavoro nei nomi file. La differenza principale tra i due metodi è che getAbsoluteFileName non riesce se il file specificamente richiesto non esiste; getFileName può restituire il nome di un file di spool alternativo.

Per utilizzare il metodo RICOH ProcessDirectorgetFileName o il metodo getAbsoluteFileName, utilizzare l'annotazione del simbolo per fare riferimento a questi come alle formule di simbolo RICOH ProcessDirector. Utilizzare una di queste sintassi:

Sintassi 1, ricerca singola:

${getFileName(UsageKeyword, DatatypeKeyword, FileaccessKeyword)}

${getAbsoluteFileName(UsageKeyword, DatatypeKeyword, FileaccessKeyword)}

Sintassi 2, ricerca iterativa:

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

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

in cui:

UsageKeyword
Una parola chiave sensibile al maiuscolo/minuscolo che identifica il tipo di utilizzo del file di spool. I valori che gli utenti autorizzati possono specificare sono gli stessi valori che la parte usage-type del nome file di spool può contenere. Ad esempio, è possibile specificare queste parole chiave fornite da RICOH ProcessDirector: aiwlist, control, overrides o print. È inoltre possibile specificare le parole chiave definite dall'utente.
DatatypeKeyword or (DatatypeKeyword1, DatatypeKeyword2...)
Una parola chiave sensibile al maiuscolo/minuscolo che specifica il tipo di dati del file di spool. I valori che gli utenti autorizzati possono specificare sono gli stessi valori che la porzione del tipo di dati del file di spool possono contenere. Ad esempio, è possibile specificare parole chiave fornite da RICOH ProcessDirector, come jdf, pdf o gif. È inoltre possibile specificare le parole chiave definite dall'utente.

Se si vuole cheRICOH ProcessDirector continui a cercare un altro file di spool se non trova un file di spool del tipo iniziale, è possibile specificare parole chiave del tipo di dati multipli. Separarle con virgole e racchiuderle tra parentesi. Ad esempio:

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

In questo esempio, il metodo getFileName cerca innanzitutto un file di spool con il tipo di dati print. Se non trova un nome del file di spool corrispondente, prosegue con la ricerca di un file di spool con tipo di dati pdf. Se ancora non trova un nome del file di spool corrispondente, prosegue con la ricerca di un file di spool con datatype sconosciuto. E se questo file di spool non esiste, RICOH ProcessDirector genererà un messaggio d'errore.

Nota: Il punto di elaborazione in cui RICOH ProcessDirector tenta di risolvere il nome del file determina se il metodo riesce a localizzare il file o meno. Se il flusso di lavoro include l'operazione SetJobPropsFromTextFile, utilizzare il metodo getAbsoluteFileName invece del metodo getFileName. L'operazione SetJobPropsFromTextFile cerca di risolvere il nome del file che il metodo getFileName rappresenta immediatamente dopo la creazione del lavoro da parte del dispositivo di input; non tutti i file di spool sono disponibili a quel punto dell'elaborazione. RICOH ProcessDirectornon cerca di risolvere il nome del file rappresentato dal metodo getAbsoluteFileName immediatamente dopo la creazione del lavoro.

È inoltre possibile specificare più valori datatype con il metodo getAbsoluteFileName come:

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

Il metodo getAbsoluteFileName cerca i file di spool nella stessa maniera del metodo getFileName, con un'eccezione. Se non risultano file di spool con i datatype specificati il metodo getAbsoluteFileName non cercherà un file di spool con datatype unknown per impostazione predefinita.

FileaccessKeyword
La parola chiave di accesso al file, ovvero lettura o scrittura, specifica se il programma esterno legge il file dalla directory di spool o scrive il file nella directory di spool. RICOH ProcessDirector crea i file in sottodirectory della directory di spool, a seconda che il programma esterno legga o scriva un file:
Sottodirectory checkpoints
Quando il programma esterno esegue modifiche al file con un'operazione di scrittura, RICOH ProcessDirector sposta la versione originale del file in questa sottodirectory. Se un utente autorizzato richiede successivamente un'azione di rielaborazione, RICOH ProcessDirector può ripristinare il file di spool di origine dalla directory secondaria checkpoints. Ciò assicura che il programma esterno abbia lo stesso input disponibile per l'operazione di scrittura come la prima volta che il file è stato elaborato.
Sottodirectory tmp
Quando il programma esterno crea un nuovo file, RICOH ProcessDirector memorizza il nuovo file nella sottodirectory fino a che non viene completato il passo esterno che chiama il programma esterno. Quando il passo viene completato, RICOH ProcessDirector sposta il nuovo file sulla directory di spool.
Nota: I programmi esterni che creano lavori secondari devono scriverli nella sottodirectory secondari della directory di spool del lavoro. Il nome del file del lavoro secondario che i programmi secondari creano deve risultare nel seguente formato:
JobNumber.Usagetype.Datatype,ChildGroupID,Job.JobType=JobType
ChildGroupID deve essere identico per tutti i file associati a un singolo lavoro secondario. Se il programma esterno genera più di un lavoro secondario, deve incrementare ChildGroupID per ogni serie di file associati con un nuovo lavoro secondario.

Il programma esterno aggiunge ,Job.JobType= al nome del file, che è il nome del database per la proprietà del flusso di lavoro. Il valore JobType è il nome del flusso di lavoro richiesto dal lavoro secondario. Questo flusso di lavoro deve essere esistente e abilitato.

Esempi di lettura di getFileName e getAbsoluteFileName

In tutti questi esempi viene utilizzata la directory di spool:

  • /aiw/aiw1/spool/default/10000006 (AIX e Linux)
  • C:\aiw\aiw1\spool\default\10000006 (Windows)

La directory di spool contiene i file di spool:

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 questi esempi non è stato impostato il valore della proprietà di lavoro Flusso dati di input, ad esempio mediante un valore predefinito del lavoro nel flusso di lavoro o in un'operazione di individuazione. Perciò un file di spool con datatype unknown è presente nella directory di spool:

  • Per restituire il percorso e il nome del file di controllo per il lavoro, che corrisponde a /aiw/aiw1/spool/default/10000006/10000006.control.text (AIX e Linux) o C:\aiw\aiw1\spool\default\10000006\10000006.control.text (Windows), in modo che il programma esterno possa eseguire un'operazione di lettura sul file:
    ${getFileName(control, text, read)}
    
    ${getAbsoluteFileName(control, text, read)}
  • Per restituire il percorso e il nome del file di input per il lavoro, che corrisponde a /aiw/aiw1/spool/10000006/10000006.print.unknown (AIX e Linux) o C:\aiw\aiw1\spool\10000006\10000006.print.unknown (Windows), in modo che il programma esterno possa eseguire un'operazione di lettura sul file:
    ${getFileName(print, unknown, read)}
    
    ${getAbsoluteFileName(print, unknown, read)}

In questi esempi viene utilizzata la directory di spool:

  • /aiw/aiw1/spool/default/10000009 (AIX e Linux)
  • C:\aiw\aiw1\spool\default\10000009 (Windows)

La directory di spool contiene i file di spool:

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

In questo esempio, il tipo di flusso di dati di input è stato rilevato e 10000009.print.ps è la copia del file di input originale. Per ricercare un file di input in uno dei formati PostScript supportati:

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

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

Entrambi i metodi cercano inizialmente un file di spool con nome 10000009.print.pdf. Poiché quel file di spool non è presente, i metodi continueranno con la ricerca del nome 10000009.print.ps.

Esempi di scrittura di getFileName e getAbsoluteFileName

In tutti questi esempi viene utilizzata la directory di spool:

  • /aiw/aiw1/spool/default/10000006 (AIX e Linux)
  • C:\aiw\aiw1\spool\default\10000006 (Windows)
  • Per impostare un'operazione di scrittura con un programma esterno che scrive un nuovo file delle statistiche sulla directory di spool:
    ${getFileName(statistics, record, write)}
    
    ${getAbsoluteFileName(statistics, record, write)}

    RICOH ProcessDirector fornisce il programma esterno con il percorso e il nome del file /aiw/aiw1/spool/default/10000006/10000006.statistics.record su AIX o Linux e C:\aiw\aiw1\spool\default\10000006\10000006.statistics.record su Windows.

  • Per impostare un'operazione di scrittura con un programma esterno che aggiorna il file di stampa PDF nella directory di spool:
    ${getFileName(print, pdf, write)}
    
    ${getAbsoluteFileName(print, pdf, write)}

    RICOH ProcessDirector verifica un file con il nome 10000006.print.pdf, se esistente, nella directory secondaria dei punti di verifica della directory di spool per il lavoro.

    RICOH ProcessDirector fornisce anche il programma esterno con percorso e nome del file /aiw/aiw1/spool/default/10000006/tmp/10000006.print.pdf su AIX o Linux e C:\aiw\aiw1\spool\default\10000006\tmp\10000006.print.pdf su Windows.

    • In caso di errore del programma, la directory di spool per il lavoro resta invariata poiché il programma esterno ha scritto in un file che RICOH ProcessDirector ha spostato nella sottodirectory tmp. RICOH ProcessDirector sposta il file nella directory di spool solo se l'operazione esterna che richiama il programma esterno viene completata correttamente.
    • Se il programma riesce, RICOH ProcessDirector sposta il file dalla sottodirectory tmp alla directory di spool. Se un file con quel nome esiste già nella directory di spool, RICOH ProcessDirector sposta quel file nella sottodirectory del punto di verifica, quindi sposta il file appena creato da tmp nella directory di spool per il lavoro.