Oracle Forms トリガー内で、host コマンドを使用してファイル サーバー上にディレクトリを作成しています。私のコードのこの部分の例は次のとおりです。
HOST ('mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY);
ディレクトリがサーバー上に作成されていない場合は、エラー コードを返す必要があります。追加する必要があるコードの提案はありますか?
ありがとうございました。
Oracle Forms トリガー内で、host コマンドを使用してファイル サーバー上にディレクトリを作成しています。私のコードのこの部分の例は次のとおりです。
HOST ('mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY);
ディレクトリがサーバー上に作成されていない場合は、エラー コードを返す必要があります。追加する必要があるコードの提案はありますか?
ありがとうございました。
実際の OS レベルのエラー コードを探している場合は、運が悪いです。ジェフリー・ケンプからの前述の回答 は、あなたが得る最高のものです。
失敗した場合は、フォームを実際に実行するマシン (通常はアプリケーション サーバー) で HOST ビルトインが実行されることに注意してください。そのため、コマンドはアプリケーション サーバーの特定の OS に対して有効である必要があります。
また、あなたの例で'mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY
は、コマンドmkdir
と文字列の間にスペースがなく、コマンドが失敗する可能性があります。
FORM_SUCCESS
何らかの理由でコマンドが失敗した場合に返さFALSE
れます (ただし、Windows 95 を使用している場合を除きます。その場合でも が返されますTRUE
)。
HOST('...');
IF NOT FORM_SUCCESS THEN
MESSAGE('something went wrong');
END IF;
このステートメント HOST(vCommand || ' > error.txt'); を使用すると、エラー メッセージを取得できます。