AS400 から情報を取得し、データベースにデータを挿入するスクリプトを実行しています。
管理コントロール パネルには、いくつかのオーバーライド チェックボックスがあります。これらのボックスをオンにすると、製品テーブルに「1」が設定されます。これにより、送信されるデータをオーバーライドすることができますが、これがチェックされている間は次のようになります。
# check for WEBDB name override flag
if webdb_itm['override_name_and_description'] == '1'
as400_itm[product_map['name']] = webdb_itm['name']
as400_itm[product_map['description']] = webdb_itm['description']
end
# check for WEBDB price sheet sub category override flag
if webdb_itm['override_category'] == '1'
as400_itm[product_map['ps_sub_category_id']] = webdb_itm['ps_sub_category_id']
end
# check for WEBDB as400 sub category override flag
if webdb_itm['override_as_sub_category'] == '1'
as400_itm[product_map['as_sub_category_id']] = webdb_itm['as_sub_category_id']
end
これは SQL ダンプであるため、データベース内のデータが同じであることを確認できます。
override_category tinyint(1) DEFAULT NULL,
override_as_sub_category tinyint(1) DEFAULT NULL,
override_name_and_description tinyint(1) DEFAULT NULL,
これらは 3 つのチェック ボックスで、オーバーライドが '1' であるかどうかを確認するために使用されていることがわかります。
下の 2 つのチェック ボックスは正しく機能しますが、上のチェック ボックスは機能しません。一番上のものをチェックしてスクリプトを実行すると、AS400 からのデータが読み込まれないときに、データが読み込まれます。下の 2 つは正しく機能し、チェックするとデータを無視します。
データベースをチェックして見た1,1,1
ので、すべて問題ないようです。
私が見ていないもののアイデアはありますか?