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

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

よく使うマニュアルです

Wiki

updated on 2004.06.23

3.1.プログラム外部記述

[ HOME ] [ Upper ] [ Next ]


内部記述はきらい

内部記述の場合、バッファーレイアウトはプログラム内部固有となり、

  1. データの一貫性が図れず
  2. バグを誘発しやすく、
  3. また作成されたシステム等のバグの発見が遅れたり、
  4. 『外部記述だから、ファイルのレイアウトにフィールドを追加しても、リコンパイルだけでいい』と言う希望的観測は、出来ません。

そのようなプログラムに限って、結構重要なポジションだったりするものです。仕方無く、また、内部記述を外部記述に変更したりせねばならず、結局手間がかかります。

外部記述の注意点

外部記述でも、全く別個のファイル2つのなかに、同じフィールド名があると、とんでもない事が起きたりします。
ここにFLD1というフィールドが、AAとBBという、関連性のないファイルのなかにあったとします。プログラムは、AAを順次読み込み、その中のデータをもとに、BBにランダムアクセスして、FLD1を出力ファイルMASTERにデータを書き込むとします。すると、出力ファイルMASTERの中のFLD1はBBの内容となってしまいます。なぜなら、AAを順次読み込んだ段階では、FLD1はAAの内容だが、BBにランダムアクセスしたあとは、FLD1はBBの内容に上書きされてしまいます。これは、AAとBBを設計した人が別人だと起こりうることで、もしプログラムがたくさんあれば、直すのは手間がかかり不安も残ります。

UPDATE命令

それから、他人のプログラムを読むと、よく50個くらいのフィールドがある中で、たった1文字分の1フィールドを更新する時や、レコードロックを外すのに、わざわざUPDATE命令を使う人がいます。
UPDATE命令では、全ての(変更の不要な)フィールドまでもを更新してしまい、場合によっては、実行にかなり時間やCPUを食うのでやめるべきです。O仕様書に更新したいフィールドのみを記述して、EXCPT命令を使用すべきだと思います。

 

[ HOME ] [ Upper ] [ Next ]

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

 

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