ナビゲーションに戻る

チャートフィールド設定プログラムおよびプロセスのレビュー

このトピックでは、次について説明します。

標準設定と詳細設定ではいずれも、PeopleSoft の自動設定プログラムと手動設定プログラムを使用します。次の 2 つのモードを使用できます。

全ての設定の実行では、PeopleSoft アプリケーション エンジン プログラム FS_CFCONFIG を使用して、手動設定プログラムと自動設定プログラムを呼び出します。設定レポートのスケジュールも行います。このドライバによって、両方のプログラムを 1 つのプロセスとして実行できるようになります。

各ステップの後にはコミットが実行されます。プログラムが異常終了した場合は、問題の原因を調査して修正してから、プログラムを再開する必要があります。これにより、プログラムをコミットされた最後のステップから再開できます。

プログラムを再開する理由は 2 つあります。

多くのデータベース レコードを更新することが必要となる一部の設定アクション (新規チャートフィールドの追加など) には時間がかかります。再開によって全体の処理時間を短くできます。

設定レポートの内容は手動設定によって決まり、未処理のアクションに基づいています。異常終了したプログラムをキャンセルして新しいプログラム インスタンスを開始した場合、レポートにはプログラムが開始された時点の未処理アクションのみが表示されます。異常終了する前に正常に処理された全てのアクションはリストされなくなります。

プログラムは次のように構成されます。

  • 初期化: このステップでは、全ての設定の実行またはプロジェクト設定のいずれの処理であるかを決定します。プロジェクト設定の場合は、プロジェクトのリストがグローバル配列に保持され、手動設定プログラムと自動設定プログラムの両方に渡されます。さらに、モデルと一部設定可のチャートフィールドを決定します。これらは、後続の処理で作成対象レコードの決定に使用する文字列にロードされます (ビューおよび索引作成、テーブルの変更など)。

  • 手動設定プログラムを呼び出します。

  • 自動設定プログラムを呼び出します。

  • 設定 BI Publisher レポートをスケジュールします (CFX001)。

手動設定では、アプリケーション エンジン プログラム (FS_CFMANUAL) を使用して、設定プロセスを完了するために必要な全ての手動ステップをリストしたレポートを、標準設定と詳細設定の両方について作成します。手動設定プログラムは常に、自動設定プログラムの前に実行されます。

このプログラムによって、インストール済の全ての製品または新規にインストールした製品に対して設定を実行できるようになります。または、ソフトウェアの修正として適用されるオブジェクトを含む特定のプロジェクトに対してプログラムを実行することができます。

最初に必要な手動ステップをプレビューするのみの場合は、標準設定ページまたは詳細設定ページで [コンフィグ設定ステップのプレビュー] プロセスを選択してプログラムを開始します。チャートフィールド自動設定プログラムを呼び出してデータベース更新に進む場合は、[全てのコンフィグ設定の実行] プロセスを選択することもできます。

チャートフィールドの状態が既にアクションで指定する状態になっているため、不要となるアクションがある場合は、プログラムがこれを削除します。これにより処理時間が短くなり、設定レポートにリストされる手動タスクの数が少なくなります。次に、未完了のアクションとインストール済製品の組合せごとに製品ログが作成されます。

次に、プログラムは各手動設定タスクと製品ログを確認し、選択されたアクションがそのタスクに適用されるかどうかをチェックして決定します。適用される場合、影響を受ける全てのオブジェクトが含まれ、処理する必要があるタスクがリストされます。製品固有のオブジェクトは製品別にグループ化され、複数の製品に共通のオブジェクトの後にリストされます。プログラムは、CF_xxx (xxx は製品コード) プロジェクト、および FS_CF_ADD、FS_CF_DELETE、FS_CF_REORDER の各プロジェクトで例外オブジェクトのリストを参照し、オブジェクトを使用する製品を決定します。これらのプロジェクトには、現在変更の記録が動的または機密でないオブジェクトが含まれています。また、チャートフィールド関連プログラム ページで、チャートフィールド関連プログラムに含まれる PS/nVision レポート、COBOL プログラムおよび SQR プログラムが現在空であることを確認します。さらに、マス チェンジ プログラム ページも確認します。

プログラムはまた、チャートフィールド定義ページで、チャートフィールド検証レコードや定義ページ、単一チャートフィールドのレポートおよびクエリ-などの、製品固有でないタスクを確認します。

プログラムは完了時に、チャートフィールド アクションおよび製品ログのステータスを N から P に変更します。

自動設定は、アプリケーション メタデータ更新を自動的に実行するアプリケーション エンジン プログラム (FS_CFUPDATE) です。これらは、チャートフィールド設定ページに対して行った追加または変更に対応するために必要となる、レコードおよびページに必要な直接更新と関連更新です。

