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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.