IBM FileNet P8, バージョン 5.2.1            

DbExecute システム関数

DbExecute システム関数を使用すると、指定したデータベースに対してストアード・プロシージャーを実行できます。

変更の始まりワークフロー・システムの DbExecute システム関数を定義します。詳しくは、DbExecute 接続の設定を参照してください。新規 DbExecute接続を作成するには、あらかじめアプリケーション・サーバー上の DBExecute データベースのデータベース・タイプ用に XA および非 XA JDBC プロバイダーを構成して、適切な JDBC ドライバーが構成されるようにしておく必要があります。変更の終わり

DbExecute システム関数を指定するには、以下の手順を実行します。

  1. General System Palette からワークフロー・マップ上に、DbExecute ステップをドラッグします。
  2. データベース名を入力してください。
  3. 実行するストアード・プロシージャーの名前を入力します。
    制約事項: ストアード・プロシージャーの作成で使用した名前により、ストアード・プロシージャーの呼び出し方法が決まります。Process Designer では DBExecute システム関数に、引用符で囲んだストアード・プロシージャー名を使用できないため、ストアード・プロシージャー名を引用符で囲まないでください。
  4. System ステップから呼び出される任意のデータベース・ストアード・プロシージャーのパラメーターは、すべて次のように宣言される必要があります。
    • out - SQL Server
    • in out - Oracle
    • inout - DB2®

    すなわち、ストアード・プロシージャーでパラメーター値を更新できます。ストアード・プロシージャーは、すべてのパラメーターの値 (一部は更新された値) を呼び出し側に返します。更新された値は、ストアード・プロシージャーにパラメーターとして渡された、データ・フィールドに格納された値に反映されます。

    ワークフロー・プロパティーでデータ・フィールドを定義し、各種ステップのパラメーターとして適切なデータ・フィールドを指定します。

    データ型はストアード・プロシージャーの指定と一致する必要があるため、使用可能なデータ型は以下のいずれかです。

    Designer のパラメーター・タイプ Oracle のパラメーター・タイプ SQL サーバーのパラメーター・タイプ DB2 のパラメーター・タイプ
    ストリング varchar varchar varchar
    整数 number int int
    ブール型 number bit number
    浮動小数点型 number float float
    時刻型 date datetime timestamp

ストアード・プロシージャーのパラメーターに、配列は使用できません。例えば、15 個の文字列型パラメーターを別々に渡すことはできますが、15 個のストリングの配列にして 1 つのパラメーターとして渡すことはできません。索引を指定して、配列の中の 1 つの要素を使用することはできます。例えば、配列の最初の要素を指定する構文は、fieldname[1] です。

ストアード・プロシージャーから NULL として返されるパラメーターの処理

  Oracle SQLServer DB2
プロシージャー内のパラメーターの最大数 1024 1024 1024
文字列型パラメーターの最大文字数 4000 4000 4000

データベースのストアード・プロシージャーは例外をスローする可能性があるため、ストアード・プロシージャー内、またはワークフローの例外マップ内での例外処理を検討してください。

FileNet® P8 バージョン 3.5.2 以前からアップグレードした場合で、なおかつ Microsoft SQL Server を使用している場合は、削除または更新ステートメントで以前にはなかった例外が発生する可能性があります。WHERE 節を含む DELETE 文または UPDATE 文でレコードが何も選択されない場合、データベースは例外を返します。例えば、Name=Don であるすべてのレコードを削除する際、条件 Name=Don を満たすレコードが 1 件もない場合、ストアード・プロシージャーはデータベースからエラーを受け取ります。これらの例外をストアード・プロシージャーでキャッチしないと、ワーク・オブジェクトが例外を受け取り、例外マップまたは Malfunction queue キューに入ります。

ワークフローの実行中に、DbExecute システム関数で障害が発生した場合、そのエラーに関する情報はシステム・メッセージのログに記録されます。

ストアード・プロシージャーが制限時間内にメッセージを返さないと、タイムアウトが発生し、ワーク・オブジェクトは例外を受け取り、Conductor キューに入ります。デフォルトのタイムアウト値は 3600 秒 (1 時間) です。



最終更新日: 2015 年 10 月
bpfdh101.htm

© Copyright IBM Corp. 2015.