DKWorkPackageICM クラスは、ルーティング・タスクのワーク・パッケージを表します。 ルーティングする文書の永続的 ID およびルーティング状態に関する情報 (プロセス名、 ワーク・ノード名、および完了時刻など) を含みます。
ワーク・パッケージには、プロセスと移動中の項目に関する必要な情報がすべて含まれています。 文書ルーティング・プロセスのインスタンスが進行中の場合、 ワーク・パッケージは、項目 (項目タイプのインスタンス) が ルーティング・プロセスを通じて移動する手段となります。 プロセスが開始されると、1 つ以上のワーク・パッケージが API 呼び出しの結果として作成されます。
プロセスが開始すると、ライブラリー・サーバーによってワーク・パッケージが 作成されます。それぞれのワーク・パッケージには、ルーティングされる文書またはフォルダーの永続 ID (PID) が収められます。ただし、ライブラリー・サーバーでは、その PID の所属先が文書/フォルダー項目と非文書/フォルダー項目のいずれであるかは検査しません。 したがって、アプリケーションでは、プロセスを文書やフォルダーでのみ開始させ、非文書や非フォルダーでは開始させない ようにする必要があります。
ワーク・パッケージは 必要に応じてアプリケーションが使用し操作するオブジェクトです。
retrieveWorkPackage メソッドは、指定されたワーク・パッケージ PID (wpPidStringStr) によって参照される DKWorkPackageICM オブジェクトを戻します。
//Use an established document routing service
//Specifying false in this method call makes sure that the work package
// is not checked out
DKWorkPackageICM workPackage =
routingService.retrieveWorkPackage(workPackagePidStr,false);
System.out.println("----------------------------------------");
System.out.println(" Work Package");
System.out.println("----------------------------------------");
System.out.println(" Process Name: " + workPackage.getProcessName());
System.out.println(" work Node Name: " + workPackage.getWorkNodeName());
System.out.println(" Owner: " + workPackage.getOwner());
System.out.println(" Priority: " + workPackage.getPriority());
System.out.println(" User Last Moved: " + workPackage.getUserLastMoved());
System.out.println(" Time Last Moved: " + workPackage.getTimeLastMoved());
System.out.println(" Suspend State: " + workPackage.getSuspendState());
System.out.println(" Notify State: " + workPackage.getNotifyState());
System.out.println(" Notify Time: " + workPackage.getNotifyTime());
System.out.println(" Resume Time: " + workPackage.getResumeTime());
System.out.println("Work Package Pid: " + workPackage.getPidString());
System.out.println(" Item Pid: " + workPackage.getItemPidString());
cout << "---------------------------------------------" << endl;
cout << " Work Package" << endl;
cout << "---------------------------------------------" << endl;
cout << " Process Name: " << workPackage->getProcessName() << endl;
cout << " work Node Name: " << workPackage->getWorkNodeName() << endl;
cout << " Owner: " << workPackage->getOwner() << endl;
cout << " Priority: " << workPackage->getPriority() << endl;
cout << " User Last Moved: " << workPackage->getUserLastMoved() << endl;
cout << " Time Last Moved: " << workPackage->getTimeLastMoved() << endl;
cout << " Suspend State: " << workPackage->getSuspendState() << endl;
cout << " Notify State: " << workPackage->getNotifyState() << endl;
cout << " Notify Time: " << workPackage->getNotifyTime() << endl;
cout << " Resume Time: " << workPackage->getResumeTime() << endl;
cout << "Work Package Pid: " << workPackage->getPidString() << endl;
cout << " Item Pid: " << workPackage->getItemPidString() << endl;
完全な例については、SDocRoutingProcessingICM サンプルを参照してください。