アプリケーション エンジン プロセスの中で、システムは組み込みの PeopleCode 関数を使用してメタデータを更新します。また、フィールド ラベル変更やテーブルの名称変更、グリッド フィールド表示のサイズ変更、実際のフィールド サイズの変更、レコードおよびページへのフィールドの挿入または削除などの、ユーザーが指定した設定を実行します。これによって、変更された PeopleTools オブジェクトのキャッシュが正しく適用されていることが確認されます。

全ての設定の実行は、ステータスが P のチャートフィールド アクションのみを処理します。このステータス値は、プログラムに対して、前提となる手動設定プログラムが実行されたことを示します。プロセスの完了時に、このステータスは完了 (詳細アクションの場合は U、標準アクションの場合は C) として設定されます。

プロジェクト設定では、完了したチャートフィールド アクション (例: ステータス値が U および C) のみが処理され、終了時のステータスはそのまま変更されません。

PeopleSoft 資産管理を使用しているインスト-ル環境では、このプログラムによって AMCFBULD SQR プロセスのスケジュールも行われます。SQR によって資産管理に必要な AMCHARTS.SQC が作成されます。

SQC にはテンプレートで指定されたチャートフィールド定義が含まれており、資産管理の SQR 処理で使用されます。

プログラムはチャートフィールド設定アクションで構成されます。選択したアクションに対して、各チャートフィールドの再開可能な実行/選択が使用されます。これによって、プログラムが失敗した場合にプログラムの実行/選択ループの途中から再開できるようになります。

各ステップの後にデータベース コミットが実行されます。アプリケーション エンジン プログラムに指定されたコミット スキームとは別に、アプリケーション メタデータの更新に使用される PeopleCode 関数によって、完了時に変更がコミットされます。

プログラムの失敗後に再開する場合、同じ PeopleCode 関数を再度呼び出して、以前完了した更新を実行することができます。プログラムで使用する PeopleCode 関数は、このようなケースを追加の例外をスローすることなしに処理できるよう開発されているので、これによって問題が起こることはありません。

ただし、プログラムが失敗した場合に、PeopleCode のコミット ポリシーによって一部のメタデータが変更されることがあります。そのため、メタデータに影響を与えるアプリケーション デザイナおよびその他の PeopleTools に一般的なアクセス権限を与える前に、チャートフィールド設定プロセスが続行して完了する必要があります

プログラムは次のように構成されます。

  • 初期化: プログラムで使用するいくつかのグローバル値の設定に加えて、データベース オブジェクト (テーブル、ビュー、索引) の作成を可能にする、[一括操作] プロジェクトと [作成] プロジェクトという、2 つのセットのアプリケーション デザイナ プロジェクトを生成します。プロジェクト設定が開始されている場合は、ラン コントロール ページにあるプロジェクトに含まれるレコードおよびページから、一括操作プロジェクトが生成されます。全ての設定の実行が開始されている場合は、選択した一括操作によって影響を受けるレコードおよびページが、システムによって自動的に判別されます。これは、モデルと一部設定可のチャートフィールドを統合するレコードおよびページの相互参照によって行われます。いくつかの技術的な問題によって、提供されるレコードまたはページの一部が一括操作 API によって自動的に変更されない場合があります。これらのオブジェクトを識別する、次のような除外プロジェクトが数多く予約されています。

    注: システムに除外プロジェクトが存在しない場合もあります。PeopleSoft ソフトウェアにアクションから除外する必要がある特定のページが存在する場合にのみ提供されます。

  • FS_CF_ADD - BulkInsertField() で処理できないオブジェクトを除外します。

  • FS_CF_DELETE - BulkDeleteField() で処理できないオブジェクトを除外します。

  • FS_CF_REORDER - BulkModifyPageFieldOrder() で処理できないオブジェクトを除外します。

