レポートおよびジョブの設定

ccppmop1592
HID_admin_configure_report_job_defs
管理者は、他のユーザが実行できるようにどのレポートおよびジョブをアクティブにするかを設定します。レポート定義またはジョブ定義は、以下の項目から構成されます。
  • 概要。
  • レポート データをフィルタし、ジョブのスコープを指定するためのパラメータ。
  • 選択されたレポートまたはジョブと同時に実行できない、競合するレポートおよびジョブ。
  • 同様のレポートおよびジョブのグループを識別するための、関連するカテゴリ。たとえば、会計関連のジョブは会計の処理カテゴリでグループ化できます。
  • レポートまたはジョブを実行するか管理できるリソース、OBS ユニット、またはユーザのグループを定義するためのアクセス権。
管理者は、
[管理]
-
[データ管理]
-
[レポートとジョブ]
を選択して、設定に変更を加えます。利用可能なレポートとジョブを表示するために、ユーザは
[ホーム]
-
[パーソナル]
-
[レポートとジョブ]
を選択します。
2
ビデオ: データの抽出
以下のビデオは、CA Technologies によって提供されます。

このビデオを全画面で再生するには、ビデオ下部の[設定]の右の YouTube ロゴをクリックします。
ジョブ定義の作成
すべての利用可能なレポート定義およびジョブ定義のリストを表示するには、
[ジョブ定義]
ページを使用します。ユーザ定義のレポートおよびジョブのみを編集できます。
以下の手順に従います。
  1. [管理]
    を開いて、
    [データ管理]
    から、
    [レポートとジョブ]
    をクリックします。
  2. [新規]
    をクリックします。
  3. [実行可能タイプ]
    フィールドでは、レポートまたはジョブを実行する方法を指定します。方法はジョブ リスナーに基づきます。以下の実行可能タイプのいずれかを選択します。
    • レポート
      : Jaspersoft サーバに格納された Jaspersoft レポートを実行します。製品がレポートを認識するために、定義ファイルは実行可能ファイルを名前で参照します。実行可能ファイル名は Jaspersoft サーバ上にファイルを格納します。
    • Java
      : クエリを実行します。ビジネス ロジック XBL を実装できないときに使用します。Java は XBL および PMD のスーパーセットと考えられます。たとえば、以下の Java ステートメントは
      カレンダ
      バックグラウンド処理を実行します。
      com.niku.calendar.scheduler. CalendarBackgroundProcess
    • 永続的なメタ データ(PMD)
      : 一定の間隔で一連のクエリを実行します。PMD にはビジネス ロジックが含まれません。
      たとえば、以下の PMD ステートメントが[インシデント後の会計]ジョブを実行します。
      itl.incidentCostCalc
    • SQL ストアド プロシージャ
      : 操作がデータ集約的なとき、ストアド プロシージャとしてビジネス ロジックを実装します。データ集約的な操作については、SQL ストアド プロシージャはビジネス ロジックを実装する際に Java に優先して選択されます。たとえば、以下のストアド プロシージャが[ジョブ ログの削除]ジョブを実行します。
      cmn_job_logs_delete_sp
    • 拡張可能なビジネス言語(XBL)
      : ビジネス ロジックを実装し、クエリを実行します。XBL は PMD のスーパーセットと考えられます。たとえば、以下の XQL および XBL ステートメントは[タイムシートのポスト]ジョブおよび[タイム スライス付け]ジョブをそれぞれ実行します。
      postTimesheets.xql
      blobcrack#blobcrack.xbl
    • 抽出、変換、およびロード(ETL)
      :、ETL 抽出および構造化されたデータの変換を実行し、変換されたデータ テーブルをロードします。たとえば、ロード データ ウェアハウスのジョブは、
      クラシック PPM
      データベースからデータを抽出します。この ETL ジョブでは、非正規化された形式にそのデータを変換し、その後、データ ウェアハウスにロードします。
  4. [実行可能ファイル名]
    フィールドには、レポートまたはジョブの名前を入力します。命名規則は、実行可能タイプによって異なります。次の例を参照してください。
    • レポート
      : JasperReports Server 上のレポート名。たとえば、/ca_ppm/reports/investment_management/CSK_INV_TimeAndEstimate です。
    • Java
      : クラス パスを入力します。たとえば、com.myorg.projmgr.service.staffing.job.InvestmentAllocationJob または com.company.security.CleanUserSessionListener です。
    • PMD
      : ドット構文を使用して、わかりやすい名前を入力します(たとえば、itl.incidentCostCalc)。
    • SQL
      ストアド プロシージャ: アンダースコアを使用して、わかりやすい名前を入力します(たとえば、IMM_ASSIGN_INCIDENT)。
    • XBL
      : たとえば、projmgr#projects/purgeProjects.xbl
    • ETL
      : ETL ジョブのファイル名を入力します。
  5. 変更を保存します。
