次の方法で共有


Microsoft Dynamics AX 2012 から Dynamics 365 Finance + Operations にアップグレードするためにソース データをクリーンアップする

この記事では、Microsoft Dynamics AX 2012 から Dynamics 365 Finance + Operations (on-premises) へのアップグレードの一環としてソース データをクリーンアップする方法について説明します。

重要

どのクリーンアップ ルーチンも、実行するのは、業務に関する詳細な分析が終了し、データが不要になったことを確認した後のみにしてください。

各クリーンアップ ルーチンは、運用環境で実行する前に必ずテスト環境でテストしてください。

背景

時間の経過と共に、Dynamics AX 2012 データベースはサイズが増大することがあります。 アップグレードの前に、データを削除またはアーカイブすることで、データベースのサイズを小さくすることができます。 これにより、データ アップグレードの完了までに要する時間を削減できます。

データのクリーンアップには、以下のいくつかのツールおよびプロセスを使用できます。

Dynamics AX インテリジェント データ管理フレームワーク ツール

Dynamics AX Intelligent Data Management Framework (IDMF) ツールは現在更新されていませんが、Dynamics AX 2012 データベースのデータをアーカイブまたは削除するために使用できます。 詳細については、Dynamics AX Intelligent Data Management Framework を参照してください。

Microsoft Dynamics AX 2012 のクリーンアップ ルーチン

Dynamics AX 2012 の クリーンアップ ルーチンは、さまざまなモジュールで使用できます。 次の情報は、アップグレードの前にデータをクリーンアップするのに役立つ、現在利用できるルーチンの概要を示します。 この情報は、モジュール別にまとめられています。

システム管理

パス Description
システム管理 > 定期的なタスク > 通知のクリーンアップ

このクリーンアップ ルーチンは、EventInbox および EventInboxData テーブルから定期的にレコードを削除します。

推奨: 警告機能を使用しない場合は、バッチ ジョブからの警告をオフにします。

  1. システム管理>照会>ユーザー の順に移動します。
  2. クリーンアップ を選択します。

特定の日付よりも古いユーザー ログを削除します。 このクリーンアップ ルーチンは、3 か月以上前のログをチェックします。 ユーザー ログには、ユーザーのサインインとサインアウトが記録されます。

  1. 履歴の 制限 (日数) フィールドに値を入力して、削除の制限を定義します。 指定した日数を経過したログ情報のみ削除されます。
  2. 照会 ページのバージョンである ログ クリーンアップ条件の選択 ページを開く場合は、選択 を選びます 。
  3. クリーンアップ基準を選択します。 ユーザーまたはユーザーの範囲を選択し、必要に応じて、日付や時刻などの追加のユーザー情報を選択します。
  4. OK を選択して ユーザーログのクリーンアップ ページに戻ります。
  5. OK を選択してクリーンアップを一度実行するか バッチ タブを選択してユーザー ログの定期的なクリーンアップ用のパラメータを定義します。
システム管理 > 照会 > データベース > データベース ログ > クリーンアップ ログ

このクリーンアップ ルーチンを使用すると、必要に応じてデータベース ログを削除できます。 特定のテーブルのログを削除したり、特定のタイプのデータベース ログを削除するなど、作成された日時に基づいてログを削除したりすることができます。

注: 電子署名されたレコードは、ログから削除できません。

  1. システム管理>照会>データベース>SQL 明細書トレース ログ へ移動します。
  2. 機能>クリアログ を選択します。
SQL ステートメント追跡ログを削除してデータベース容量を復旧します。 このクリーンアップ ルーチンは "すべて" または "何も" のオプションです。 後で参照用に、ログを削除する前にエクスポートできます。 SQL ステートメント追跡ログは、トラブルシューティングのために使用される特定の時間しきい値または SQL エラーに対するクエリのレコードです。
システム管理 > Periodic > Services およびアプリケーション統合フレームワークの > 履歴
  1. 表示方法 フィールドで ドキュメント を選択します。
  2. ドキュメントを選択して、ドキュメント XML をクリア を選択します。
  3. システムに存在する XML ドキュメントのすべてのバージョンをクリアするには、すべてのバージョンをクリア を選択します。
  4. XMLドキュメントのすべての中間バージョンをクリアするには、中間バージョン のクリア を選択します。 発信ドキュメントの場合、このアクションにより、バージョン番号が最大のバージョンを除いて、すべてのバージョンがクリアされます。 受信ドキュメントの場合、最初のバージョンを除いて、すべてのバージョンがクリアされます。

