"いいえ。 [Credit_Card_Number] は既に期限切れです" というエラー メッセージ:Microsoft Dynamics NAV 2009 R2 でクレジット カードの有効期限が現在の月にある場合、販売注文のクレジット カードを選択するとエラー メッセージが表示される

適用先
Dynamics NAV 2009 R2

この記事は、すべての国とすべての言語ロケールの Microsoft Dynamics NAV 2009 に適用されます。

現象

Microsoft Dynamics NAV 2009 R2 で販売注文のクレジット カードを選択しようとするとします。 クレジット カードの有効期限が現在の月にある場合は、次のエラー メッセージが表示されます。

いいえ。 Credit_Card_Number は既に期限切れです。

ただし、クレジット カードは、有効期限が切れた月の最終日または翌月の最初の日に有効期限が切れる必要があります。

解決策

修正プログラムの情報

サポートされている修正プログラムが Microsoft から入手できるようになりました。 ただし、この記事で説明されている問題を修正することのみを目的としています。 この特定の問題が発生しているシステムにのみ適用します。 この修正プログラムは、追加のテストを受け取る場合があります。 したがって、この問題の影響を大きく受けない場合は、次の Microsoft Dynamics NAV 2009 Service Pack またはこの修正プログラムを含む次の Microsoft Dynamics NAV バージョンを待つことをおすすめします。

注 特別なケースでは、Microsoft Dynamics および関連製品のテクニカル サポート プロフェッショナルが特定の更新プログラムによって問題が解決されると判断した場合、通常はサポート呼び出しに対して発生する料金が取り消されることがあります。 ただし、特定の更新プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。

            
          

インストール情報

Microsoft は、明示または黙示の保証なしで、説明のみを目的としてプログラミング例を提供しています。 これには、商品性または特定の目的への適合性に関する暗黙の保証が含まれますが、これらに限定されません。 この記事では、デモンストレーションされているプログラミング言語と、プロシージャの作成とデバッグに使用されるツールについてよく理解していることを前提としています。 マイクロソフト サポート窓口では、特定のプロシージャの機能説明に関するご質問に対して支援いたしますが、本例を特定の目的を満たすために機能を追加したり、プロシージャを構築することは行いません。

注 この修正プログラムをインストールする前に、すべての Microsoft Navision クライアント ユーザーがシステムからログオフされていることを確認します。 これには、Microsoft Navision Application Services (NAS) クライアント ユーザーが含まれます。 この修正プログラムを実装するときにログオンする唯一のクライアント ユーザーである必要があります。

この修正プログラムを実装するには、開発者ライセンスが必要です。

[Windows ログイン] ウィンドウまたは [データベース ログイン] ウィンドウのユーザー アカウントに "SUPER" ロール ID を割り当てることをお勧めします。 ユーザー アカウントに "SUPER" ロール ID を割り当てることができない場合は、ユーザー アカウントに次のアクセス許可があることを確認する必要があります。

  • 変更するオブジェクトの [変更] アクセス許可。
  • システム オブジェクト ID 5210 オブジェクトとシステム オブジェクト ID 9015 オブジェクトの Execute アクセス許可。

                
メモ データ修復を実行する必要がない限り、データ ストアに対する権限は必要ありません。

コードの変更

メモ 運用環境のコンピューターに修正プログラムを適用する前に、制御された環境でコード修正を常にテストします。
この問題を解決するには、DO Payment Mgt. codeunit (825) の CheckCreditCardData 関数のコードを次のように変更します。

既存のコード

...
IF IntValue1 = IntValue2 THEN BEGIN
  EVALUATE(IntValue1,FORMAT(TODAY,0,'<Month>'));
  EVALUATE(IntValue2,COPYSTR(CreditCard."Expiry Date",1,2));

// Delete the following line.
  IF IntValue1 >= IntValue2 THEN
// End of the line.

    ERROR(Text006,CreditCardNo,CreditCard.FIELDCAPTION("No."));
END;
...

置換コード

...
IF IntValue1 = IntValue2 THEN BEGIN
  EVALUATE(IntValue1,FORMAT(TODAY,0,'<Month>'));
  EVALUATE(IntValue2,COPYSTR(CreditCard."Expiry Date",1,2));

// Add the following line.
  IF IntValue1 > IntValue2 THEN
// End of the line.

    ERROR(Text006,CreditCardNo,CreditCard.FIELDCAPTION("No."));
END;
...

前提条件

この修正プログラムを適用するには、Microsoft Dynamics NAV 2009 R2 がインストールされている必要があります。

アンインストール情報

この修正プログラムを削除することはできません。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

注: この資料は、"迅速な公開" を目的としてマイクロソフト サポート組織により直接作成されたものです。 ここに含まれる情報は、新しい問題に対応するため、そのままの状態で提供されます。 情報を迅速に公開するため、この資料には誤植などが含まれる可能性があり、また、予告なく改訂される場合があります。 その他の注意事項については、使用条件を参照してください。