最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

2.27.ライン入力のポイント

[ Previous ] [ HOME ] [ Upper ] [ Next ]


はじめに

このライン入力は、ロールアップをしなくてもいいので、一気に大量のデータを入力する必要がある場合に有効です。例えば、売り上げ報告書をみながら入力したり、オーダーシートを見ながら入力したり。この時、なるべく入力項目はテンキー部分だけでできるようにすべきです。ブラインドタッチでもっとも早く入力できるのは、テンキー部分です。さらに、ライン入力中エラーがあれば、ビープ音(ALARM)を鳴らしてください。最後に、必ず自分で、ボリュームテスト(実際に自分で大量データを入力)して、自分の感性を信じて、最も効率がいいものを作ってください。なるべく、入力のリズムができるような画面構成が、望ましいと思います。ここは、あなたの腕の見せ所です。

画面の構成

画面の上半分

入力されたデータの記録、表示部分。

ここに表示されたデータを、ファイルに書き出してから表示するのか、ファイルに書き出さずにサブファイルに表示して、あとで一気に書き出すかは、プログラマーの好みでしょうが、私は、後者を使います。レスポンスがいいのは、後者でしょう。また、入力上は、コード325と入力して、サブファイル上には、コードマスタからテキストを取り出し表示することもできます。この時、コードが入りきらない場合は、ヒドンとしてコードを保持して、テキストのみ表示すれば、行修正やデータ書き出しの時に便利です。

画面の下半分

データのエントリ部分(ライン入力部分)。

ここに、データを入力します。入力したデータは、画面上部のサブファイルに行番号とともに表示されます。この行番号を指定すると、ライン入力部分に、その内容をひっぱてきて、修正できるようにします。この行修正用のフィールドは、通常の追加入力の時には不要なので、カーソルの初期の場所からはずします。その方が入力が速くなります。また、ライン入力行の最後のフィールドには、CHECK(ER)を付けておくと、最後のフィールドで、改行キーを押せば、実行キーと同じになり、さらに入力がやりやすくなります。

処理の流れ

このライン入力型のプログラムの処理の概要は、以下のようになります。

  1. データベースから、データをサブファイル部分にロード(パターン1型;全件ロード)する。
  2. ライン入力開始
  3. ライン入力されたら、ラインフィールドからサブファイルへ転送して、サブファイルレコードをWRITEする。
  4. ライン修正を要求されたら、サブファイルより、該当するサブファイルレコードにCHAINして、サブファイルからラインフィールドに転送して、修正画面を出す。修正完了したら、ラインフィールドからサブファイルへ転送して、サブファイルレコードをUPDATEする。
  5. 入力が完了したら、サブファイルの内容を元に、データベースに書き込む。

 

ところで、入力全般に言えることですが、追加更新削除をする場合は、必ず、複数のオペレータが同時に同じデータを対象にする場合を考慮してください。 

例えば、レコード追加の時、キー生成をデータベースやデータエリアから、自動的に符番することで、複数のオペレータによる、キーの重複を避けることができます。たいてい、同じ物を入力してしまうのは、業務上のミスです。ミスはミスとして、完全に排除できる手段を持つか、しっかり訂正できる方法を提供せねばなりません。

 また、自動的ではなく、キーを自分で入力したいという頑固なユーザーには、そのキー付きファイルをユニークにして、WRITE命令でエラー標識をみたり、WRITE前にSETLLなどで同一キーを検査して対応します。ただし、入力される業務上のユニークなキーを信頼せずに、あくまでシステム内部の番号(9桁くらいの数字キーで、0リセットしない)をキーにして、このシステム番号を、自動的に符番することで、データのユニーク性を保持する方法もあります。この場合、入力するキーは、ファイル上ではキーというよりも、重複できない、ただのデータの属性に過ぎなくなります。例えば、業務上、最初は連番をずっと続ける約束だったのが、話が変わって、キー連番を年毎にする(年毎に1から開始する)ことになってしまった場合、2年分を参照すると、キー「0001」番が2つになってしまいます。本来、こんなことは設計の時点できっちりしてもらわないと困るのです。(年+連番をキーにすべきだった。)でも、システム連番は、画面や帳票に出さない、内部ユニークキーなので、2つの「0001」を、分離して扱えます。(オペレータは不思議がるのですが。)「絶対に同じ番号を入力しない」と 、ユーザーがうけあっても、「あの話は変わった」の一言で変わってしまうこともあります。(ほっといて、青くさせて、学習させるのも大事ですが。ふ、ふ、ふ。)そんな不確かなものを、システムの保全に利用したくない場合に、システム番号を採用しています。 

また、更新や削除も、同じデータを2人同時にすることもありえます。排他ロックをして、ロックメッセージを出してあげるのが、ベストです。ここに掲げた、RPGソースにはこの制御が入っていません!気を付けてください。

それから、入力の場合、大量データを早く入力すべきなのか、一件一件をじっくり入力するかで、多少プログラムも変わってきます。後者は、複数レコードを入力するサブファイルは、あまり薦めません。  

 

[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送