PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
18029 | 02/08/23 13:47:30 | RE(2):PB7.0: FileOpen関数の戻り値について By TTTK |
18028 | 02/08/23 12:47:03 | RE(1):PB7.0: FileOpen関数の戻り値について By mtosi2 |
18027 | 02/08/23 12:39:01 | PB7.0: FileOpen関数の戻り値について By mtosi2 |
カテゴリ:スクリプトの記述
日付:2002年08月23日 12:39 発信者:mtosi2
題名:PB7.0: FileOpen関数の戻り値について
いつもお世話になっております。
ちょっと教えてほしいことがありまして書き込みさせていただきます。
PBからDOSバッチファイルをRUN関数でキックしている処理があります。
DOSバッチの中身はUNIXサーバから RSHコマンドを発行し、環境変数値を
grepしてくるという処理です。
rsh %ノード名% -l %ユーザ名% \"(. $HOME/.profile;env | grep ENV_DIR_ID | sort)\" >> a.txt
取得した値をそのまま a.txtに吐き出しています。
PB側では この作成されたa.txtをOPENし、値を読込むのですが、
DOSバッチ起動後、すぐに次処理へ
ながれないように ファイルのIOの監視をするように書きました。
run関数実行後の処理
DO
sleep(1)
li_filenum1 = fileopen(ls_nodefile)
IF li_filenum1 <> -1 THEN
lb_rtn = true
END IF
li_loop ++ ;
LOOP WHILE ((lb_rtn = false) AND (li_loop <= 60))
IF lb_rtn = true THEN
IF FileClose(li_filenum1) <> 1 THEN
messagebox(\"ファイル操作エラー\",\"ファイルクローズに失敗しました。\",StopSign!,OK!)
halt;
END IF
IF FileLength(ls_nodefile) <= 0 THEN
messagebox(\"ファイル取得エラー\",\"ファイル取得に失敗しました。\",StopSign!,OK!)
halt;
END IF
li_filenum1 = FileOpen(ls_nodefile)
IF li_filenum1 = -1 THEN
messagebox(\"ファイル操作エラー\",\"ファイルオープンに失敗しました。\",StopSign!,OK!)
halt;
END IF
ELSE
messagebox(\"ファイル操作エラー\",\"ファイル読込みタイムアウトが発生。\",StopSign!,OK!)
halt;
END IF
FILEOPEN関数の戻り値が-1の間ループさせ 正常時には抜けるようにしています。
書き込み長くなるのでここでいったんきります。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS HP-UX
DBMS Oracle 7.2
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.