BHT-BASIC4.0:データファイルのFIELD文での注意点

私事なのですが、最近収めたシステムで客先より 「エラーコードが3DHが表示されてデータが登録できない」との連絡在りました。  3DH のエラーコードの内容は取説より

「3Dh:FIELD ステートメントで指定されたフィールド幅が、ファイルと異なっています。」
とのこと、こちらでいくら再現しようとしてもエラーが発生しませんでした。

そこで客先で該当するデータファイルの情報をシステムメニューから表示してもらったところ、 データファイルのフォーマットが昔のままで、そのためにエラーが発生している様でした。
(最初に納入したプログラムで動作させてそのままにしておいて、 フォーマットが変更された最新のプログラムを動作させて為に発生しました)

この FIELD命令 ですが、 既に存在するファイルと違っている場合に新しい  FIELD命令 では機能せずにエラーが発生します。

以下に FIELD命令  でエラーが発生するソースを記します。 最初の FIELD命令 で作成された 「TEST.DAT」は2個のカラムを持っていますが、 2度目の FIELD命令 でエラーが発生します。

このプログラムを実行すると以下の画面になります。 060700001h
エラーコードが「3D」で、  FIELD命令 でのエラーであることがわかります。

データファイルのフォーマットが変更された場合には、 手動でハンディターミナル内部の該当ファイルを削除するか、 もしくは、プログラムで判定して削除してから、 再度の FIELD命令 を行う必要があると思います。

■関連記事
BHT-BASIC:DENSOのハンディターミナルの開発言語のBHT-BASIC4.0を使ってみた
BHT-BASIC4.0:変数宣言の書き方(BHT-1300)
BHT-BASIC4.0:変数宣言の書き方その2(BHT-1300)
BHT-BASIC4.0:ユーザ定義関数について(BHT-1300)
BHT-BASIC4.0:演算子について(BHT-1300)
BHT-BASIC4.0:画面への表示について(BHT-1300)
BHT-BASIC4.0:キー入力について(BHT-1300)
BHT-BASIC4.0:数値用キー入力関数(ユーザ定義関数)について(BHT-1300)
BHT-BASIC4.0:ユーザ定義関数の値渡し・参照渡しについて(BHT-1300)
BHT-BASIC4.0:文字列を扱うユーザ定義関数について
BHT-BASIC4.0:文字列を扱うユーザ定義関数についてその2
BHT-BASIC4.0:文字列を扱うユーザ定義関数についてその3
BHT-BASIC4.0:TeraTermを使ってDENSOのハンディターミナルにファイル(プログラム)転送を行う方法
BHT-BASIC4.0:I/OポートとWAIT、さらにTIMERについて(BHT-1300)
BHT-BASIC4.0:データファイルの取り扱いについて(BHT-1300)
BHT-BASIC4.0:データファイルの取り扱いについてその2(書込み・読込みの実用的な関数)
BHT-BASIC4.0:データファイルの検索について(SEARCH関数)
BHT-BASIC4.0:ユーザ関数の引数の仮変数に対する代入の注意点
BHT-BASIC4.0:データファイルの削除等について(KILL、CLFILEのラッパ関数)
BHT-BASIC4.0:ファイルの存在確認関数を作ってみました
BHT-BASIC4.0:拡張関数のバイナリサーチ処理関数(BSEARCH.FN3)の使い方
BHT-BASIC4.0:拡張関数のサーチ処理関数(SEARCH.FN3)の使い方
BHT-BASIC4.0:簡単なメニュー表示・選択を行うユーザ関数について
BHT-BASIC4.0:ファイル伝送におけるXFILE命令の使い方
BHT-BASIC4.0:バーコードの読込み(バーコードスキャン)について
BHT-BASIC4.0:Bluetoothデバイスアドレス取得等について
VB.NET:ハンディターミナル(BHT-1300等)とのデータファイルの送受信について


楽天市場


中古パソコン 【Windows7】 [T14B] 東芝 dynabook R731/B Core i5 2520M 2.5GHz 2GB 250GB 13.3ワイド DVD Multi Win7 Pro 【中古ノートパソコン】【ノートパソコン】【PC】【アウトレット】【中古】【1ヶ月保証】【RCP】【おすすめ】

価格: 20,800円
(2016/11/24 11:18時点 )

感想:1件

コメント(2)