推奨事項 : 1 年以上前のすべての履歴をクリーンアップします。

データのインポート/エクスポート フレームワーク

パス Description
データ インポート/エクスポート フレームワーク >定期処理 >ステージング クリーンアップ このクリーンアップ ルーチンは、エンティティ、処理グループ、またはジョブ ID に基づいてステージング データをクリーンアップします。

組織管理

パス Description
組織管理 >定期> カレンダー クリーンアップ ページに移動します このページを使用して、以前の作業時間を削除するための終了日を指定します。 指定した日付より前の (この日付を含まない) すべての作業時間が削除されます。

総勘定元帳

パス Description
一般会計 > 定期的なタスク > 仕分元帳のクリーンアップ

このクリーンアップ ルーチンでは、転記されている一般会計、売掛金勘定仕訳帳、および買掛金勘定仕訳帳を削除できます。 転記済の仕訳元帳を削除すると、元のトランザクションに関連付けられたすべての情報が削除されます。

注: 仕訳元帳トランザクションを取り消す必要がない場合にのみ、この情報を削除することができます。

主要記事: 転記済仕訳元帳の削除

販売とマーケティング

パス Description
販売とマーケティング > 定期処理タスク > クリーンアップ > 注文の削除 このクリーンアップ ルーチンは、選択された販売注文を削除します。
販売とマーケティング > 定期的なタスク > クリーンアップ > 見積書の削除 このクリーンアップ ルーチンは、選択された見積書を削除します。
販売とマーケティング > 定期的なタスク > クリーンアップ > 返品注文の削除 このクリーンアップ ルーチンは、選択された返品注文を削除します。
販売とマーケティング > 定期的なタスク > クリーンアップ > 販売更新履歴のクリーンアップ

このクリーンアップ ルーチンは、古い更新履歴トランザクションを削除します。 確認書、ピッキング リスト、梱包明細、請求書のすべての更新は、更新履歴トランザクションを生成します。 これらのトランザクションは、更新の履歴ページで表示できます。

主要記事: 発注書または販売注文の更新履歴の削除

調達

パス Description
調達 > 定期的なタスク > クリーンアップ > 購入更新履歴のクリーンアップ

このクリーンアップ ルーチンは、更新履歴トランザクションを生成した確認書、ピッキング リスト、製品受領書、請求書のすべての更新を削除します。

主要記事: 発注書または販売注文の更新履歴の削除

調達 > 定期的なタスク > クリーンアップ > 見積依頼の削除 このクリーンアップ ルーチンは、見積依頼 (RFQ) と RFQ の返信を削除します。 対応する RFQ 仕訳帳は削除されず、システム内に残ります。

倉庫管理