このステップはデータベース管理を可能にする次のアプリケーション デザイナ プロジェクトの作成も行うため、システムの使用準備が完了する前に実行する必要があります。これは、処理されるチャートフィールド アクションの分析によって行われます。プロジェクトを次に示します。

  • FS_CF_ALTER_TABLE - 変更する必要があるチャートフィールドが含まれるテーブル。ここには、モデル チャートフィールドと、削除、名称変更、サイズ変更された各チャートフィールドが含まれるレコード (フィールドがサブレコードに保持されている場合は親レコード) が含まれます。

  • FS_CF_CREATE_INDEX - 索引を作成する必要があるチャートフィールドが含まれるテーブル。ここには、アクティブ化または非アクティブ化されたチャートフィールドが含まれるレコード (フィールドがサブレコードに保持されている場合は親レコード) が含まれます。

  • FS_CF_CREATE_VIEW - 作成する必要があるチャートフィールドが含まれるビュー。ここには、モデル チャートフィールドと、削除および名称変更された各チャートフィールドが含まれるレコード (フィールドがサブレコードに保持されている場合は親レコード) が含まれます。また、ユニット内関連チャートフィールドの変更の影響を受けるビューも含まれます。チャートフィールドを含まないが、ビュー テキストで他のビューを参照するその他のビューも作成する必要がありますが、これをプログラムで識別することは簡単ではありません。これらは PeopleSoft が提供する FS_CF_VIEW_EXCEPTIONS というプロジェクトに定義されています。このプロジェクトに含まれるレコードも、ビュー作成プロジェクトに追加されます。

  • アクティブ化/非アクティブ化 - このステップはチャートフィールド継承および銀行チャートフィールド継承アプリケーション テーブルのコンテンツを更新します。チャートフィールドがアクティブ化された場合は、これらのテーブルにレコードが追加されます。チャートフィールドを非アクティブ化した場合は、これらのテーブルから対応するデータが削除されます。チャートフィールド メタデータ プロパティは、PeopleCode 関数 SetDBFieldNotUsed() を使用して更新されます。このアクションは全ての設定の実行にのみ適用されます。

  • 削除 - このステップは、元帳グループ チャートフィールド、チャートフィールド継承、および銀行チャートフィールド継承 アプリケーション テーブルからデータを削除します。チャートフィールドは、作成されるプロジェクトに含まれる全てのレコードおよびページから、初期化ステップの間に PeopleCode 関数 BulkDeleteField() を使用して削除されます。チャートフィールド メタデータ プロパティは、PeopleCode 関数 SetDBFieldNotUsed() を使用して非アクティブ化されます。一括操作の結果は BulkOps.Log というファイルにレポートされます。

  • 追加 - このステップは、元帳グループ チャートフィールド、チャートフィールド継承、および銀行チャートフィールド継承 アプリケーション テーブルにデータを追加します。フィールドがまだ存在していない場合は、PeopleCode 関数の SetDBFieldCharDefn()、SetDBFieldAuxFlag、SetDBFieldFormatLength()、SetDBFieldLabel() を使用して新しいフィールドを作成します。フィールドは、作成されるプロジェクトに含まれる全てのレコードおよびページに、初期化ステップの間に PeopleCode 関数 BulkInsertField() および SetRecFieldEditTable() を使用して追加されます。新しいフィールドがユニット内チャートフィールドである場合はさらに、チャートフィールド テンプレートに名前を入力したプロンプト テーブルを、関連チャートフィールドのテーブルセット レコード グループに配置します。PeopleSoft が内部処理目的で管理し、動的編集プロンプト テーブルの更新も行うチャートフィールド レコード リストに、プロンプト テーブルが追加されます。一括操作の結果は BulkOps.Log というファイルにレポートされます。

  • ラベル変更 - このステップは、テンプレートで変更された基本言語と (該当する場合は) 外国語のラベルを更新します。PeopleCode 関数 SetDBFieldLabel() を使用します。このアクションは全ての設定の実行にのみ適用されます。

  • サイズ変更 - このステップは、PeopleCode 関数 SetDBFieldLength() を使用してチャートフィールドのフィールド長を更新します。このアクションは全ての設定の実行にのみ適用されます。

  • 順序変更 - このステップは、作成されるプロジェクトに含まれるページ上のチャートフィールドの順序と表示サイズを初期化ステップの間に変更します。グリッド内に含まれるチャートフィールドの順序変更と表示長の変更には、PeopleCode 関数 BulkModifyPageFieldOrder() を使用します。非グリッド編集ボックス内に表示されるチャートフィールドの表示長を変更する場合は、PeopleCode 関数 SetDBFieldFormatLength() も使用します。一括操作の結果は BulkOps.Log というファイルにレポートされます。

  • ユニット内 - このステップは、ユニット内チャートフィールドに関連付けられているセットID レコードを、以前の関連チャートフィールドのレコード グループから新規関連チャートフィールドのレコード グループに移動します。

  • 名称変更 - このステップは、PeopleCode 関数 RenameDBField() を使用してフィールドの名前を変更します。また、初期化ステップの間に PeopleCode 関数 SetPageFieldPageFieldName() を使用して、作成されるプロジェクトに含まれる全てのページ上のページ フィールド名を変更します。名称変更によって、古いフィールド名を参照している全てのメタデータと、レコード内でフィールド FIELDNAME を使用しているアプリケーション データが変更されます。一部のチャートフィールド名は、アプリケーション テーブルのフィールド FIELDNAME を使用しないレコードに保持されます。これらのアプリケーション テーブルのデータは、このステップの追加のプロセスで変更されます。

  • 製品ログ - このステップは、製品ステータス ページで表示される、製品ログ ファイル内のステータスを更新します。

  • SQL - このステップは、PeopleSoft ソフトウェア全体で使用され、ソフトウェアがチャートフィールド設定に動的に対応することを使用可能にする、共通 SQL オブジェクトを生成します。前述の AM SQR のスケジュールも行います。