Comandi esterni

Se si sceglie di utilizzare il modello di operazione RunExternalProgram, pensare al comando che si desidera utilizzare prima di avviare la creazione del modello procedura. Ecco alcuni comandi di esempio che utilizzano l'annotazione di simbolo RICOH ProcessDirector.

Copiare un file di stampa recente in una destinazione

In questo esempio, il comando cp di Linux copia solo il file JobNumber.print.pdf dalla directory di spool per il lavoro quando il file sorgente e più recente del file di destinazione:
cp -u ${getAbsoluteFileName(print, pdf, read)} /tmp/jobarchives

${getAbsoluteFileName(print, pdf, read)} è la formula simbolo di RICOH ProcessDirector che restituisce il nome del file di stampa PDF nella directory di spool. Se,durante l'esecuzione del programma esterno, il file di stampa PDF non esiste nella directory di spool, si verifica un errore.

Aggiornare un file di stampa e scriverlo nella directory di spool

In questo esempio, il programma esterno myprogram legge il file JobNumber.print.afp dalla directory di spool e scrive una versione aggiornata del file sulla directory di spool utilizzando il reindirizzamento:
myprogram -i ${getFileName(print, pdf, read)} > ${getFileName(print, pdf, write)}

${getFileName(print, pdf, read)} è la formula simbolo di RICOH ProcessDirector che restituisce il nome del file di stampa PDF nella directory di spool. Se il file di stampa PDF non esiste nella directory di spool quando viene eseguito il programma esterno, RICOH ProcessDirector restituisce il nome del file di input per il lavoro, che è JobNumber.print.unknown. Se quel file non esiste nella directory di spool, si verifica un errore.

Leggere il file di sovrascrittura per un lavoro di stampa e scrivere un file di statistiche per la directory di spool

In questo esempio, il programma esterno auditstatistics legge il file JobNumber.overrides.text dalla directory di gruppo e scrive un nuovo file di statistica, JobNumber.statistics.text sulla directory di gruppo:
auditstatistics inputfile=${getFileName(overrides, text, read)} 
outputfile=${getFileName(statistics, text, write)}

Utilizzare un file separato per trasferire i valori della proprietà a un programma esterno con il file di stampa

In questo esempio, il comando cp di Linux produce un file CSV per il quale esiste un file di controllo RICOH ProcessDirector corrispondente. All'interno del file di controllo, è presente un elenco di simboli per nove proprietà di lavoro RICOH ProcessDirector.
cp ${getControlFileName()} /aiw/aiw1/samples/${Job.ID}.info.csv

${getControlFileName()} è la formula simbolo di RICOH ProcessDirector che restituisce il nome del file di controllo risolto. RICOH ProcessDirector genera il file di controllo dal modello del file di controllo specificato dall'utente.

Il file di controllo può utilizzare il metodo getChildFileName per restituire il nome di un file secondario in modo che il programma esterno possa scrivere un file nella sottodirectory secondaria nella directory spool. Il programma esterno deve scrivere i nomi file dei file di lavoro secondario in questo formato:

JobNumber.UsageType.DataType.n,Job.JobType=JobTypeName
JobTypeName corrisponde al nome del flusso di lavoro richiesto dal lavoro secondario. Il flusso di lavoro deve esistere e deve essere abilitato.

Quando si aggiunge un'operazione in base al modello procedura RunExternalProgram a un flusso di lavoro utilizzando il notebook delle proprietà Tipi di lavoro, le proprietà che mostrano [Ricevi] nei valori predefiniti del lavoro cambiano per riflettere la fase effettiva alla quale aggiungere l'operazione.

Richiamare un comando utilizzando un nome del percorso completo

Questo esempio utilizza un nome del percorso completo per richiamare il programma esterno fornito dall'utente mytransform per la trasformazione di un file in formato PDF. mytransform legge i nomi dei file di input e di output da un file di controllo:
/opt/myprograms/bin/mytransform -c ${getControlFileName()}

Archiviazione di un file di stampa in un sistema Windows

In questo esempio, l'operazione esterna utilizza il comando copy di Windows per scrivere una copia del file JobNumber.print.pdf dalla directory di spool in una directory di archivio sul sistema Windows:
copy ${getAbsoluteFileName(print,pdf,read)} d:\archive\pdf
    Nota:
  • Sulla directory di sistema Windows deve essere installato RICOH ProcessDirector e il server applicazioni Windows deve essere connesso al server primario.
  • Specificare la directory Windows utilizzando il formato Windows nativo per il nome directory.
  • Utilizzare i comandi nativi di Windows invece dei comandi Windows Services for UNIX (SFU) quando appropriato; ad esempio, utilizzare il comando copy invece del comando cp. Non tutti i comandi SFU sono disponibili sui sistemi Windows.
  • In base al comando, una directory sul sistema Windows potrebbe non aver bisogno di esistere. Il comando può creare la directory sul sistema Windows.
  • Assicurarsi di ottimizzare il modello di operazione solo per eseguire su un server applicazioni Windows. A causa dei formati diversi per i nomi della directory su Linux e AIX, un'operazione basata sul modello di operazione non riesce se RICOH ProcessDirector prova ad eseguire l'operazione su un sistema diverso da Windows.