現在オフラインです。再接続するためにインターネットの接続を待っています

分析会計トランザクションの転記または Microsoft Dynamics GP で記録するマスター シェイプを保存しようとするときにエラー メッセージ:「オブジェクト 'AAGXXXXX' に重複するキーを挿入できません」

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:897280
現象
Microsoft Dynamics GP で分析会計トランザクションを転記するときは、次のエラー メッセージが表示される場合があります。

[マイクロソフト][ODBC SQL Server ドライバー][SQL Server]主キー制約の違反 'PKAAG30000' をオブジェクトに重複するキーを挿入できません 'AAG30003'

注意
このエラー メッセージの AAG30000 表のプレース ホルダーです。「制約」という語は、「制約」綴りを間違えた

受信した実際のエラー メッセージには、次の表のいずれかが含まれます。
  • AAG00103
  • AAG00500
  • AAG00600
  • AAG00601
  • AAG00602
  • AAG00603
  • AAG00400
  • AAG00401
  • AAG00201
  • AAG00310
  • AAG00900
  • AAG00901
  • AAG00902
  • AAG00903
  • AAG10000
  • AAG10001
  • AAG10002
  • AAG10003
  • AAG20000
  • AAG20001
  • AAG20002
  • AAG20003
  • AAG30000
  • AAG30001
  • AAG30002
  • AAG30003
原因
AAG00102 テーブル内のこのテーブル (aaTableID) に示されている次使用可能な値 (aaRowID) は、該当するテーブル (または一連のサブフォルダーのテーブル) で既に使用されているために、この問題が発生します。

、AAG00102 テーブルの '30000' テーブルが AAG30000、AAG30001、AAG30002、AAG30003 テーブルを調べて、該当するテーブルのデータ系列のすべてのテーブルをチェックするのには注意が必要があります。



解決方法
この問題を回避するには AA テーブル (およびサブ テーブル) で使用される最大の値を比較する AAG00102 テーブルに格納されている次の使用可能な値に対して次のいずれか、以下を使用します。

注: <b> この資料の手順を実行する前に、問題が発生した場合に復元することができるデータベースの完全なバックアップ コピーがあることを確認します。

方法 1 - ほとんどの AA テーブル AAG00102 で値を更新する SQL スクリプトを使用します。

次のリンクを使用して SQL スクリプトをダウンロードすることができます、会社のデータベースに対して SQL Server Management Studio で実行最後の比較によると、AAG00102 テーブルに格納されている次の使用可能な番号を自動的に更新する使用値 AA の表にします。スクリプトは、次の表を見て、: AAG10000、AAG20000、AAG30000、AAG00201、AAG00400、AAG00401、AAG00500、AAG00600、AAG00900、AAG00903。AA のテーブルのほとんどすべてではなく、見るし、ないサブの一連のテーブルします。スクリプトを入手するのには、次のマイクロソフト Web サイトを参照してください。

https://mbs.microsoft.com/Files/customer/GP/Downloads/ServicePacks/AA_Update_AAG00102.sql

方法 2 - AAG00102 で値を調査し、更新プログラムを一度に 1 つの AA テーブルの手動による方法

  1. SQL Server Management Studio を開きます。これを行うには、[スタート] ボタン、プログラム] をポイントにMicrosoft SQL Server のバージョン、し、 SQL Server Management Studio] をクリックします。
  2. ウィンドウで、 SQL Server への接続にログインして SQL Server Management Studio の sa パスワードを使用しています。
  3. をクリックします 新しいクエリ アイコン ウィンドウを開き、クエリ、コピーまたはクエリ ウィンドウで次のスクリプトを入力します。会社のデータベースに対して実行します。
    select MAX (aaGLHdrID) from AAG30000*/Insert in the appropriate column/table for the aaGLHdrID and AAG30000 placeholders in the script.
  4. テーブルに最後に使用された最大の値を表示するクエリの結果に注意してください。(サブフォルダーのテーブルをテーブルには場合、は、最高の最後に使用された値にもを確認してください)。
  5. クエリ ウィンドウに次のスクリプトを入力し、Dynamics データベースに対して実行します。
    select * from AAG00102 where CMPANYID = 'nnn'
    注: <b> このクエリで置換します nnn 会社 ID を持つプレース ホルダー会社 ID を検索するには、クエリ ウィンドウで次のクエリを入力します。
    select * from SY01500
    ウィンドウの上部にあるリストでのDYNAMICSデータベースを選択し、F5 キーを押します。
  6. 30000 (または該当するテーブル) のaaTableID値のaaRowIDフィールドの値が手順 4 でメモした値以上であることを確認します。
  7. 値を更新するのにには、次のスクリプトを使用します。これを行うには、クエリ ウィンドウで、以下のスクリプトを入力し、F5 キーを押します。
    update aag00102 set aaROWID = 'yyyy' where aaTableID = 30000 and CMPANYID = 'zzz'
    注: <b> このスクリプトで置換します yyyy 手順 4 でメモした値を持つプレース ホルダーです。交換して、 zzz 会社 ID を持つプレース ホルダー適切なテーブルで、aaTableID を交換してください。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

警告: この記事は自動翻訳されています

プロパティ

文書番号:897280 - 最終更新日: 10/22/2015 22:36:00 - リビジョン: 1.3

Microsoft Dynamics GP 2015, Microsoft Dynamics GP 2013, Microsoft Dynamics GP 2010, Microsoft Dynamics GP 10.0

  • kberrmsg kbmbsmigrate kbbug kbmt KB897280 KbMtja
フィードバック