コマンド行または制御ファイルを使用する外部ステップ用にステップテンプレートをセットアップする
このプロセスは、RICOH ProcessDirectorと外部プログラムの間で、コマンド行または制御ファイルを使用してパラメーターをやり取りする外部ステップのステップテンプレートをセットアップする場合に使用します。
- ワークフロータブをクリックします。
- 左のペインで、ステップテンプレートをクリックします。
- RunExternalProgramステップテンプレートを右クリックして、 コピーを選択します。
- 新しいステップテンプレートの名前と説明を指定します。
- 外部をクリックします。
- 外部コマンドプロパティーを更新します。これは、外部プログラムを実行するためにRICOH ProcessDirectorが発行する、実際のコマンドとコマンド行パラメーターです。コマンド文字列にはRICOH ProcessDirectorシンボル表記を使用できます。
- 次の例では、Linux
cp
コマンドが、ソースファイルが宛先ファイルよりも新しい場合にのみ、ジョブのスプールディレクトリーからJobNumber.print.pdf
ファイルをコピーします。cp -u ${getAbsoluteFileName(print, pdf, read)} /tmp/jobarchives- 注意:
- ${getAbsoluteFileName(print, pdf, read)}は、スプールディレクトリーにあるPDF印刷ファイルの名前を返すRICOH ProcessDirectorシンボル式です。PDF印刷ファイルがスプールディレクトリーにない場合は、外部プログラムの実行時にエラーが発生します。
- 次の例では、外部プログラムmyprogramがスプールディレクトリーから
JobNumber.print.pdf
ファイルを読み取り、リダイレクトを使用してファイルの更新バージョンをスプールディレクトリーに書き込みます。myprogram -i ${getFileName(print, pdf, read)} > ${getFileName(print, pdf, write)}- 注意:
- ${getFileName(print, pdf, read)}は、スプールディレクトリーにあるPDF印刷ファイルの名前を返すRICOH ProcessDirectorシンボル式です。外部プログラムの実行時にスプールディレクトリーにPDF印刷ファイルがない場合、RICOH ProcessDirectorはジョブの入力ファイル名
JobNumber.print.unknown
を返します。そのファイルがスプールディレクトリー内にない場合、エラーが発生します。
- ${getFileName(print, pdf, read)}は、スプールディレクトリーにあるPDF印刷ファイルの名前を返すRICOH ProcessDirectorシンボル式です。外部プログラムの実行時にスプールディレクトリーにPDF印刷ファイルがない場合、RICOH ProcessDirectorはジョブの入力ファイル名
- 次の例では、外部プログラムauditstatisticsがスプールディレクトリーから
JobNumber.overrides.text
ファイルを読み取り、新しい統計ファイルJobNumber.statistics.text
をスプールディレクトリーに書き込みます。auditstatistics inputfile=${getFileName(overrides, text, read)} outputfile=${getFileName(statistics, text, write)} - 次の例では、AFPサポート機能がインストールされている場合、外部プログラムline2afpが、対応するRICOH ProcessDirector制御ファイルが存在する別のパラメーターファイルを使用します。この制御ファイルは、外部ファイルにその出力をスプールディレクトリーに書き込むように指示するRICOH ProcessDirectorメソッドを指定します。
line2afp parmdd=${getControlFileName()}
- 注意:
- ${getControlFileName()}は、RICOH ProcessDirector解決された制御ファイルの名前を返すシンボル式です。RICOH ProcessDirectorは、指定した制御ファイルテンプレートから制御ファイルを生成します。
- 制御ファイルはgetChildFileNameメソッドを使用して子ファイルの名前を返すことにより、外部プログラムがファイルをスプールディレクトリーのchildrenサブディレクトリーに書き込むことができるようにします。外部プログラムは子ジョブファイルのファイル名を、次の形式で書き込む必要があります。
WorkflowNameは、子ジョブが必要とするワークフローの名前です。ワークフローは、存在していて使用可能になっている必要があります。
JobNumber.UsageType.DataType.n,Job.JobType=WorkflowName
- RunExternalProgramステップテンプレートに基づくステップをワークフローに追加すると、ジョブのデフォルト設定で[受信]と表示されているプロパティーが、ステップの追加先である実際のフェーズを反映するように変わります。
- 次の例では、外部プログラムがWindows
copy
コマンドを使用して、スプールディレクトリーからのJobNumber.print.pdf
ファイルのコピーをWindowsシステム上のアーカイブディレクトリーに書き込みます。copy ${getAbsoluteFileName(print,pdf,read)} d:\archive\pdf- 注意:
- Windowsシステムには、基本製品またはアプリケーションサーバーがインストールされている必要があります。アプリケーションサーバーは、1次サーバーに接続されている必要があります。
- Windowsディレクトリーは、ディレクトリー名のネイティブWindows形式を使用して指定します。
- 必要に応じて、SFUコマンドの代わりにネイティブWindowsコマンドを使用します。例えば、
cp
コマンドの代わりにcopy
コマンドを使用してください。すべてのSFUコマンドがWindowsシステムで使用できるわけではありません。 - コマンドによっては、Windowsシステム上のディレクトリーがなくてもよい場合があります。このコマンドにより、Windowsシステム上にディレクトリーが作成されます。
- ステップテンプレートがWindowsアプリケーションサーバー上でのみ実行されるように調整されていることを確認します。Linuxではディレクトリー名の形式が異なるため、このステップテンプレートに基づくステップをRICOH ProcessDirectorがWindows以外のシステムで実行しようとすると失敗します。
- 次の例では、Linux
- 外部プログラムで使用するための制御ファイルテンプレートを作成した場合は、外部制御ファイルテンプレートプロパティーを更新します。制御ファイルテンプレートのディレクトリー位置と名前の値を設定してください。外部プログラムがそのパラメーターをコマンド行引数でのみ受け取る場合は、このプロパティーの値をすべて削除してください。
- 有効な戻りコードプロパティーを更新します。有効な戻りコードは、ユーザー処置を必要としない外部プログラムからの戻りコードを意味します。複数の戻りコード番号はコンマで区切ってください。外部プログラムからの戻りコードが、このプロパティーの値に含まれていない場合、RICOH ProcessDirectorはジョブをエラー状態にします。また、メッセージをジョブのログに書き込み、外部プログラムが報告した問題について警告します。
たとえば、[有効な戻りコード]プロパティーの値が0,4の場合、外部プログラムが戻りコード16で終了すると、RICOH ProcessDirectorから次のようなメッセージが表示されます。
AIWI6073E External step cp /aiw/aiw1/spool/default/10000016/10000016.print.unknown /archive/directory が戻りコード 16 で終了しましたが、このコードはエラーとして定義されています。
- インストール済み環境に特定の言語要件がある場合は、外部プログラムに対して、サポートしている言語でメッセージを返すように指示することもできます。外部プログラム言語プロパティーのリストには、RICOH ProcessDirectorがサポートしている言語がリストされます。
- OKをクリックします。
- 調整タブで設定を更新し、外部プログラムがインストールされているコンピューターでステップを実行します。
- 新しいステップテンプレートを右クリックして、使用可能を選択します。