レポート パラメータまたはジョブ パラメータの定義
レポート パラメータまたはジョブ パラメータにより、レポートまたはジョブを実行するユーザは、データをフィルタしたり、レポートまたはジョブのスコープを指定したりできます。たとえば、パラメータを追加したり、既存のパラメータを必須にしたり、レポート定義またはジョブ定義からパラメータを削除したりします。
クラシック PPM
からのサーバに渡すためのすべてのレポート パラメータまたはジョブ パラメータを定義します。レポートまたはジョブが製品から直接実行される場合でも、別のレポートまたはジョブでのリンクから間接的に実行される場合でも、パラメータを定義します。
以下の手順に従います。
  1. [管理]
    を開いて、
    [データ管理]
    から、
    [レポートとジョブ]
    をクリックします。
  2. レポート定義またはジョブ定義を開きます。
  3. [パラメータ]
    をクリックして、
    [新規]
    をクリックします。
  4. 要求された情報を指定します。以下のフィールドには説明が必要です。
    • バインド パラメータ コード
      パラメータ バインド コードを定義します。たとえば、ジョブ実行可能タイプが SQL ストアド プロシージャで、SQL ストアド プロシージャ パラメータ名が「P_JOB_RUN_ID」であるとします。バインド パラメータ コードは「P_JOB_RUN_ID」です。
    • タイプ
      ユーザがジョブを実行するためにパラメータを選択する際に表示されるパラメータ フィールドのタイプを指定します。
      値:
      • テキスト: ジョブを実行しているユーザにテキスト フィールドを表示します。
      • チェックボックス: ブール値(true または false)を表示します。
      • プルダウン: ユーザがドロップダウンから選択できる値のリストを表示します。ユーザは[参照]アイコンをクリックし、表示されるルックアップから単一値を選択します。
      • 参照: ユーザが参照できる値の長いリストを表示します。ユーザは[参照]アイコンをクリックし、表示されるルックアップから単一値を選択します。
      • 日付: 日付パラメータを表示します。ジョブを実行するユーザは日付を入力するか、またはカレンダから日付を選択できます。
      • 相対日付: ジョブが実行される日に対して相対的な日付をユーザが選択できるフィールドを表示します。相対日付はカレンダ期間のドロップダウン内に存在します。
      • 期間: ジョブが実行される日に対して相対的な期間をユーザが選択できるフィールドを表示します。ドロップダウンはシステム定義された期間を提供します。
      参照パラメータ タイプ、またはプルダウン パラメータ タイプの既定値を設定するには、変更を保存します。
    • 既定値
      パラメータの読み取り専用値を示します。
      必須:
      [読み取り専用]フィールドを選択した場合。
    • 読み取り専用
      フィールドが選択されているときに、パラメータが読み取り専用かどうかを示します。[読み取り専用]を選択する場合は、[既定値]フィールド内でパラメータに対する値を提供します。
  5. 変更を保存します。
レポート定義またはジョブ定義のパラメータの並べ替え
パラメータは、レポート定義またはジョブ定義に追加した順序で表示されます。パラメータの順序は[SQL ストアド プロシージャ]ジョブにとって重要です。定義のパラメータを並べ替えるには、少なくとも 1 つのパラメータが定義されている必要があります。
以下の手順に従います。
  1. [管理]
    を開いて、
    [データ管理]
    から、
    [レポートとジョブ]
    をクリックします。
  2. パラメータを並べ替えるには、レポート定義またはジョブ定義を開きます。
  3. [パラメータ順序]
    を選択します。
  4. パラメータを選択し、矢印を使用してパラメータをリストの上下に移動させます。
  5. 変更を保存します。
