■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
ソースをスクリプト実行すると「!」ビックリマークが消える 2023/04/10 14:58 OB 6
バージョン:23.0.1.0を使用しております。

「!」ビックリマークが使用されたソースをVer.23でスクリプト実行すると「!」が消えてしまいます。

試しに以下の様に記述したIF文をVer.23でスクリプト実行すると「'」で囲まれた中の「!」が消えてしまいます。
・IF文のnot=の意味で使用した「'」で囲んでない「!」は消えません。
・「!」を2つ記述した場合は1つは消えずに残っています。
  →「!」がエスケープ文字のような動きに見えます。

【ソースの状態】
IF w_tky1_vc != '
OBサポートです。

■スクリプト実行時に特殊文字が削除される事象
お問い合わせ頂いた事象につきまして、
ご指摘いただいた通り、最新バージョンのver.23にて再現を確認いたしました。

「!(エクスクラメーションマーク)」を含む文字列と含まない文字列についての文字列比較を行った際に、新旧バージョン間で動作の差異があったことに加えて、スクリプト実行画面は最新バージョンでリニューアルを実施したことを加味して、バージョンアップ時における事象の再発が起きた可能性が高いと考えらえます。

本件、大変ご不便ご迷惑をおかけしてしまい、誠に申し訳ありません。

■事象の回避について
スクリプト実行の内部処理においてSQL文の整形が行われているため、
現状はスクリプト実行画面上での事象回避を行うことができません。

誠に恐れ入りますが、以下の方法にて事象の回避をお願いできますと幸いです。
・SQL実行画面にスクリプトファイルをドラック&ドロップ→実行
・SQL*Plusなどの標準ツールで別途実行

本事象は、別途開発側で詳細な原因を調査の上、
改善を検討させていただきます。

大変ご不便ご迷惑をおかけしてしまい、誠に申し訳ありません。
何卒よろしくお願い申し上げます。
早々にご回答頂きありがとうございます。
改善をご検討頂けるとのこと、よろしくお願い致します。

なお、本事象と同様の原因かは定かではありませんが、以下の様な
不具合と思われる様な動作が確認できましたので追加でご連絡致します。

プログラム内で動的SQLを生成する目的で次の様に記載したソースをVer.23で
開いてコンパイルを実行した後にVer.14で開くと改行が余分に入った状態に
なってしまいます。
ただ、Ver.23で表示すると改行はされずに元と同じように見えます。

「'」で囲まれた中の改行が余分に入ってしまうような現象です。

恐れ入りますが、併せてご確認のほどよろしくお願い致します。

【元のソース】
------------------------------
-- 参照用VIEW作成
------------------------------
EXECUTE IMMEDIATE
'CREATE VIEW V_GENKAFILE' || NEW_KI_STR ||
'(
aaaa,
bbbb,
cccc
) AS SELECT
AAAA,
BBBB,
CCCC
FROM TBL_GENKA_FILE' || NEW_KI_STR
||'
WHERE KAISYA_CD = 1'
;

【Ver.23でコンパイル後にVer.14で表示】
------------------------------
-- 参照用VIEW作成
------------------------------
EXECUTE IMMEDIATE
'CREATE VIEW V_GENKAFILE' || NEW_KI_STR ||
'(

aaaa,

bbbb,

cccc

) AS SELECT

AAAA,

BBBB,

CCCC

FROM TBL_GENKA_FILE' || NEW_KI_STR
||'

WHERE KAISYA_CD = 1'
;
OBサポートです。

■改行を含む「'(シングルクウォート)」で囲まれた文字列の動作について
お問い合わせ頂いた事象につきましても、
ご指摘いただいた通り、ver23 -> ver.14において同一の動作を確認いたしました。
※他のバージョンでも比較を行ったところ、正確にはver.23 -> 21にかけて
 事象の再現を確認いたしました。

【再現ケース】
改行を含む文字列を「'(シングルクウォート)」で囲ったブロックについて、
余計な改行が挟まるような動作となっておりました。
→改行を挟まない、もしくは改行を挟む際には明示的にシングルクウォートで閉じたブロックとして定義した際には事象の再現はされませんでした。
例)
〇再現するケース
'aaa,
bbb,
ccc
'

〇再現しないケース
'aaa,' ||
'bbb,' ||
'ccc'

または、

'aaa, bbb, ccc'

■原因について
本事象は、ver.23におけるコンポーネント差し替えに伴って発生している可能性がございますが、
サードパーティ製のコンポーネントを利用しているため、厳密な原因特定には現状至っておりません。
本件、大変ご不便ご迷惑をおかけしてしまい、誠に申し訳ありません。

「!」が消える事象と併せて、開発側で詳細な調査を検討させていただきます。

何卒よろしくお願い申し上げます。
ご回答ありがとうございます。

改行が崩れる件は回避策も無いため、現在古いバージョンを再インストールし直して
業務にあたっております。

恐れ入りますが、一日も早いご対応をお願い致します。
[NG]
>改行が崩れる件は回避策も無いため、現在古いバージョンを再インストールし直して
>業務にあたっております。
>
>恐れ入りますが、一日も早いご対応をお願い致します。

いつもお世話になっております。

本件、不具合の確認を頂いてから1.5ヶ月が経過致しますが、その後のご対応状況は
どのようになっていますでしょうか。

現在も古いバージョンを利用しており、これでは新しいバージョンを購入した意味が
ございませんので、早急にご対応頂けます様よろしくお願い致します。
OBサポート様

お世話になっております。

本件、4月13日に不具合である旨のご回答を頂いてからその後対応の見込みなどのご連絡を頂けておりません。
購入したバージョンを使用できずにおりますので、有効な回避策もしくはご対応のほどよろしくお願い致します。