A step that is based on this step template submits the RICOH ProcessDirector job to an external program for processing. Because processing is external to RICOH ProcessDirector, steps created from this step template are called external steps.

Job property defaults

  • External program language: Not set
  • External program code page: Not set
  • External command:
  • External control file template:
  • Valid return codes: 0

Usage notes

  • The RunExternalProgram step of the PDF workflow includes an example external command and external control file template.
  • If you add a step based on this step template to a workflow that includes a step based on the SetJobPropsFromTextFile step template and the RunExternalProgram step uses a method in RICOH ProcessDirector to obtain the name of a spool file for the job, use the getAbsoluteFileName method instead of the getFileName method. The SetJobPropsFromTextFile step tries to resolve the file name that the getFileName method represents immediately after the input device creates the job; not all spool files are available at that point in processing. It does not try to resolve the file that the getAbsoluteFileName method represents at that time.

    This usage note does not apply to the getControlFileName method.

  • The External program language property sets the value of the LANG environment variable that the external program can use. The external program must be set up to use this value for it to take effect.
  • This step writes the first 50 lines of standard output (stdout) from your external program to the job log.
  • If stdout is a large data file, use a batch file that calls the external program as the value of the External command property. Write the batch file so that it redirects stdout from the command to a file.
  • To set job properties in this step, append property=value to the output file name in the External command value.

    For example, this command sorts a PDF file and sets Job name to myjob and Job copies requested to 5:

    • sort ${getFileName(print,pdf,read)} /o ${getFileName(print,output,write)},Job.Name=myjob,Job.Copies=5