競合するレポート定義またはジョブ定義の識別
同じレポートまたはジョブのレポートまたはジョブあるいはインスタンスのなかには、同時に実行できないものがあります。たとえば、ジョブがデータマートの抽出に起因するデータに依存する場合、[データマートの抽出]ジョブでレポートを同時に実行することはできません。
選択されたジョブとして同時に実行できないジョブを識別するには、
[ジョブの非互換性]
ページを使用します。ジョブに互換性が生じたら、リストからジョブを削除します。互換性が生じた場合は、レポートとジョブを削除します。たとえば、リストされた競合するレポートまたはジョブを実行するようにスケジュールするとします。その場合、競合するレポートまたはジョブのスケジュールされた実行時間は、実行中のレポートまたはジョブが完了するまで延期されます。同時に実行できないレポートまたはジョブのリストをまとめるには、以下の手順に従います。
以下の手順に従います。
  1. [管理]
    を開いて、
    [データ管理]
    から、
    [レポートとジョブ]
    をクリックします。
  2. 編集するレポート定義またはジョブ定義を開きます。
  3. [競合するジョブ]
    をクリックし、[追加]をクリックします。
  4. このレポートまたはジョブと共に実行できないレポートまたはジョブの隣のチェック ボックスをオンにして、
    [追加]
    をクリックします。
レポート定義またはジョブ定義のカテゴリとの関連付け
レポートまたはジョブを意味のある形でグループ化するには、製品に含まれたカテゴリのセットを使用します。カテゴリは、レポートまたはジョブをフィルタするのに役立ちます。新たなカテゴリを作成することも削除することもできません。カテゴリからレポートまたはジョブを追加または削除するには、レポート定義またはジョブ定義の
[関連カテゴリ]
ページを使用します。
以下の手順に従います。
  1. [管理]
    を開いて、
    [データ管理]
    から、
    [レポートとジョブ]
    をクリックします。
  2. レポート定義またはジョブ定義を開き、
    [関連カテゴリ]
    をクリックします。
  3. [追加]
    をクリックします。
  4. レポートまたはジョブに関連付けるカテゴリを選択し、
    [追加]
    をクリックします。
レポートとジョブの通知
管理者は、レポートまたはジョブが完了または失敗したことをユーザが把握したい場合に通知を設定するように助言できます。受信者は、アラート、電子メール、または SMS テキスト メッセージによって通知を受信できます。レポート通知とジョブ通知の件名および本文を、ユーザの組織要件を満たすように設定できます。たとえば、ジョブが失敗した理由を電子メールに示すことができます。
ユーザに、以下の手順または「
クラシック PPM
の通知のパーソナライズ
」へのリンクを提供します。
  1. [ホーム]
    -
    [パーソナル]
    -
    [アカウント設定]
    をクリックします。
  2. [通知]
    をクリックします。
  3. 受信する通知および方法の横にあるチェック ボックスをそれぞれオンにします。
  4. 変更を保存します。
レポートまたはジョブのアクティブ化または非アクティブ化
レポートまたはジョブを実行するためにアクティブにします。非アクティブなレポートまたはジョブは[定義]ページに表示されますが、[アクティブ]列のチェック ボックスはオンになっていません。
以下の手順に従います。
  1. [管理]
    を開いて、
    [データ管理]
    から、
    [レポートとジョブ]
    をクリックします。
  2. [ジョブ定義]
    を選択します。
  3. 以下のいずれかのステップを完了します。
    • 非アクティブなレポートまたはジョブを選択し、
      [アクティブ化]
      をクリックします。
    • アクティブなレポートまたはジョブを選択し、
      [非アクティブ化]
      をクリックします。
