【iDempiere Lab】在庫移動伝票明細の保管場所を検索した時のデータベースエラー

iDempiere ver12の最終版をPostgreSQL16上で動かしていたら、在庫移動伝票明細の保管場所(From)と保管場所(To)のフィールドでデータベースエラーになるのを確認しました。

このコンテンツではこのエラーの解消法について記載しておきたいと思います。

在庫移動伝票明細
在庫移動伝票明細
エラー
エラー

non-negative only

データベースエラー

ERROR: operator does not exist: numeric = character varying

ヒント: No operator matches the given name and argument types. You might need to add explicit type casts. 位置: 753

これは、PostgreSQL16から暗黙の型変換/型推論の処理に修正が入ったことによるものと思われます。この影響を受けたSQLを使用してる検索ウィンドウは下記の2つです。

JPIERE-0228-4:保管場所(From)検索の検索ウィンドウの修正

修正前

赤線で引いた箇所がPostgreSQLにより数値ではなく文字列として解釈されてしまうことによりエラーになっていると思われます。

修正後

::intで型を明示することによりエラーを回避します。

修正後
修正後

JPIERE-0228-5:保管場所(To)検索の検索ウィンドウの修正

修正前

赤線で引いた箇所がPostgreSQLにより数値ではなく文字列として解釈されてしまうことによりエラーになっていると思われます。

修正前
修正前

修正後

::intで型を明示することによりエラーを回避します。

JPIERE-0582:論理倉庫を活用した在庫移動の経路の記録の最終目的地検索

修正前

赤線で引いた箇所がPostgreSQLにより数値ではなく文字列として解釈されてしまうことによりエラーになっていると思われます。

修正前
修正前

修正後

::intで型を明示することによりエラーを回避します。

関連するコンテンツ

【JPIERE-0228】保管場所検索ウィンドウ

  • JPIERE-0228-4:保管場所(From)検索
  • JPIERE-0228-5:保管場所(To)検索