次の方法で共有


Microsoft Dynamics GP の分析会計で "会計クラスにリンクされている配布アカウントがありません" というエラーが表示される

この記事では、Microsoft Dynamics GP でトランザクションを投稿しようとしたときに発生する可能性があるエラーの解決策について説明します。

適用対象: Microsoft Dynamics GP
元の KB 番号: 2535754

症状

次のエラー メッセージは、Microsoft Dynamics GP でトランザクションを投稿するときに発生します。

会計クラスにリンクされている分配アカウントはありません。

原因 1

アカウントが会計クラスにリンクされていません。 下記の「解決策 1」を参照してください。

原因 2

AAG20001サブレージャー配布テーブル内のアカウントに対して aaBrowseType が正しくない可能性があります。 下記の「解決策 2」を参照してください。

原因 3

分析会計 (AAG00200) のアカウント マスター テーブルに入力されていないか、アカウントがありません。 下記の解決策 3 を参照してください。

原因 4

無効なヘッダー ID を持つAAG20000系列テーブルにレコードが存在します。 下記の解決策 4 を参照してください。

原因 5

AAG00102 テーブル内の次に使用可能な番号は、実際の AA トランザクション テーブルで最後に使用された番号と同期されていません。 この方法では、重複キー エラーを経験することもあるはずです。 解決策 5 を参照してください。

原因 6

GL バッチを転記しようとしたときにも、次のメッセージが表示されます。

"ストアド プロシージャ aagValidateGLBatch は、DBMS: 245" という結果を返し、その後に "アカウンティング クラスにリンクされたディストリビューション アカウントがありません" を返しました。

AAG10001 テーブルにレコードがありません。

決議

このエラー メッセージの原因に応じて、次のように適切な解決策を参照してください。

解決策 1

アカウントが会計クラスにリンクされているとマークされていることを確認します。 これを行うには、 Cards を選択し、 Financialをポイントし、 Analytical Accounting をポイントして Account を選択します。 アカウント番号を入力します。 クラス ID フィールドが設定されていることを確認します。

解決策 2

SQL Server Management Studio で、特定のサブレッジャー トランザクションに関連付けられているすべてのディストリビューション レコードを格納するAAG20001 (aaSubledgerDist) テーブルを確認します。 各トランザクションには、少なくとも 2 つ以上のディストリビューション (借方とクレジット) が関連付けられている必要があります。 勘定インデックスを GL のGL00100勘定マスタテーブルに相互参照して、正しい配分ラインが表示されていることを確認できます。 aaBrowseType 列に一覧表示されている値を確認します。 この配布ラインに AA データを追加できるようにするには、アカウントが AA にリンクされている場合、このフィールドに '1' を表示します。

aaBrowseType 列の値は、次の値を意味します。

0 - リンクされていない 1 - 必須または省略可能なコード 2 - AA コードが必須に設定されていますが、入力されていません

まず、不足している必要なコード (値 '2') を探し、それらを '1' に更新して解決するかどうかを確認することをお勧めします。

select * from AAG20001 where aaBrowsetype = 2

メモ

リンクされているすべてのアカウントの aaBrowseType 列をそのアカウント/クラスの現在のセットアップと一致するように更新するスクリプト (AA_Update_aaBrowsetype.sql) を取得するには、サポート ケースを開いてさらにサポートを受ける必要があります。 有料サポート ケースを開くには、Microsoft テクニカル サポート (1-888-477-7877) にお問い合わせください。

解決策 3

SQL Server Management Studio で、分析アカウンティングのアカウント マスター テーブル (AAG00200) が設定されていることを確認します。 このテーブルには、GL のアカウント マスター (GL00100) テーブルとアカウント インデックス マスター (GL00500) と同じ数のレコードが必要です。

AAG00200 テーブルを再入力するには、次のスクリプトを実行します。 このスクリプトは、不足しているアカウントを、GL00100 アカウント マスター テーブルに存在するAAG00200アカウント マスター テーブルに挿入します。

Insert into AAG00200 (ACTINDX,aaAcctClassID,aaChangeDate,aaChangeTime) select ACTINDX,0,convert(char(10),getdate(),111),convert(Char(12), getdate(),114) from GL00100 where ACTINDX not in (select ACTINDX from AAG00200)

注意

AAG00200 テーブルを削除し、スクリプトを実行して完全に再作成すると、Accounting クラスへのリンクが失われます。 その場合、すべての勘定を会計クラスに再度リンクする必要があります。

解決策 4

AA の AAG20000 サブレッジャー テーブルに無効なヘッダー ID が '0' のレコードがある場合、これが問題を引き起こす可能性があります。 AAG20000系列テーブルに無効なレコードがある場合、検証プロセスはディストリビューションが会計クラスにリンクされているかどうかを確認し、これらのレコードがリンクされていないと表示され、上記のエラー メッセージが生成される可能性があります。

AAG20000 テーブルから無効なヘッダー ID を持つレコードを消去することで、問題を修正できます。 次のスクリプトを SQL Server Management Studio のクエリ ウィンドウで会社のデータベースに対して実行して、無効なレコードがあるかどうかを確認し、存在する場合は削除できます。

Select * from AAG20000 where aaSubLedgerHdrID = 0 Select * from AAG20001 where aaSubLedgerHdrID = 0 Select * from AAG20002 where aaSubLedgerHdrID = 0 Select * from AAG20003 where aaSubLedgerHdrID = 0

メモ

何らかの理由で復元する必要がある場合は、削除ステートメントを実行する前に、復元できる現在のバックアップがあることを確認してください。

解決策 5

AAG00102 テーブルで次に使用可能な番号を更新する方法の詳細または手順については、「 エラー メッセージ」を参照してください。分析会計トランザクションを転記しようとした場合、または Microsoft Dynamics GP でマスター レコードを保存しようとすると、"オブジェクト 'AAGXXXXX' に重複するキーを挿入できません"

解決策 6

GL10000、GL00001、AAG10000、AAG10001、AAG10002、およびAAG10003テーブルの結果を取得します。 データを確認し、レコードがすべて AA テーブル内にあることを確認します。 修正するには、挿入スクリプトを使用するか、Distcorrect.sqlを実行する必要がある場合があります。

詳細

上記のいずれかの解決策についてさらにサポートが必要な場合は、Microsoft Dynamics GP テクニカル サポート (1-888-477-7877) にお問い合わせください。 サポートケースには料金が発生します。