レポート定義の作成
Clarity
で Jaspersoft Studio レポートを定義し、エンドユーザが[ホーム]-[パーソナル]-[レポートとジョブ]で製品から直接これらのレポートを実行できるようにします。また、[拡張レポート]から Jaspersoft Studio レポートを実行できます。「Jaspersoft での拡張レポート
」および「拡張レポートの実行またはスケジュール設定
」を参照してください。
利用可能なすべてのレポート定義のリストを表示するには、[ジョブ定義]ページを使用します。ユーザ定義のレポートのみを作成および編集できます。
以下の手順に従います。
  1. [管理]
    -
    [データ管理]
    -
    [レポートとジョブ]
    をクリックします。
  2. [新規]
    をクリックし、以下の情報を入力します。
  • ジョブ定義名
    Jaspersoft 内に表示されるレポート名を定義します。たとえば、以下の画面の[名前]フィールドに表示されている「プロジェクト タイプ別 KPI」です。
  • ジョブ定義 ID
    Jaspersoft で指定されているレポートのリソース ID を定義します。[拡張レポート]に移動し、レポートの[編集]オプションを選択します。以下の画面に示すように、[Setup the Report (レポートのセットアップ)]ページにリソース ID が表示されます。
    Resource_ID_JS.PNG
  • コンテンツ ソース
    レポート コンテンツのソースを定義します。ユーザ定義レポートの場合は、
    [顧客]
    を選択します。
  • 説明
    レポートの説明を入力します。たとえば、「KPI by Project Type」レポートは、プロジェクト管理(PMO アクセラレータ)レポートと説明されます。
  • アクティブ
    エンド ユーザがレポートを実行できるかどうかを指定します。レポートを
    Clarity
    [ホーム]
    -
    [パーソナル]
    -
    [レポートとジョブ]
    で表示できるようにするには、そのレポートをアクティブ化します。レポートが Jaspersoft でも表示できることを確認します。
  • 実行可能タイプ
    リスナに基づいてレポートを実行する方法を指定します。Jaspersoft サーバに保存されている Jaspersoft Studio レポートを実行するには、
    [レポート]
    を選択します。製品がレポートを認識するために、定義ファイルは実行可能ファイルを名前で参照します。[実行可能ファイル名]フィールドには、Jaspersoft サーバ上のファイルへのパスが格納されます。
  • 実行可能ファイル名
    Jaspersoft でレポートが格納されているリポジトリ フォルダへのパスを定義します。パスを正確に指定するには、以下の手順に従います。
    1. [拡張レポート]で、リポジトリ フォルダを使用してレポートに移動します。
    2. レポート名を右クリックし、
      [プロパティ]
      を選択してレポートへのフル パスを表示します。
    3. [パス]
      に表示されているのと同じように大文字と小文字を区別して使用します。以下の例では、「プロジェクト タイプ別 KPI」レポートの実行可能ファイル名を示しています。
      executable_name_JS.PNG
