この資料は、すべての地域の Microsoft Dynamics AX に適用されます。
現象
Microsoft Dynamics AX 2009 年に発注書を転記すると、次のエラー メッセージが表示されます。
発注書ヘッダー - 更新テーブル (PurchParmSubTable) でレコードを作成することはできません。
この問題は、次の条件のいずれかが true の場合に発生します。
-
すべてのテーブルの「ライフ サイエンス業界向け電子署名監査証跡の設定」の設定を有効にするとします。
-
共通のテーブルのレコードを作成するとします。
-
データベースのログには、PurchParmTable テーブルを設定します。
この問題は、発注書、入庫リスト、梱包明細、および請求書を転記するときに発生します。この問題は、次の製品で発生します。
-
パック 1 のサービスと Microsoft Dynamics AX 2009
-
Microsoft Dynamics AX 2009
解決方法
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。 ただし、この資料に記載されている問題を解決するためのものはのみ。 この特定の問題が発生したシステムにのみ適用してください。 この修正プログラムは、今後さらにテストを行うことがあります。 この問題で深刻な影響を受けていない場合は、次の Microsoft Dynamics AX 2009 の service pack または修正プログラムを含む次のバージョンを待機することを勧めします。 注: 求められのは、上記詳細がトラッカーに明確に文書化されているようにすることまでです。 かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。 ただし、特定の更新プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。
インストール情報
この修正プログラムをインストールする前に、Microsoft Dynamics AX クライアントのユーザーがシステムの電源を記録することを確認します。 この修正プログラムを実装すると、ログオンしている唯一のクライアント ユーザーが必要です。この修正プログラムを実装するには、開発者用のライセンスが必要です。注: 求められのは、上記詳細がトラッカーに明確に文書化されているようにすることまでです。 ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウに Microsoft Dynamics AX の管理者ユーザー ・ グループのメンバーであることをお勧めします。
コードの変更
マイクロソフトはプログラミング言語を使用方法の一例としてのみ提供しており、明示的にも黙示的にも、一切の保証をいたしません。 これには、市場性および特定の目的への適合性に対する黙示的な保証が含まれます。 この資料は、例示されているプログラミング言語やプロシージャの作成およびデバッグに使用するツールについて理解されているユーザーを対象としています。 Microsoft サポート エンジニアは、特定のプロシージャの機能についての問い合わせにはお答えできますが、 ユーザー固有の要件に合わせた機能の追加、プロシージャの作成などの内容変更は行っておりません。 常にテスト コードを修正、管理された環境で適用する前に、運用コンピューターに修正プログラムします。この問題を解決するには、以下の手順実行します。
-
PurchParmSubTable テーブルにinsertメソッドのコードを次のように上書きするには。
public void insert(){ PurchParmSubTable tempPurchParmSubTable; ; select tempPurchParmSubTable where tempPurchParmSubTable.ParmId == this.ParmId && tempPurchParmSubTable.TableRefId == this.TableRefId && tempPurchParmSubTable.OrigPurchId == this.OrigPurchId; if(tempPurchParmSubTable.RecId == 0) { super(); }}
-
PurchParmSubTable テーブル内のcreateFromPurchParmTableメソッド内のコードを次のように上書きするには。
static PurchParmSubTable createFromPurchParmTable(PurchParmTable _purchParmTable, boolean _insert = true){ PurchParmSubTable purchParmSubTable; systemSequence systemSequence; ; ttsbegin; purchParmSubTable.clear(); purchParmSubTable.initValue(); purchParmSubTable.initFromPurchParmTable(_purchParmTable); if (_insert) { systemSequence = new systemSequence(); purchParmSubTable.RecId = systemSequence.reserveValues(1, tablenum(PurchParmSubTable)); purchParmSubTable.insert(); } ttscommit; return purchParmSubTable;}
-
SalesParmSubTable テーブルにinsertメソッドのコードを次のように上書きするには。
public void insert(){ SalesParmSubTable tempSalesParmSubTable; ; select tempSalesParmSubTable where tempSalesParmSubTable.ParmId == this.ParmId && tempSalesParmSubTable.TableRefId == this.TableRefId && tempSalesParmSubTable.OrigSalesId == this.OrigSalesId && tempSalesParmSubTable.subId == this.subId; if(tempSalesParmSubTable.RecId == 0) { super(); }}
注: 求められのは、上記詳細がトラッカーに明確に文書化されているようにすることまでです。 これらのメソッドで、既存のカスタマイズをマージする必要があります。
必要条件
前提条件が必要ではありません。
再起動の必要性
この修正プログラムの適用後にコンピュータを再起動する必要はありません。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。