私は、維持管理を開始するはずのOracle 6iアプリケーション(あまりにも古い)のすべてのフォーム、レポート、ライブラリ、およびメニューをコンパイルするスクリプトを作成しようとしていますが、 .mmbファイルのコンパイルに失敗したにもかかわらず、frmcmpがまだ0を返すように見えます。フォームをコンパイルするfrmcmpの終了ステータスは0であってはなりません
は、例えば、私が持っている:
for i in
検索を。 -name '* .fmb' | awk -F。 '{print $ 2}' do frmcmp userid=user/[email protected] batch=yes module=/path$i.fmb module_type=form output_file=/path$i.fmx compile_all=yes window_state=minimize 2> errorcomform.log if [ ${?} != 0 ] then echo -e "${FALLA}FAILED${NORMAL}" fi done
コンパイルに失敗した場合、$ {?}は1を返します。しかし、私が試してみると、
for i in
が見つかりました。 -name '* .mmb' | awk -F。 '{print $ 2}' do frmcmp userid=user/[email protected] batch=yes module=/path$i.mmb module_type=menu output_file=/path$i.mmx compile_all=yes window_state=minimize 2> errorcomform.log if [ ${?} != 0 ] then echo -e "${FALLA}FAILED${NORMAL}" fi done
唯一の大きな違いはmodule type=form
の値がmenu
に変更されていることです。
また、errorcomform.log
には何も書かれていません。
エラーを生成するには、他のファイル(.mmxやテキストファイルなど)を取得し、.mmbに変更してfind
が見つかるようにします。 .mmxファイルは生成されませんが、frmcmpはまだ0を返していて、エラーメッセージを表示していないようです。
誰かがこれに手がかりを持っていますか?それは時代遅れの技術なので、Googleは多くの応答を与えていません。
ありがとうございます。
私はそれを見ることができませんでした。私はfrmcmpから正しい価値を得ることに夢中になった。 – varrtto