パス Description
倉庫管理 > 定期処理タスク > クリーンアップ > 作業作成履歴の消去 このクリーンアップ ルーチンは、WHSWorkCreateHistorytable テーブルから作業作成履歴レコードを削除します。 このダイアログ ボックスでは、履歴を保持する日数を指定します。
倉庫管理 > 定期処理タスク > クリーンアップ > コンテナー詰め履歴の消去 このクリーンアップ ルーチンは、WHSContainerizationHistory テーブルからコンテナー詰め履歴を削除します。 このダイアログ ボックスでは、履歴を保持する日数を指定します。
倉庫管理 > 定期処理タスク > クリーンアップ > ウェーブ バッチのクリーンアップ このクリーンアップ ルーチンは、ウェーブ処理バッチ グループに関連するバッチ ジョブ履歴レコードをクリーンアップします。
倉庫管理 > 定期処理タスク > クリーンアップ > 循環棚卸計画のクリーンアップ このクリーンアップ ルーチンは、循環棚卸計画の構成に関連するバッチ ジョブ履歴レコードをクリーンアップします。
倉庫管理 > 定期処理タスク > クリーンアップ > モバイル デバイスの活動ログのクリーンアップ このクリーンアップ ルーチンは、WHSMobileDeviceActivityLog テーブルからモバイル デバイスの活動ログ レコードを削除します。 このダイアログ ボックスでは、履歴を保持する日数を指定します。
倉庫管理 > 定期的なタスク > クリーンアップ > 作業ユーザー セッション ログのクリーンアップ このクリーンアップ ルーチンは、WHSWorkUserSessionLog テーブルから作業ユーザー セッション レコードを削除します。 このダイアログ ボックスでは、履歴を保持する時間数を指定します。

在庫管理

パス Description
在庫管理 > 定期処理タスク > クリーンアップ > 負荷調整の合計 WMSLocationLoad テーブルは、品目およびパレットの重量および容積を追跡します。 WMSLocationLoad テーブルのレコード数を減らすために、負荷調整の合計ジョブを実行して、パフォーマンスを向上させることができます。
在庫管理 > 定期的なタスク > クリーンアップ > 在庫仕訳帳のクリーンアップ

このクリーンアップ ルーチンは、転記済の在庫仕訳帳を削除します。

主要記事: 転記済在庫仕訳帳の削除

在庫管理 > 定期的なタスク > クリーンアップ > 在庫決済のクリーンアップ

このクリーンアップ ルーチンは、決算済在庫トランザクションをグループ化するか、または取消済在庫決済を削除します。 決算済在庫決済または削除済在庫決済のクリーンアップを行うと、システム リソースを解放することができます。

現在の日付や会計年度に近すぎる在庫決済をグループ化または削除しないでください。決済用のトランザクション情報の一部が失われる可能性があります。

決算済在庫トランザクションがグループ化された後は、決済のトランザクション情報が失われるので、変更することができなくなります。

キャンセルされた在庫決済を削除した場合、財務トランザクションで調整することはできません。

在庫管理 > 定期的なタスク > クリーンアップ > 在庫分析コードのクリーンアップ

このクリーンアップ ルーチンは、InventDim テーブルを管理します。 バッチ処理では、現在の会社で定義されているが使用されていない既存のすべての在庫分析コードは削除されます。 使用されないすべての在庫分析コードは完全に削除されます。 このプロセス中に警告またはデータベース ログは作成されません。

このクリーンアップ ルーチンは、各 InventDim レコードが発注書明細行や 販売注文明細行だけでなく、在庫トランザクションまたは手持在庫レコードでも使用されているかを確認します。 InventDim への参照は、存在する場合は確認されます。 使用されていない場合は削除されます。 後で分析コードの同じ組み合わせを使用する場合、Dynamics 365 Finance と Dynamics 365 Supply Chain Management は、新しい InventDimId 値を持つ新しい InventDim レコードを作成し、代わりにそのレコードを使用します。

在庫管理 > 定期的なタスク > クリーンアップ > 在庫分析コードの不整合のクリーンアップ

このクリーンアップ ルーチンは、財務的に更新と決済が完了した在庫トランザクションの分析コードの不整合を解決します。 アップグレード プロセスの前か最中にマルチサイト機能が有効になると、不整合が発生する場合があります。

このルーチンは、マルチサイト機能が有効になる前に決済されたトランザクションをクリーンアップする場合のみ使用します。

注: このルーティンを定期的に使用しないでください。

在庫管理 > 定期的なタスク > クリーンアップ > 手持在庫のエントリのクリーンアップ

