Microsoft Dynamics GP でバッチ編集リストを印刷したり、総勘定元帳でバッチを投稿したりするときに発生するエラー メッセージ: "ストアド プロシージャ glpBatchCleanup は、次の結果を返しました: DBMS 0、グレート プレーン 20488"

この記事では、Microsoft Dynamics GP でバッチ編集リストを印刷したり、総勘定元帳でバッチを転記したりできない問題を解決するためのヘルプを提供します。

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

現象

バッチ編集リストを印刷するか、Microsoft Dynamics GP で総勘定元帳でバッチを転記すると、次のエラー メッセージが表示されます。

ストアド プロシージャの glpBatchCleanup は、DBMS 0、グレート プレーンズ 20488 の結果を返しました

原因 1

この問題は、SY00500 - 転記定義マスター テーブルが破損している場合に発生する可能性があります。 この問題を解決するには、「 解決策 1」を参照してください。

原因 2

glpBatchCleanup のストアド プロシージャが破損している可能性があります。 ストアド プロシージャを再作成するには、「 解決策 2」を参照してください。

原因 3

サード パーティ製品がストアド プロシージャを誤って変更している可能性があります。 サード パーティ製品を無効にする方法については、「 解決策 3」を参照してください。

原因 4

このバッチの GL 作業テーブル間には不整合があります。 「解決策 4」を参照してください。

原因 5

ユーザーが GL 作業テーブルにスタックしています。 「解決策 5」を参照してください。

原因 6

ユーザーにアクセス許可の問題があります。 「解決策 6」を参照してください。

解決策 1 (GP 20488 または 20486 で DBMS エラーが発生する可能性があります)

この問題を解決するには、SY00500 - 転記定義マスター テーブルを再作成します。 このテーブルを再作成するには、次のいずれかの方法を使用します。

注:

SY00500 テーブルにトリガーが含まれている場合は、次の手順に従った後でトリガーを再作成する必要があります。

方法 1: SQL メンテナンスを使用する

  1. Microsoft Dynamics GP の完全バックアップを作成します。
  2. Microsoft Dynamics GP メニューの [メンテナンス] をポイントし、[SQL] をクリックします。
  3. エラーが発生している会社データベースをクリックします。
  4. [テーブル] の一覧で、[転記の定義マスター] をクリックします。
  5. ウィンドウの右側にあるをクリックして、すべてのチェックボックスを選択し、[プロセス] をクリックします。
  6. 次のメッセージが表示されたら、[ はい ] をクリックします。

    テーブルを削除することを選択しました。これにより、その中のデータが削除されます。 続行してもよろしいですか?

この手順では、SY00500 - 転記定義マスター テーブルを再作成します。 ただし、ポストされていないバッチはすべて一時的に失われます。 これらの未転記バッチを取得するには、サブモジュールでリンクのチェック プログラムを実行します。 次に、総勘定元帳のバッチを調整します。 ただし、これにより、[ 定期的][単一使用] に設定されているバッチが設定されます。 これらのバッチを [定期的] に戻す必要があります。

バッチを取得するには、次の手順に従います。

注:

Microsoft Dynamics GP の買掛金管理で [複数通貨] オプションを使用する場合は、買掛金トランザクション履歴論理ファイルでリンクのチェック プログラムを実行してから、買掛金トランザクション論理ファイルでリンクのチェック プログラムを実行します。

  1. 次のファイルでリンクのチェック プログラムを実行するには、[ Microsoft Dynamics GP ] メニューの [ メンテナンス] をクリックし、[ リンクの確認] をクリックし、次のシリーズ名のいずれかをクリックして、対応するファイル名を入力します。 次のファイルについては、この手順に従います。

    • シリーズ名: 買掛金管理

    ファイル名: 購入シリーズ - 買掛金トランザクション論理

    • シリーズ名: 購買発注処理

    ファイル名: 購入シリーズ - 購買トランザクション論理

    • シリーズ名: 債権管理

    ファイル名: Sales Series - 売掛金オープン トランザクション

    • 系列名: 請求

    ファイル名: Sales Series - Invoice Work File

    • シリーズ名: 販売注文処理

    ファイル名: Sales - Sales Work File

    • シリーズ名: インベントリ

    ファイル名: Inventory - Inventory Transaction Work ファイル

    • シリーズ名: 部品表

    ファイル名: インベントリ - 在庫 - 部品表トランザクション ファイル

  2. Microsoft Dynamics GP で Project Accounting を使用する場合は、次のファイルでもリンクの確認を実行する必要があります。 次のファイルでリンクのチェックを実行するには、 Microsoft Dynamics GP メニューの [ メンテナンス] をポイントし、[ PA チェック リンク] をクリックし、[ 挿入] をクリックし、次のいずれかのテーブル名をクリックします。 次のファイルについては、この手順に従います。

    • タイムシート バッチ - PA タイムシート トランザクション
    • その他のログ バッチ - PA その他のログ トランザクション
    • 機器ログ バッチ - PA 機器ログ トランザクション
    • 在庫転送バッチ - PA 在庫転送トランザクション
    • ロットの受け取り - PA 購買トランザクション
    • 収益認識バッチ - PA 収益の再認識トランザクション
    • 従業員経費バッチ - PA 従業員経費トランザクション
    • 請求バッチ - PA 請求トランザクション
  3. Microsoft Great Plains General Ledger にバッチが存在する場合は、[ Microsoft Dynamics GP ] メニューの [ ツール] をポイントし、[ ユーティリティ] をポイントし、[ 財務] をポイントして、[ 調整] をクリックします。 [Batches チェック] ボックスをクリックし、[調整] をクリックしてバッチを調整します。