3.
[保存して続行]
をクリックします。
[パラメータ]タブが選択されます。レポート パラメータの定義に進みます。
レポート パラメータの定義
レポート パラメータを使用すると、ユーザはデータをフィルタしたり、レポートのスコープを指定したりできます。たとえば、パラメータを追加したり、既存のパラメータを必須にしたり、レポート定義からパラメータを削除したりします。パラメータの追加は、一度にすべてではなく、1 つずつ行うことをお勧めします。問題がある場合は、消去プロセスを使用して段階的に進めていくことができます。Jaspersoft のレポートに存在する入力コントロールごとにパラメータを定義する必要があります。また、入力コントロールと同じ順序でパラメータを定義する必要があります。
OBS タイプなど一部のパラメータは、Jaspersoft の依存ルックアップです。OBS タイプを選択すると、OBS ユニットも表示されます。PPM では、OBS の参照を使用して OBS ユニットでフィルタできます。依存ルックアップのパラメータを作成する必要はありません。
また、「populate」入力コントロールでは、パラメータのマッピングをスキップできます。これらの入力コントロールは、パフォーマンス上の理由からレポート上のチェック ボックスとして Jaspersoft に表示されます。たとえば、「プロジェクト タイプ別 KPI」レポートでは、「populateProject」入力コントロールが表示されます。入力コントロールをオンにすると、このレポートには、プロジェクトが事前入力されます。
例:
以下の図は、
Clarity
マップ内のパラメータ ラベルが[プロジェクト タイプ別 KPI]レポートの Jaspersoft 入力コントロールにマップされる方法を示しています。projectOBSTypekey_1 入力コントロールは依存ルックアップであるため、パラメータ マッピングはありません。また、「populate」入力コントロールはスキップされます。
input_controls_JS.PNG
前提条件
ルックアップであるフィールド タイプにパラメータを関連付けるときは、そのルックアップ属性が PPM に存在することを確認します。
Clarity
でのルックアップは、Jaspersoft 入力コントロールの動作を反映している必要があります。それらは両方とも同じパラメータで使用されているためです。
以下の手順に従います。
  1. [パラメータ]
    -
    [新規]
    をクリックします。
  2. 以下の情報を入力します。
    • パラメータのラベル
      ユーザがレポートを実行するときに表示されるパラメータ ラベルを定義します。ラベルが Jaspersoft の入力コントロールに対応していることを確認します。たとえば、[プロジェクト タイプ別 KPI]レポートの場合、[プロジェクト タイプ]パラメータは Jaspersoft の[プロジェクト タイプ]ラベルに対応します。
    • バインド パラメータ コード
      パラメータを入力コントロールにバインドします。このフィールドでは、
      Clarity
      パラメータが入力コントロールとして Jaspersoft に渡される方法を指定します。パラメータのバインド パラメータ コードは、入力コントロール ID と完全に一致する必要があります。たとえば、[プロジェクト タイプ別 KPI]レポートでは、[プロジェクト タイプ]パラメータのバインド パラメータ コードは projectTypeKey_1 です。
    • タイプ
      ユーザがジョブを実行するためにパラメータを選択するときに表示されるパラメータ フィールドのタイプを指定します。タイプは、Jaspersoft 内のレポートのデータ タイプと一致する必要があります。
      • テキスト
        : テキスト フィールドを表示します。
      • チェックボックス
        : ブール値(true または false)を表示します。
      • プルダウン
        : ユーザがドロップダウンから選択できる値のリストを表示します。このタイプを選択した場合は、以下のオプションも選択します。
        • ルックアップ スタイル
          :Jaspersoft 内の対応する入力コントロールで選択されたスタイルに応じて、[単一選択]または[複数選択]を選択します。
        • プルダウン
          :フィールドに表示するルックアップを参照および選択します。
      • 参照
        : ユーザが参照できる値の長いリストを表示します。ユーザは[参照]アイコンをクリックし、表示されるルックアップから単一値を選択します。このタイプを選択した場合は、以下のオプションも選択します。
        • ルックアップ スタイル
          :Jaspersoft 内の対応する入力コントロールで選択されたスタイルに応じて、[単一選択]または[複数選択]を選択します。
        • 参照
          :フィールドに表示するルックアップを参照および選択します。
      • 日付
        : 日付パラメータを表示します。ユーザは日付を入力するか、カレンダから日付を選択できます。
      • 相対日付
        : レポートが実行される日に対して相対的な日付をユーザが選択できるフィールドを表示します。相対日付はカレンダ期間のドロップダウン内に存在します。
      • 期間
        : ジョブが実行される日に対して相対的な期間をユーザが選択できるフィールドを表示します。ドロップダウンはシステム定義された期間を提供します。
    • 既定値
      パラメータの既定値を指定します。Jaspersoft 内の対応する入力コントロールで既定の設定が使用可能な場合に
      のみ
      、既定値を指定します。
      PPM では、既定値を指定しない場合、レポート パラメータに既定値が表示されません。Jaspersoft では、値のリストの最初の値が常に選択され、既定値のように扱われます。これは、入力コントロールの既定値が定義されていない場合にも当てはまります。
  3. パラメータの値が必須かどうか、読み取り専用かどうかを指定します。
  4. すべてのレポート パラメータを作成して保存したら、
    [保存して戻る]
    をクリックします。
  5. [パラメータ順序]
    をクリックします。レポートにパラメータを表示する順序を指定します。Jaspersoft レポートの入力コントロールと同じ順序に従います。
  6. [保存して続行]
    をクリックします。