このクリーンアップ ルーチンは、一つ以上の追跡用分析コードに割り当てられる手持在庫の決算済および未使用のエントリを削除します。 決算済トランザクションはすべての数量および原価価値に 0 (ゼロ) の値を含み、決済済としてマークされます。 これらのトランザクションを削除すると、手持在庫に対するクエリのパフォーマンスを向上できます。 トランザクションは、追跡用分析コードに割り当てられていない手持在庫を削除しません。

主要記事: 終了した未使用の手持在庫トランザクションのクリーンアップ

在庫管理 > 定期的なタスク > クリーンアップ > 倉庫管理手持在庫エントリのクリーンアップ このクリーンアップ ルーチンは、InventSum テーブルと WHSInventReserve テーブルのレコードを削除します。 これらのテーブルには、倉庫管理処理が有効になっている品目 (WHS 品目) の手持在庫情報が格納されます。 これらのレコードをクリーンアップすることにより、手持在庫計算を大幅に向上させることができます。
在庫管理 > 定期的なタスク > クリーンアップ > 財務分析コードによる手持在庫エントリの集約

このクリーンアップ ルーチンは、数量が 0 (ゼロ) である InventSum 行を集約するためのツールとして使用します。 このルーチンは、前述のルーチンを拡張するもので、決済済フィールドが True に設定されているレコードもクリーンアップします。

このルーチンは、在庫分析コードの組み合わせに対して、InventSum テーブル上の数量はなくなったものの、値はまだ存在するシナリオのために必要です。 場合によっては、これらの値は削除されますが、現在の仕様では値が残ることがあります。

たとえば、バッチ番号を使用する場合、各バッチ番号 (および結合されたサイト、倉庫など) は、InventSum テーブルに新しいレコードを作成します。 そのバッチ番号が売れると、数量フィールドは 0 (ゼロ) に設定されます。 ほとんどの場合、財務費用金額フィールド、および現物原価金額フィールドも、0 (ゼロ) に設定されます。 しかし、標準原価の再評価やその他のシナリオでは、フィールドに金額が表示される場合があります。 これは正しい動作であり、Finance および Supply Chain Management が財務在庫レベル (サイト レベルなど) で原価を処理する方法を反映しています。

Finance および Supply Chain Management では、在庫金額は InventSum テーブルのレコードによって決定されます。 過去の在庫金額が報告されるときに、在庫金額が在庫トランザクション (InventTrans テーブル) によって決定される場合もあります。 したがって、前に説明したシナリオでは、在庫金額のレポートを実行するときに、Finance および Supply Chain Management は、まず InventSum テーブルを確認し、すべてのレコードをサイト レベルで集計して、サイトごとの品目の値を報告します。

個々のレコードのデータがバッチ番号レベルで使用されることはありません。 したがって、このルーチンは、すべての InventSum レコードを調べて数量がなくなったレコードを検出します (つまり、オープン数量なしフィールドが True に設定されます)。 これらのレコードを保持する理由はないため、Finance および Supply Chain Management は、同じサイトで同じ品目の InventSum レコードを検索し、その値をバッチ番号レベルからサイト レベルにコピーしてから、レコードを削除します。 その後、在庫金額レポートを実行する場合でも、Finance および Supply Chain Management は同じ正しい値を検出します。 したがって、このルーチンは、場合によっては InventSum レコードの数を大幅に削減し、そのテーブルを照会するすべての機能でパフォーマンスを向上させることができます。

在庫管理 > 定期的なタスク > クリーンアップ > 原価計算の詳細 このクリーンアップ ルーチンは、原価計算の詳細をクリーンアップします。

生産管理

パス Description
生産管理 > 定期的なタスク > クリーンアップ > 登録データのクリーンアップ

登録データを定期的にクリーンアップすることをお勧めします。 このクリーンアップ ルーチンは、処理されたデータのみを削除します。

注: 後に文書作成のために必要になる可能性がある登録データは削除しないように注意してください。

