Comandos externos

Se decidir utilizar o modelo de etapa RunExternalProgram, identifique o comando que deseja utilizar antes de iniciar a criação de seu modelo de etapa. Aqui, há alguns comandos exemplares que utilizam a anotação de símbolo RICOH ProcessDirector.

Copiar um arquivo impresso mais recente em um destino

Neste exemplo, o comando cp do Linux só copia o arquivo JobNumber.print.pdf do diretório de spool para a tarefa quando o arquivo de origem for mais novo que o arquivo de destino:
cp -u ${getAbsoluteFileName(print, pdf, read)} /tmp/jobarchives

${getAbsoluteFileName(print, pdf, read)} é a fórmula do símbolo RICOH ProcessDirector que retorna o nome do arquivo impresso PDF no diretório spool. Se o arquivo impresso PDF não existir no diretório spool quando o programa for executado, ocorrerá um erro.

Atualize um arquivo impresso e grave no diretório spool

Neste exemplo, o programa externo myprogram lê o arquivo JobNumber.print.pdf do diretório spool e grava uma versão atualizada do arquivo no diretório spool utilizando redirecionamento:
myprogram -i ${getFileName(print, pdf, read)} > 
${getFileName(print, pdf, write)}

${getFileName(print, pdf, read)} é a fórmula do símbolo RICOH ProcessDirector que retorna o nome do arquivo impresso PDF no diretório spool. Se o arquivo impresso PDF não existir no diretório spool quando o programa externo for executado, o RICOH ProcessDirector retornará o nome do arquivo de entrada para a tarefa, que é JobNumber.print.unknown. Se esse arquivo não existir no diretório spool, ocorrerá um erro.

Faça a leitura do arquivo para uma tarefa de impressão e grave um arquivo de estatística no diretório spool

Neste exemplo, o programa externo auditstatistics lê o arquivo JobNumber.overrides.text a partir do diretório spool e grava um novo arquivo de estatísticas JobNumber.statistics.text no diretório spool:
auditstatistics inputfile=${getFileName(overrides, text, read)} 
outputfile=${getFileName(statistics, text, write)}

Utilize um arquivo separado para passar os valores de propriedade para um programa externo com o arquivo impresso

Nesse exemplo, o comando Linux cp produz um arquivo CSV para o qual existe um arquivo de controle do RICOH ProcessDirector correspondente. O arquivo de controle lista os símbolos de nove propriedades de tarefa do RICOH ProcessDirector:
cp ${getControlFileName()} /aiw/aiw1/samples/${Job.ID}.info.csv

${getControlFileName()} é a fórmula de símbolo RICOH ProcessDirector que retorna o nome do arquivo de controle determinado. O RICOH ProcessDirector gera o arquivo de controle a partir do modelo de arquivo de controle especificado.

O arquivo de controle pode utilizar o método getChildFileName para retornar o nome de um arquivo filho para que o programa externo possa gravar um arquivo no subdiretório children no diretório spool. O programa externo deve gravar os nomes de arquivo dos arquivos de tarefa filha neste formato:

JobNumber.UsageType.DataType.n,Job.JobType=JobTypeName
JobTypeName ié o nome do fluxo de trabalho que a tarefa filho exige. O fluxo de trabalho deve existir e deve estar ativado.

Quando você adiciona uma etapa com base no modelo de etapa RunExternalProgram a um fluxo de trabalho utilizando o bloco de notas de propriedade Job Types, as propriedades que mostram [Receive] nos padrões da tarefa são alteradas para refletir a fase real à qual você adiciona a etapa.

Chame um comando utilizando um nome de caminho inteiro

Esse exemplo utiliza um nome de caminho inteiro para chamar um programa externo fornecido pelo usuário mytransform para transformar um arquivo em formato PDF. mytransform lê os nomes dos arquivos de entrada e saída a partir de um arquivo de controle:
/opt/myprograms/bin/mytransform -c ${getControlFileName()}

Arquivar um arquivo de impressão em um sistema Windows

Neste exemplo, a etapa externa utiliza o comando copy do Windows para gravar uma cópia do arquivo JobNumber.print.pdf do diretório spool em um diretório de arquivos no sistema Windows:
copy ${getAbsoluteFileName(print,pdf,read)} d:\archive\pdf
    Obs.:
  • O diretório do sistema Windows deve ter o RICOH ProcessDirector instalado e o servidor de aplicativo Windows deve estar conectado ao servidor primário.
  • Especifique o diretório do Windows utilizando o formato nativo do Windows para o nome do diretório.
  • Utilize comandos nativos do Windows em vez de comandos Windows Services para UNIX (SFU) onde for apropriado; por exemplo, utilize o comando copy no lugar do comando cp. Nem todos os comandos SFU estão disponíveis em sistemas Windows.
  • Dependendo do comando, um diretório no sistema Windows não precisa existir. O comando pode criar o diretório no sistema Windows.
  • Certifique-se de ajustar o modelo de etapa para execução apenas em um servidor aplicativo do Windows. Devido aos diferentes formatos para nomes de diretórios no Linux, uma etapa baseada nesse modelo de etapa falhará se o RICOH ProcessDirector tentar executar a etapa em um sistema não Windows.