方法 2: Professional Services Tools ライブラリから無料ツールキットを使用する

  1. Microsoft Dynamics GP の完全バックアップを作成します。

  2. すべてのユーザーがシステムからログオフします。

  3. Professional Services Tools Library (PSTL) をインストールします。

    注:

    このダウンロードは、ダウンロードと更新、Service Pack & 製品リリース、Professional Services Tools Library (PSTL) for Microsoft Dynamics (北米 のみ) にあります。 インストール手順はダウンロードに含まれています。

  4. PSTL をインストールしたら、Microsoft Dynamics GP を起動します。 新しいコードを含めるメッセージが表示されたら、[ はい] をクリックします。

  5. システム管理者として Microsoft Dynamics GP にログオンします。

  6. ショートカット バーに Professional Services ツール ライブラリを追加するには、ホーム シリーズで [ 追加] をクリックし、[ その他のウィンドウ] をクリックし、[ Technical Service Tools]、[ Project]、[ Professional Tools Library]、[ 追加] の順にクリックし、[ 完了] をクリックします。

  7. [ホーム シリーズ] ショートカット バーで、[ Professional Service Tools]\(プロフェッショナル サービス ツール\) をクリックします。 SQL オブジェクトのビルドを待ちます。 登録キーの入力を求められたら、[ キャンセル] をクリックします。 このツールを使用するために登録キーを持っている必要はありません。

  8. [ ツールキット] をクリックし、[ 次へ] をクリックします。

  9. [ ツールキット オプション] の [ SQL オブジェクトの再作成] をクリックし、[ 次へ] をクリックします。

  10. [ シリーズ] の横にある [ 会社] をクリックします。

  11. [テーブル] の横にある [SY00500] をクリックします。

  12. [メンテナンス オプション] で、[選択したテーブルの再作成] チェック ボックスをクリックし、[選択したテーブルのデータを再作成する] チェック ボックスをクリックして選択します。

  13. [ 選択したメンテナンスの実行] をクリックします。

  14. 次のメッセージが表示されたら、[OK] をクリック します

    テーブルはデータを使用して再作成されます
    テーブルSY00500データを使用して再作成されます。 SY00500を再作成する前にバックアップが作成されたことを確認する

解決方法 2

データベース メンテナンスを使用して、glpBatchCleanup と glpBatchPost の両方のストアド プロシージャを再作成します。 これを行うには、次の手順を実行します。

  1. すべてのユーザーが Microsoft Dynamics GP からログオフされていることを確認します。
  2. [ スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Dynamics GP] をクリックし、この問題が発生した Microsoft Dynamics GP のバージョンをクリックして、[ データベース管理] をクリックします。
  3. 使用している Dynamics Server のサーバー名を入力します。 たとえば、次の例を使用 します。COMPUTER_NAME \ SERVER_INSTANCE
  4. [DYNAMICS Database ID チェック] ボックスをクリックして選択し、[次へ] をクリックします。
  5. [Microsoft Dynamics GP チェック] ボックスをクリックして選択し、[次へ] をクリックします。
  6. [Functions チェック] ボックスをクリックし、[次へ] をクリックします。

解決策 3

サード パーティ製品がストアド プロシージャを変更している可能性があります。 Dynamics.set ファイルからサードパーティ製品を無効にして、もう一度テストします。 Dynamics.set ファイルでサード パーティ製品を無効にする方法の詳細については、「 Microsoft Dynamics GP の Dynamics.set ファイルでサードパーティ製品を無効にするか、追加の製品を一時的に無効にする方法」を参照してください。

解決策 4 (GP 20488 または 20957 で DBMS エラーが発生する可能性があります)

GL 作業テーブル間の情報に一貫性がありません。 次のスクリプトを会社のデータベースに対して実行し、両方のテーブルでこのバッチのレコードを確認します。 両方のスクリプトからレコードを取得しない場合は、テーブル全体を確認して、バッチ番号フィールドが 1 つのテーブルに空白ではないことを確認します。 BACHNUMB は、このバッチの両方のテーブル間で同じである必要があります。

GL10001には、このバッチ内のトランザクションのレコードが含まれている必要があります。

select * from GL10000 where BACHNUMB = 'xxx'
select * from GL10001 where BACHNUMB = 'xxx'
--update the xxx placeholder with the GL batch name and run against the company database.

解決策 5 (KB 860710 から GP 20486 の DBMS エラーが発生する可能性があります)

ユーザーが GL 作業テーブルの GP アクティビティ テーブルでスタックしている可能性があります。

  1. Dynamics GP のすべての企業からログアウトするようにすべてのユーザーに依頼します。

  2. すべてのユーザーが Dynamics GP から外れている場合、これらのテーブルは空である必要があります。

    SELECT * FROM DYNAMICS..ACTIVITY
    
    SELECT * FROM DYNAMICS..SY00800
    
    SELECT * FROM DYNAMICS..SY00801
    
    SELECT * FROM TEMPDB..DEX_LOCK
    
    SELECT * FROM TEMPDB..DEX_SESSION
    
  3. 返されたアクティビティを削除するには、次のスクリプトを実行します。

    DELETE DYNAMICS..ACTIVITY
    
    DELETE DYNAMICS..SY00800
    
    DELETE DYNAMICS..SY00801
    
    DELETE TEMPDB..DEX_LOCK
    
    DELETE TEMPDB..DEX_SESSION
    

解決策 6 (GP 229 の DBMS エラーが発生する可能性があります)

エラー メッセージの 229 リファレンスは、アクセス許可の問題を示しています。 会社データベースと Dynamics データベースの両方に対してgrant.sql スクリプトを実行します。 (grant.sql スクリプトは、GP コード フォルダー SQL|UTIL フォルダー)