Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

トップ  >  #NFCNV

データベースのデータをWindows上のcsv形式ファイルにする

A−VX RDB上のデータをWindows上のcsv形式のファイルにすることができます。
ここで説明する方法は、基本表に対応する複数索引順編成ファイルを見つけて、そのファイルからデータを持ってきます。
仮想表や基本表から直接データを持ってくるとか、一部のデータだけ抽出するといったことをするならば、「ファイル連携機能説明書」に書いてある通り、順編成ファイルを経由して変換出力することになります。

変換するには、前提として、そのデータの詳細情報(テーブル構成、つまり最初に従業員コードが8桁の数字で入っていて、次に社員名が日本語で10文字以内・・・やどの物理ファイルに入っているかというような情報)が必要です。そういう情報がわからないよ、という人は、表定義保守ユーティリティ(#DDM)を使って調べましょう。
下の画面は、表定義保守ユーティリティで表(テーブル)情報を印刷しようとしているところ。
#DDMでテーブル詳細情報を調べる

下の画面は、表定義保守ユーティリティの表(テーブル)の更新画面で見たところ。
#DDMでテーブル詳細情報を調べる

表定義保守ユーティリティでどうすればいいのかは、表定義保守ユーティリティの説明書などを見てください。


A−VX上のZAIKO-DBという名前のデータベースをWindows上のcsv形式のファイルに変換してみます。
表定義保守ユーティリティで、ZAIKO-DBの情報を印刷したものが以下の表です。


+−−−−−−+−−−−−−−−−+−−−−−+−−−−−−−−−+−−−−−−+−−+−−−−−−−−+−−−−−+
|  基本表名|ZAIKO-DB          |物理ファイル名|ZAIKO             |ローカル指定|不可|   桁数モード|標準      |
+−−−−−−+−−−−−−−−−+−−−−−+−−−−−−−−−+−−−−−−+−−+−−−−−−−−+−−−−−+
|基本表の説明|在庫表            | カンパニID|                  |      使用権|    |  表名表示指定|表示      |
+−−−−−−+−−−−−−−−−+−−−−−+−−−−−−−−−+−−−−−−+−−+−−−−−−−−+−−−−−+
| DD登録名|ZAIKO-R           | リビジョン癲03                |      更新権|    |符号無し数字検索|数字      |
+−−−−−−+−−−−−−−−−+−−−−−+−−−−−−−−−+−−−−−−+−−+−−−−−−−−+−−−−−+
| レコード長|0040              |文字コード|内部コード      |             |  更新可否指定|更新可   |
+−−−−−−+−−−−−−−−−+−−−−−+−−−−−−−−−+−−−−−−−−−+−−−−−−−−+−−−−−+

+−−+−−−+−−−−−+−−−−−−−−−+−−−+−+−−−−−+−−+−−−−−+−−−−+−−−−−−+
|  |   |     |                |      |タ|       |繰り|  セキュリティ  | 入  力 | 編集コ―ド |
|番号|レベル| 項 目 名 | 項 目 の 説 明 |桁位置|イ|  桁  数  |    +−−−−−+    +−−−−−−+
|  |   |     |         |   |プ|     |返し|参照|更新|チェック| 入力 |出力|
+−−+−−−+−−−−−+−−−−−−−−−+−−−+−+−−+−−+−−+−−+−−+−−−−+−−−+−−+
|   1|02   |SHO-CODE  |商品コード        | 0001 | N|006 | 00 |    |    |    |        |      | N  |
+−−+−−−+−−−−−+−−−−−−−−−+−−−+−+−−+−−+−−+−−+−−+−−−−+−−−+−−+
|   2|02   |ZAIKOSU   |在庫数            | 0007 | N|008 | 00 |    |    |    |        |      | N  |
+−−+−−−+−−−−−+−−−−−−−−−+−−−+−+−−+−−+−−+−−+−−+−−−−+−−−+−−+
|   3|02   |YOBI1     |YOBI1             | 0015 | C|006 |    |    |    |    |        |      | N  |
+−−+−−−+−−−−−+−−−−−−−−−+−−−+−+−−+−−+−−+−−+−−+−−−−+−−−+−−+
|   4|02   |FILLER    |FILLER            | 0021 | C|020 |    |    |    |    |        |      | N  |
+−−+−−−+−−−−−+−−−−−−−−−+−−−+−+−−+−−+−−+−−+−−+−−−−+−−−+−−+



さっき例示用にテキトーに作ったものです。
中身も20レコード分ぐらいテキトーな値が入っています。

早速変換してみます。

RUNコマンド入力画面で「#NFCNV;」と入力して「ENTERキー」を押します。


ファイル変換ユーティリティが起動しました。
「C/変換」を選択して、「A/A−VX形式→DOS形式」を選択します。


すると下のような変換の画面になります。
「1.A−VX形式ファイル」を選択して、「ENTERキー」を押します。


装置名に「MSD000」、ファイル名にZAIKO-DBの物理ファイル名「ZAIKO」を入力します。
入力したら「確定」のところで「ENTERキー」を押します。


元の画面に戻るので、次に「2.A−VX側フィールドを選択して、「ENTERキー」を押します。


すると下のような画面になります。
1行目のところで「ENTERキー」を押します。


下のような画面になるので、1個目の項目(SHO-CODE)の情報を入力します。
表定義保守ユーティリティで印刷した表を見ると、SHO-CODEのタイプはNで桁数は006と00。なので、タイプは「4.アンパック10進符号なし項目」、整数部桁数は「6」、小数部桁数は「0(省略)」を入力します。
そして「確定」のところで「ENTERキー」を押します。


元の画面に戻るので、2行目を選択して、「ENTERキー」を押します。


同じようにして、残りの3項目を入力してきます。










今回は例として作った表なので、4つの項目しかありませんでしたが、実際はこれが40項目とか50項目とかある訳で入力がたいへんですよね。
毎回実行するならば、自動操作で登録しておいて、バッチ化した方が良いです。

全部の項目を入力したら、「F9キー(PF9キー)」を押します。


「3.DOS形式ファイル」を選択して、「ENTERキー」を押します。


Windowsのどこのフォルダにどんな名前のファイルで出力するか。どんな形式で出力するか、などを入力します。
ここで注意することは、端末(W/Sエミュレータの動いているパソコン)側ではなく、サーバ側のハードディスクにファイルが作られるということです。

今回の例では、ファイル名に「c:\zaiko.csv」と入力します。これでサーバ側のCドライブのルートにzaiko.csvという名前のファイルができます。
ファイル種別は「1.CSV1」にします。オープンモードは「1.排他モード」、フィールドセパレータ文字(区切りの文字)は「1.カンマ(,)」、出力モードは「1.生成モード」を選択します。
ちなみにタイプを「2.CSV2」にすると文字データを「”」で囲まない形になります。
全部選択したら、「確定」で「ENTERキー」を押します。


元の画面に戻りました。
「DOS側フィールド」は今まで入力した情報を元に自動的に設定されるので、入力する必要はありません。
これで一通りの情報を入力しました。全て正しく入力されたことを確認したら、さっそく実行してみましょう。実行するには「実行キー」(PC/WSエミュレータの場合は「F10キー」)を押します。


処理時間はファイルのサイズによります。

処理が終了すると最初の画面に戻るので、作業終了ならば「PF9キー」を押してユーティリティを終了します。


うまくいっていれば、Cドライブのルートにzaiko.csvというファイルができているはずです。
ファイルの中身を見ると下のようになっています。


 1, 100,"ABCDEF","                    "
 2, 80,"123456","                    "
 3, 250,"AAAAAA","                    "
 4, 600,"BBBBBB","                    "
 5, 310,"CCCCCC","                    "
 6, 105,"      ","                    "
 7, 96,"DDDDDD","                    "
 8, 300,"LOCAL1","                    "
 9, 350,"YOBIYO","                    "
 10, 1000,"BIYOBI","                    "
 11, 40,"      ","                    "
 12, 60,"      ","                    "
 13, 80,"      ","                    "
 14, 110,"      ","                    "
 15, 70,"      ","                    "
 16, 60,"      ","                    "
 17, 270,"      ","                    "
 18, 190,"      ","                    "

後はエクセルで加工するなり、何かのソフトに読み込ませるなり、自由に。