生産管理 > 定期的なタスク > クリーンアップ > 計画登録をアーカイブに保存 このクリーンアップ ルーチンは、作業登録テーブルから計画登録を削除します。
生産管理 > 定期的なタスク > クリーンアップ > 生産仕訳帳のクリーンアップ このクリーンアップ ルーチンは、使用されていない仕訳帳を削除します。
生産管理 > 定期的なタスク > クリーンアップ > 製造オーダーのクリーンアップ このクリーンアップ ルーチンは、終了した製造オーダーを削除します。
生産管理 > 照会 > 登録 > 生登録アーカイブ

以前にアーカイブされた時間登録をクリーンアップできます。 アーカイブされた登録を削除するか、ファイルにエクスポートすることで、削除することができます。

  1. 登録のクリーンアップ を選択します。
  2. クリーンアップ モード フィールド で、次のいずれかの値を選択して、古い登録の処理方法を指定します。
    • ファイルするには – 外部ファイルに登録データを移動します。
    • 削除 – 登録を完全に削除します。
  3. 最高年齢 フィールドに、生登録テーブルに保存する最長期間を、日数で入力します。 たとえば、20 と入力すると、20 日を超えた登録データは クリーンアップモード フィールドの選択に従ってアーカイブされます。
  4. クリーンアップ モード フィールドで ファイルする を選択した場合は、ファイル名を入力するか、ファイル名 フィールドで既存のファイルを 選択 します。

マスター プラン

パス Description
マスター プラン > 定期処理 > 計画 > 計画の削除 計画の削除 プロセスを使用して、選択した計画から現在のスケジューリングの結果を削除します。 データ (要求および計画オーダー) だけが削除され、計画そのものや計画のコンフィギュレーションは削除されません。

プロジェクト管理および会計

パス Description
  1. プロジェクト管理および会計>定期処理>ジャーナル>プロジェクト仕訳帳の削除 の順に移動します。
  2. プロジェクト仕訳帳の削除 ページで、選択 を選択します。
  3. 基準 フィールドで、削除する仕訳帳を選択します。
  4. OKを選択します。
取引を転記済みのプロジェクト仕訳帳を削除できます。 これにより、さらに多くのシステム リソースを利用できます。
  1. プロジェクト管理と会計>定期処理>見積書>見積書の削除 に移動します。
  2. 見積書の削除 ページで、選択 を選択します。
  3. OK を選択すると、見積が 見積の削除 ページに転送されます。
  4. 削除しないクエリ転送見積がある場合は、見積の削除 ページで見積の削除を選択し、Alt+F9 を選択します。 この見積もりは削除する見積の一覧から見積が削除されます。
  5. OK を選択すると、見積の削除 ページに表示された見積が削除 されます。
未入力のプロジェクト見積を削除することで、データベース容量を復旧できます。 フィルタを作成して、選択した見積のみを削除できます。 ステータスを 失注 または キャンセル済 に更新しない限り、送信済の見積は削除できないので注意してください。

人事管理

パス Description
  1. 人事管理>定期処理>休暇>休暇仕訳帳の削除 に移動します。
  2. 次の手順のいずれかを実行します。
    • すべての休暇仕訳帳を削除するには、OK を選択します。
    • 休暇仕訳帳を削除する従業員を選択するには、選択 を選びます。
休暇仕訳帳の削除 プロセスを使用 して、まだ承認のために転送されていない空の仕訳帳はすべて削除します。 このルールの例外は、計画休暇または将来の休暇を含む仕訳帳の前の期間に対応する空の仕訳帳です。 将来の期間に計画休暇が存在する場合に仕訳帳を削除するには、承認をキャンセルし、仕訳帳の削除手順を再度実行します。

手動クリーンアップ

SQL スクリプトまたはカスタム X++ コードを使用して、データベース内のデータを直接クリーンアップできます。 これらのスクリプトは、顧客ごとに開発してテストする必要があります。

バッチ ジョブ履歴テーブルのクリーンアップ (手動クリーンアップ)

次の表は、完全または部分的にクリーンアップできます。 これらの表にすぐに使用できるクリーンアップ スクリプトはありません。

  • BatchJobHistory
  • BatchHistory
  • BatchConstraintsHistory