製造注文を部分的にクローズしようとすると、"保留中のトランザクション" エラーが発生しますが、このエラーは、在庫または財務バッチが投稿されていない状態で、おそらくバッチ回復 (ルーチン>>Batch Recovery) に入っている可能性が最も一般的ですが、このエラーの一般的な原因は破棄されたトリガーです。 "破棄されたトリガー" とは - 製造終了、部分的、またはそれ以外の場合は、会社テーブル ICGL0102 にジャーナルエントリ情報を書き込みます。 仕訳エントリの投稿が成功すると、ICGL0102 の製造注文行 (選択リスト項目など) が削除されます。 G/L トリガーが削除された場合、これらの行は削除されません。テーブルは拡大し続けています。 この問題は、既に部分的に投稿された製造注文の中止を完了しようとして保留中のトランザクション メッセージが表示された場合に発生します。 完全な製造注文がクローズすると、ICGL0102 のレコードも残されますが、エラーが発生しない順序でそれ以上の投稿は行われません。 最初の手順として、ICGL0102 の内容を、ジャーナル エントリの照会画面 ([照会]>>財務>>ジャーナル エントリ) で見つかったジャーナル エントリと比較して、ICGL0102 行が実際に投稿されたかどうかを判断します。 DBA だけがこれらの手順を実行する必要があります。DBA はシステム上の唯一のユーザーである必要があります (ダイヤルアップも)。 1) SQL Server 7.0 Enterprise Manager (Start=>Programs=>Microsoft SQL Server 7.0=>Enterprise Manager) で、データベース部分 (例: TWO) に移動します。 会社 (TWO など) と DYNAMICS データベースのバックアップを作成します。 SQL Server で、データベースを右クリックし、[&すべてのタスク]、8 &Backup Database.8 2) の順に選択します。SQL Server Enterprise Manager で、会社のデータベース (例: TWO) に移動し、テーブル部分に進みます。 3) テーブル GL10001 を見つけてトリガーを調べる (マウスを 1 回クリックしてテーブルを強調表示し、マウスで右クリックし、=>All Tasks=>Manage Triggers) を選択します。 [&Name8] ドロップダウンで、トリガーが存在するかどうかを&ICGL_TRX_LINE_WORK_DELETE8します。 トリガーがないのは、部分的な製造注文のクローズ問題のソースです。 トリガーが存在する場合は、別の問題があります。 4) 可能であれば、他の会社のデータベース (例: TWO) を検索し、トリガーが存在する場所を見つける (項目 3 の手順に従います)。 トリガーが見つから製造サポートに問い合わせ、電子メールでトリガーを提供します。 トリガーを強調表示してバッファーにコピーします。 5) 注意深く読む ) Microsoft SQL Server 7.0 で、クエリ アナライザーを開きます (Enterprise Manager では、Tools=>SQL Server Query Analyzer)。 [db8 (&) ボックスの一覧で、トリガーが見つからない会社のデータベースを&ICGL_TRX_LINE_WORK_DELETE8。 ウィンドウにトリガーを貼り付け、スクリプトを実行します (緑色の矢印)。 6) 推奨 ) eEnterprise から終了し、サーバーを停止して起動し、eEnterprise を再入力して、新しい製造注文で部分的な製造注文のクローズをテストします。 古い部分的に投稿された製造注文では、引き続きエラーが発生します。 7) 既存の部分的に投稿された製造注文を完了するには、会社のテーブル ICGL0102 の相対行を削除します (Enterprise Manager で会社のデータベースに移動し、テーブル ICGL0102 を検索し、マウスを 1 回クリックしてテーブルを強調表示し、マウスで右クリックし、=>Open Table=>すべての行を返します。左側の列を使用して製造注文行を強調表示し、削除キーを押します)。 上記の問い合わせ画面で、投稿された製造注文の行のみを削除してください。
この記事は TechKnowledge Document ID:5738 でした