次の方法で共有


保管単位の小数点以下の最大数は 0 です

現象

在庫トランザクションまたは在庫予約を転記しようとすると、次のエラー メッセージが表示されます。

保管単位の小数点以下の最大数は 0 です。

この問題は、在庫トランザクション数量が、フィールドでサポートされている有効桁数を下回る 10 進値として指定されている場合に発生します。 たとえば、在庫トランザクションに対して 0.5 の数量が指定されていますが、サポートされているのは整数の数量のみです。 そのため、値は 0.5 ではなく 1 にする必要があります。

解決方法

  1. SQL Server インスタンスで次のスクリプトを実行して、在庫トランザクションの数量を丸めます。 このスクリプトは、 inventTrans テーブルの値を修正します。

    update it set it.QTY = round(it.qty, decimalPrecisionValue) from inventtrans it where it.DATAAREAID='XXXX' and it.PARTITION=XXXXXX and it.qty <> round(it.qty, decimalPrecisionValue) and exists (select 'x' from INVENTTABLEMODULE a, unitofmeasure b where  a.unitid =b.SYMBOL and a.partition=it.partition and a.PARTITION=b.PARTITION and  MODULETYPE =0 and  b.DECIMALPRECISION=decimalPrecisionValue and a.DATAAREAID='XXXX' and a.ITEMID =it.ITEMID and it.DATAAREAID=a.DATAAREAID)
    
  2. 修正エラー オプションがオンになっている場所で、手動の整合性チェックを実行します。 このチェックにより、 inventSum テーブルの値が修正されます。

重要

運用環境でスクリプトを実行する前に、環境に必要に応じてスクリプトを慎重に編集し、テスト環境でテストしてから、結果のデータを確認することを強くお勧めします。