Microsoft Dynamics GP の [給与計算チェックのビルド] ウィンドウでバッチを選択するとエラー メッセージが表示される

この記事では、Microsoft Dynamics GP の [給与計算チェックのビルド] ウィンドウでバッチを選択したときに発生するエラーの解決策について説明します。

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

現象

Microsoft Dynamics GP の [給与計算チェックのビルド] ウィンドウでバッチを選択すると、次のいずれかのエラー メッセージが表示されることがあります。

エラー メッセージ 1

エラー - "レコード長が正しくないUPR_Temp_Post2に対するオープン操作"

エラー メッセージ 2

エラー - "テーブル ddDeposits の範囲の削除操作によって既知のエラー 2 が発生しました"

エラー メッセージ 3

エラー - "トランザクションが 0 のバッチをマークできません"

エラー メッセージ 4

エラー - "別のユーザーがチェック実行を実行しています"

エラー メッセージ 5

エラー - "UPR_WORK_POST SQL データへのアクセスに失敗しました"

エラー メッセージ 6

エラー - "従業員レコードを無効にできないか、削除された支払実行がこの従業員に対して進行中です"

エラー メッセージ 7

エラー - "チェックを計算できません。 エラーが見つかりました。

エラー メッセージ 8

エラー - "チェックを無効にすることはできません。 実行チェックコンピューターが処理中です。

エラー メッセージ 9

エラー - "転記対象としてマークされたバッチを編集できません"

エラー メッセージ 10

エラー - "バッチは転記対象としてマークされており、編集できません" です。

さらに、給与計算バッチがスタックしていることを示すために、次のいずれかのファイルで Open Operation エラー、Get/Change エラー、または Save Operation エラーが発生する可能性があります。

  • UPR_WORK_MSTR
  • UPR_WORK_MSTR_Detail
  • UPR_WORK_HDR
  • UPR_WORK_Pay_Type
  • UPR_WORK_Deduction
  • UPR_WORK_Benefit
  • UPR_WORK_State_Tax
  • UPR_WORK_Local税
  • UPR_WORK_Check
  • UPR_WORK_Post
  • UPR_Flat_Tax_Records
  • UPR_Account_Cache

原因

この問題は、給与計算作業テーブルがクリアされていない場合に発生する可能性があります。 バッチをリリースするには、給与計算作業テーブルをクリアする必要があります。

解決方法

注:

この記事の手順に従う前に、問題が発生した場合に復元できるデータベースの完全なバックアップ コピーがあることを確認してください

この問題を解決するには、次の手順を実行します。

手順 1: 給与計算作業テーブルのレコードを削除する

  1. SQL Server Management Studio (SSMS) を使用して Microsoft SQL Server を開きます。

    SQL Server Management Studioを開始するには、[スタート] を選択し、[すべてのプログラム>] [Microsoft SQL Server 2008] をポイントし、[SQL Server Management Studio] を選択します。

  2. 会社データベースに対して delete ステートメントを実行します。

    注:

    スクリプトの最初の 2 行は、Dynamics データベース内のアクティビティ ファイルの内容を削除します。 他の行では、会社データベース内の作業ファイルとアクティビティ ファイルの内容が削除されます。

    Delete DYNAMICS..UPR10300
    Delete DYNAMICS..UPR10304
    Delete UPR10200
    Delete UPR10201
    Delete UPR10202
    Delete UPR10203
    Delete UPR10204
    Delete UPR10205
    Delete UPR10206
    Delete UPR10207
    Delete UPR10208
    Delete UPR10209
    Delete UPR10213
    Delete UPR19900
    Delete UPR19901
    
  3. 直接入金を使用する場合は、Direct Deposit Work テーブルに対して次の削除ステートメントを実行します。

    Delete DD10100 --(Direct Deposit Employee Deposit Work)
    

手順 2: 一時ファイルを削除する

一時ファイルを削除するには、Windows エクスプローラーを開き、一時ディレクトリを選択します。 一時ディレクトリには、次のパスがあります。

C:\Windows\Temporary

ディレクトリで、TNT で始まるファイルを削除します。 次に、.tmpファイル名拡張子を持つファイルを削除します。

[リンク] をオンにすると、テーブル間のデータのリンクがチェックされ、データの整合性が確保されます。 これを行うには、次の手順に従います。

  1. [チェック リンク] ウィンドウを開きます。 Microsoft Dynamics GP で、[ Microsoft Dynamics GP] を選択し、[ メンテナンス] を選択し、[ リンクの確認] を選択します。
  2. [ 系列 ] の一覧で、[ 給与計算] を選択します。
  3. [論理テーブル] の一覧で、[給与計算トランザクション] を選択し、[挿入] を選択し、[OK] を選択します
  4. [レポートの宛先] ダイアログ ボックスで、適切なチェック ボックスを選択し、[OK] を選択します

注:

エラー ログに表示されるエラー メッセージは無視しても問題ありません。 リンクの確認プロセスは、バッチ ID を既存のトランザクションに再アタッチしています。

バッチが定期的なバッチである必要があり、リンクの確認プロセスによって再構築された場合、バッチ頻度は既定で 単一使用 に設定されていました。 [ トランザクション] を選択し、[ 給与計算] を選択し、[ Batches] を選択し、再作成された Batch ID を 選択して、Batch 設定を確認します。 定期的なバッチである必要がある場合は、頻度を [単一使用] 以外の [頻度] に変更します。

手順 4: チェック ファイルをビルドする

チェック ファイルをもう一度ビルドします。 すべてのバッチは引き続きチェックファイル内にあります。

一般的な質問:

Q1:給与計算バッチ全体を削除してやり直したくありませんが、上記の手順に従う必要がありますか?

A1: はい。給与計算バッチ内のトランザクションは 、UPR10302 給与計算トランザクション テーブルに格納されており、上記のスクリプトでそのテーブルを削除していないため、トランザクションは削除されません。 スクリプトは バッチヘッダー レコード (UPR10301) のみを削除し、 チェックリンクを実行すると、そのバッチ ヘッダー レコードが再度再作成されます (トランザクションにまだ表示されるため、再作成されます)。

Q2:新しいバッチを投稿して消えました。 定期的なバッチである必要があります。

A2: チェックリンクを実行してバッチをリビルドすると、既定で 1 回の使用頻度でビルドされます。 定期的なバッチである必要がある場合は、転記する前にバッチ頻度を編集する必要があります。 バッチを転記した場合、今は遅すぎます。 バッチ/トランザクションを手動で再度キー入力し (必要な次の転記日から開始)、今後使用する新しいバッチの頻度を変更する必要があります。