このプログラムはInformix 4GLを使用しています。目的は、レポートを削除することです。実際はうまくいきますが、特定のユーザーだけがレポートの物理ファイル(管理者を意味します)を削除できるという問題があります。他のユーザーはデータベース内のレポートを削除できますが、物理パスは削除できません。だから私は構文コマンドrm -f
のエラーをキャッチする必要があります。 WHENEVER ERRORを使用しようとしましたが、それをキャッチできませんでした。誰もそれを行う方法を知っていますか?これは、レポートを削除するためのコードです:informixのキャッチエラー
DELETE FROM sysrpt
WHERE srpt_seq_no = p_sysrpt.srpt_seq_no
LET sel_rpt_id = ""
LET sel_rpt_id = p_sysrpt.srpt_pgm_id CLIPPED, ".",
p_sysrpt.srpt_seq_no USING "<<<<<<"
LET sel_rpt_id = sel_rpt_id CLIPPED
LET prt_comand = "\\rm -f ", rpt_path CLIPPED, sel_rpt_id CLIPPED
LET prt_comand = prt_comand CLIPPED
RUN prt_comand
議論されている言語はInformix-4GLまたはI4GLです(または、あまりにも多くのサークルでは4GLだけですが、常にそう思われます)。 –