2017-08-30 15 views
0

私は、維持管理を開始するはずの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は多くの応答を与えていません。

ありがとうございます。

答えて

1

.fmxファイルまたは.mmxファイルまたは.plxファイルがあるかどうかを確認するだけです。 これが当てはまらない場合は、コンパイルが失敗したとみなすことができます。

このようにしても非常にうまく動作します。

+0

私はそれを見ることができませんでした。私はfrmcmpから正しい価値を得ることに夢中になった。 – varrtto

関連する問題