既定の分析コード コントロールの分析コード エントリ コントロールへの移行

この記事では、コードのアップグレードを実行した後、既定の分析コード コントロールを分析コード エントリ コントロールに移行するために必要な手順について説明します。 例として、PurchTable フォームを使用します。

簡易移行シナリオ - PurchTable フォーム

  1. アプリケーション エクスプローラーPurchTable フォームを検索します。

  2. 現在のプロジェクトにフォームを追加します。

  3. デザイナーとコード エディタ ビューで、フォームを開きます。

  4. フォームのデザイン ビューでは:

    1. コントロール ツリーから手動で、またはファイル タブ下の検索バーで「DimensionEntry」を検索して、分析コード エントリ コントロール (DEC) を検索します。

    2. 最初の DEC (DimensionEntryControlHeader) を選択し、以下を確認します。

      • コントロールの横にある括弧で指定されたコントロールのタイプは、Dimension Entry Control です。
      • Controller クラスのプロパティは空白になります。 このプロパティは、DEC のこのインスタンスで使用されるコントローラーのタイプを示し、これによってコントロールの動作が決まります。 このプロパティが空白のときは、コントローラーは、値のデータ フィールド (この場合は、PurchTable テーブルの DefaultDimension フィールド) で指定されたフィールドの EDT によって決定されます。 アプリケーション エクスプローラーで PurchTable テーブルを検索します。 PurchTable を右クリックし、デザイナーを開く を選択します。 フィールドノードを展開し、DefaultDimension フィールドを選択します。 このフィールドの EDT プロパティは、LedgerDefaultDimensionValueSet に設定されます。 この EDT では、このコントロールが LedgerDefaultDimensionEntryController を使用することを意味します。
    3. PurchTable フォーム デザイン ビューに戻って、2 番目の DEC (DimensionEntryControlLine) を選択し、次のプロパティを確認してください。

      • コントロールの横にある括弧で指定されたコントロールのタイプは、Dimension Entry Control です。
      • Controller クラスのプロパティは空白になります。 コントローラーは、DEC の場合と同様に、値データ フィールドで指定されたフィールドの EDT によって決定されます。
  5. コード エディター ビューに切り替えます。

  6. フォーム ソース コードで、"TODO: (Code Upgrade) [Dimension entry control]" のすべての事例を検索します。

  7. 残りの各 TODO コメントの実行は、次のようになります。

データ ソース PurchTable

(フォーム > データ ソース > PurchTable > メソッド)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlHeader.reactivate(); このメソッド呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。 メソッド呼び出しの再有効化の一般的なルールとして、必要でない場合は、呼び出しを削除し、正常に動作することを確認するためにコントロールをテストします。 そうでない場合は、再アクティブ化コール バックを追加します。

データ フィールド OrderAccount

(フォーム>データ ソース >PurchTable> フィールド >OrderAccount> 方法)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlHeader.reactivate(); このメソッド呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。

データ フィールド ProjId (PurchTable)

(フォーム>データ ソース >PurchTable> フィールド >ProjId> 方法)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlHeader.reactivate(); このメソッドの呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。 super() 呼び出しがすべて残っているため、modified() メソッド全体を削除することもできます。 メソッドが含まれていないため、ProjId クラスを削除することができます。

データ フィールド VendGroup

(フォーム>データ ソース >PurchTable> フィールド >VendGroup> 方法)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlHeader.reactivate(); このメソッド呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。 modified() メソッドと VendGroup クラス全体を削除することもできます。

データ ソース PurchLine

(フォーム>データ ソース >PurchLine> 方法)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlLine.reactivate(); 注記: これはデータソースの itemIdModified メソッドにおけるメソッド呼び出しの再有効化です。 このメソッド呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlLine.reactivate(); 注記: これはデータソースの create() メソッドにおけるメソッド呼び出しの再有効化です。 このメソッド呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。

データ フィールド AssetGroup

(フォーム>データ ソース >PurchLine> フィールド >AssetGroup> 方法)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlLine.reactivate(); このメソッドの呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。 modified() メソッドと AssetGroup クラス全体を削除することもできます。

データ フィールドの AssetId (フォーム > データ ソース >PurchLine > フィールド > AssetId > 方法)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlLine.reactivate(); このメソッドの呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。

データ フィールド ProcurementCategory

(フォーム>データ ソース >PurchLine> フィールド >ProcurementCategory> 方法)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlLine.reactivate(); このメソッド呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。

データ フィールド ProjId (PurchLine)

(フォーム>データ ソース >PurchLine> フィールド >ProjId> 方法)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] 移行ガイダンスに基づいてこの TODO を置き換えます。 */DimensionEntryControlLine.reactivate(); このメソッド呼び出しには前に呼び出された parm メソッドがないため、削除することができます。 分析コード エントリ コントロールは、会社または表示されている分析コード セットが変化した場合にのみ再度有効化する必要があります。

TabPage TabFinancialDimensionsLine

(フォーム タブの下にある検索バーで「TabFinancialDimensionsLine」を検索してください。)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] この方法は、カスタム実装がない場合に削除することができます *///dimensionDefaultingControllerLine.pageActivated(); pageActivated メソッドをもう呼び出す必要はありません。 この全メソッドと TabFinancialDimensionsLine クラスは、pageActivated メソッドにカスタム ロジックがないため削除できます。

TabPage TabFinancialDimensionsHeader

(フォーム タブの下にある検索バーで「TabFinancialDimensionsHeader」を検索してください。)

以前 変更後
/* TODO: (コード アップグレード) [分析コード エントリ コントロール] この方法は、カスタム実装がない場合に削除することができます *///dimensionDefaultingControllerHeader.pageActivated(); pageActivated メソッドをもう呼び出す必要はありません。 この全メソッドと TabFinancialDimensionsHeader クラスは、pageActivated メソッドにカスタム ロジックがないため削除できます。

その他のリソース