レポートの非互換性の定義
レポートが他のレポートやジョブと同時に実行できないかどうかを指定する必要があります。また、同じレポートの複数インスタンスが同時に実行できないかどうかも指定します。
以下の手順に従います。
  1. [競合するジョブ]
    をクリックします。
  2. [実行可能タイプ]
    から
    [レポート]
    を選択します。
  3. 必要に応じて、レポート定義に以下の情報を追加します。
    1. このレポートと同時に実行できないレポートやジョブ。
    2. 同じレポートの別のインスタンス。
  4. 終了したら、
    [戻る]
    をクリックします。
レポート カテゴリの関連付け
フィルタリングに役立つように、レポート定義を既存のカテゴリに関連付けることができます。カテゴリが Jaspersoft のレポートに関連付けられているものと一致することを確認します。たとえば、[プロジェクト タイプ別 KPI]レポートは[プロジェクト管理]カテゴリに関連付けられています。詳細な手順については、「レポート定義またはジョブ定義のカテゴリとの関連付け
」を参照してください。
レポート アクセスの定義
前提条件として、必要な拡張レポート アクセス権を持つレポート ユーザを
Clarity
でセットアップ済みである必要があります。これらのアクセス権は、対応する Jaspersoft ロールにマップされます。「拡張レポートのアクセス権
」を参照してください。レポートにアクセスして実行できるユーザ、グループ、または OBS ユニットを指定し、それらのアクセスのタイプを指定します。
たとえば、「プロジェクト タイプ別 KPI」レポートには、以下の
Clarity
アクセス グループがアクセスできます。
  • PMO 拡張レポート プロジェクト管理
  • PMO 拡張レポートのすべてのレポートおよびドメイン
これらのアクセス グループは、Jaspersoft の CSK_ROLE_PROJECT_MANAGEMENT ロールにマップされます。
以下の手順に従います。
  1. [このレポートへのアクセス]
    をクリックします。
  2. リソース、グループ、または OBS ユニットを追加して、レポートの実行または表示アクセス権と編集アクセス権を付与します。
  3. 終了したら、
    [戻る]
    をクリックします。
ロールの同期方法の詳細については、「ジョブ参照
」および「Jaspersoft ロールの同期ジョブ
」の説明を参照してください。
ジョブの作成
製品には標準ジョブのリストが含まれます。含まれているジョブがユーザの要件を満たさない場合、新規ジョブを作成できます。ジョブを管理するのに必要なアクセス権(ジョブ アクセス権)のリストについては、「
アクセス権の参照
」を参照してください。
クエリ、ステートメント、プロシージャ、および Java クラスを記述するプログラミングの経験をお持ちの場合は、新しいジョブを作成できます。
以下の手順に従います。
  1. 作成するジョブに最も適したメソッドを選択します。
  2. Java および SQL を使用して、新規ジョブ用のクエリ、ステートメント、またはプロシージャを記述します。
  3. 実行可能ファイルを展開します。
  4. ジョブの定義は、メソッドの実行可能タイプおよび名前を参照することにより作成します。
