[an error occurred while processing this directive] [an error occurred while processing this directive]


プログラミング
逆引き
クライアントとの通信
VisMでの通信
Factoryでの通信
WebServiceでの通信
CSP (Cache' Server Pages)
Cache'SQL
設定・性能


【広告】









ファイル出力

File Output.

キャシェーは強力な入出力機能を持っています。外部アプリケーションを使うことなくファイルの入出力、ネットワーク入出力、パラレル入出力、テープ入出力などが可能です。

ファイルにグローバルから読み込んだデータを書き出してみます。

ファイルに書き出す場合は、Open, Use それぞれでファイル名を指定して、Writeする必要があります。
動作を確認するためにターミナルだけで実行してみましょう。

まずはデバイスをオープンします。
ここではファイルデバイスをオープンします。

USER> Set file="C:\data.csv"

USER> Open file:"NWS"
 

Openの後にある"NWS"は、ファイルを新規作成し・書き込みモードで開き・ストリームフォーマットで書き出す、というオプションの設定です。

Openコマンドのオプションには次のようなものがあります。

オプション動作
A既存ファイルに追記します
N新規にファイルを作成します
R読み取りを許可します
W書き込みを許可します
Sストリームフォーマットで書き出す
V可変長ファイル
F固定長ファイル
などなど…

続いてファイルに書き出してみます。Use文とWrite文を使います。

USER>Use file Write "12345,67890"
 

ここでは1つの行にUseとWriteを書かないといけません。これは、ターミナルで1行実行するたびにUse文が自動的に実行されて処理が画面に戻るためです。

最後にデバイスを閉じます。Close文を使います。

USER> Close file

USER>

これでdata.csvというファイルが作成されました。

 

ではこの操作をルーチンにまとめてみましょう。データはファイル入出力(入力編)で格納した情報を利用します。

OUT(file)   ; CSVファイル書き出し
     Open file:"NWS"
     Use file
     Set id=""
     For  Set id=$o(^Person(id))  Quit:id=""  Do
     .Write ^Person(id,"name")
     .Write ^Person(id,"address")
     .Write ^Person(id,"birth")
     .Write ^Person(id,"mail"),!
     Close file
     Quit

このような感じになります。このルーチンを 実行すると、引数で指定した場所にファイルが作成されます。このように、データベースからファイルを書き出すのもとても簡単に行うことが可能です。



[an error occurred while processing this directive] [an error occurred while processing this directive]
2013/02/07Update