バックグラウンド スケジューラの開始時に、すべての処理中ジョブをクリーンアップすることを可能にするためには、properties.xml 内の jobSchedulerInstance 要素上の isPrimary 属性を true に設定します。この属性を true に設定することは、ジョブの実行中にバックグラウンド サーバがシャット ダウンし再起動する際に役立ちます。
SQL ストアド プロシージャのガイドライン
SQL ストアド プロシージャを使用してジョブを作成する場合、P_JOB_RUN_ID と P_JOB_USER_ID のパラメータを渡します。SQL ストアド プロシージャ用のパラメータ順序は SQL Server と Oracle 上で重要です。SQL Server および Oracle のストアド プロシージャを書き込む場合は、以下の推奨事項に従います。
SQL Server の推奨
ストアド プロシージャは以下のように開始する必要があります:
CREATE PROCEDURE OR REPLACE PROCEDURE <my new job> ( @P_JOB_RUN_ID NUMERIC, @P_JOB_USER_ID NUMERIC, )
Oracle の推奨
ストアド プロシージャは以下のように開始する必要があります:
CREATE OR REPLACE PROCEDURE <my new job> ( P_JOB_RUN_ID IN NUMBER, P_JOB_USER_ID IN NUMBER, ) AS <procedure body>
その他のパラメータは、ジョブ定義のパラメータ ページ内にリストされる順序で渡されます。
Java のガイドライン
実行可能タイプとして Java を選択する場合は、以下の手順に従って Java クラスを作成、展開し、登録します。
以下の手順に従います。
  1. バックグラウンド処理を実行する Java クラスを作成します。
    このクラスは com.niku.union.interfaces.SchedulerListener インターフェースを実装する必要があります。このインターフェースの scheduledEventFired() メソッドのみを実装します。
  2. インターフェース com.niku.union.interfaces.SchedulerListener の scheduledEventFired() メソッドを使用して、Java クラスを実装します
  3. Java クラスをコンパイルします。コンパイラ CLASSPATH が $NIKU_HOME/lib/union.jar を認識していることを確認します。
    JAR ファイル作成の詳細については、Oracle の Web サイトを参照してください。たとえば、以下の JAR コマンドは Java クラス、jar cf myBackgroundJob.jar myBackgroundJob.class から JAR ファイルを作成します。
  4. $NIKU_HOME/customlib ディレクトリ内に実行可能ファイル(たとえば myBackgroundJob.class)を配置することにより、クラスを展開します。
  5. ジョブ定義を作成することにより、このジョブを登録します。実行可能ファイル名については、以下のいずれかを入力します。
    • 有効なクラス名。たとえば myBackgroundJob。
    • このクラスがパッケージの一部になる場合、完全修飾クラス名。たとえば com.myserver.jobs.background.myBackgroundJob。
Java クラス バックグラウンド ジョブ(サンプル コード)
import com.niku.union.interfaces.JobSchedulerContext; import com.niku.union.interfaces.SchedulerListener; /** * Kicks off a background process. * This class is primarily used by the Job Scheduler. * @author Ken Chen */ public class myBackgroundJob implements SchedulerListener { /** * Constructor for the myBackgroundJob object */ public myBackgroundJob() { } /** * Kicks off the background processing. * * @param jobContext_ Contains information required by job. * @exception Exception */ public void scheduledEventFired(JobSchedulerContext jobContext_) throws Exception { /** * The JobSchedulerContext parameter contains the Job definition ( * jobContext_.getJob() ) and the Job definition contains the value of the * OutputPath parameter. * * String outputPath = jobContext_.getJob().getRunOutputPath(); * File f = new File(outputPath, "myoutput.txt"); */ if(jobContext_ == null) { throw new Exception("Invalid JobContext"); } try { doSomeWork(); } catch (Exception e) { throw new Exception("Cannot doSomeWork()::" + e); } } private void doSomeWork(JobSchedulerContext jobContext_) throws Exception { } // Write your background processing logic here. // One important and useful thing you can get out of // jobContext_ is the SecurityIdentifier. // SecurityIdentifier gives you handle to current user // information under which job is executed. // The user who often schedules the job. // is "scheduler". String userName = jobContext_.getSecurityIdentifier().getUsername(); // // userName = "scheduler" // String sessionId = jobContext_.getSecurityIdentifier().getSessionId(); // // sessionId is the unique identifier for the job. // Every time job is invoked, sessionId is different. // ...job does its work. }
クラシック PPM
リリース 13.2 より前に作成された投資を更新して資本支出および業務支出を表示する
リリース 13.2 より前に作成された投資がある場合は、その投資を更新して資本支出および業務支出の両方を表示できます。投資を更新するには、以下の順序でジョブを実行します。
  • 資本の有効化
  • 基準計画の請求コードのコピーとコスト タイプの追加
大量のデータを含む投資を処理する場合は、ジョブを実行する投資の数を制限します。すべての投資が正常に処理され、資本支出と業務支出が表示されたら、ジョブを非アクティブ化することをお勧めします。ジョブの実行の統計は、ジョブの BG ログ ファイルに印刷されます。ログ ファイルを開いて、読み取ることができます。ログ ファイルには、処理、スキップ、または失敗した投資の数などの情報が含まれています。
ジョブの詳細については、「ジョブ リファレンス
」を参照してください。