COBOLの扱うデータの特徴とメンテナンスとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > COBOLの扱うデータの特徴とメンテナンスの意味・解説 

COBOLの扱うデータの特徴とメンテナンス

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/17 23:55 UTC 版)

COBOL」の記事における「COBOLの扱うデータの特徴とメンテナンス」の解説

COBOL代表的な変数型(項類)に、次のものがある。 数字項目 (numeric item) - 例:99999 または 9(5) 英数字項目 (alphanumeric item) - 例:XXXXX または X(5) 英字項目 (alphabetic item) - 例:AAAAA または A(5) 数字編集項目 (numeric edited item) - 例:ZZZ,ZZ9 英数字編集項目 (alphanumeric edited item) - 例:AXX/XX/XX COBOLでは固定長レコード繰り返しデータ単位)の中に固定長データ項目を含むという使い方が多い。たとえば、 00076543SHOUYURAMEN 2012101300076544SHIORAMEN 20111231 などである。データには包含関係階層があり、領域再定義機能により同じメモリ領域を何通りかの構成解釈できる。 他の多く言語VB、C、Javaなど)では、改行までが繰り返しデータ単位で、その中の項目は可変長コンマタブなどの区切り記号区切るという使い方が多い。たとえばCSV形式 76543,SHOUYURAMEN,2012101376544,SHIORAMEN,20111231 がある。最近COBOLコンパイラには、CSV形式入出力サポートするものもある。 COBOLでは基本項目を並べて集団項目を作るレベル番号用いて階層構造作るOCCURS句により多次元配列作る。これらによる固定長可変長の「レコード」(C言語などの構造体に相当)のレイアウト定義する。なお、「レコード」という型はCOBOLによって初め導入され概念である。 COBOL階層的データ包含関係は、階層深さを表すレベル番号"01"から"49"を各データ記述に付けることで記述されるこうした階層領域定義などデータ構造をもつファイルレコードの定義と処理は、COBOLの得意とするところで、Java言語および従来Javaクラスライブラリによってはなかなかうまく再現できないCOBOLでは、何百兆円という大きな金額計算や、小数点以下何まで正確に複利計算をしても1円誤差出ない正確な小数計算が得意である。固定小数点数方式整数スケール)を扱える数値項目は通常最大18中間結果それ以上)あり、特に内部10進項目などの2進化10進数用いればメモリ節約しつつ性能確保できるメインフレームではこれをサポートする専用CPU命令まで設けられ高速化図られた。 このアプローチは、10進2進変換に伴う誤差避けられない浮動小数点数によって実数近似値表現しようとする他の言語発想とは対照的である。FORTRANには浮動小数点数はあっても内部10進項目などはなかった。Javaでは任意整数小数扱えるBigInteger、BigDecimalというクラス提供されているが、文字配列処理しているために金額計算利息計算COBOLほど少なCPUステップでは行えていないCOBOLでは無名変数等として"FILLER"という名称を記述することができる。無名項目の"FILLER"は、COBOLにおける変数等の領域の定義は固定長となるため、そのような固定長領域内での予備的な領域確保という意味合い有している。たとえば 000100 01 PRODUCT-REC.000200 03 PRODUCT-NO PIC 9(8).000300 03 ...000400 03 PRODUCT-NAME PIC X(20).000500 03 FILLER PIC X(500). で予備項目500バイトを含む製品レコードPRODUCT-RECを定義して他のシステムデータ交換しはじめる。年月経ってこのレコード追加項目AD-START-DATE(広告開始日)が発生したら、FILLER削ってその新項目に宛てることで、授受データレコード長を変更しなくて済む。 000100 01 PRODUCT-REC.000200 03 PRODUCT-NO PIC 9(8).000300 03 ...000400 03 PRODUCT-NAME PIC X(20).000500 03 AD-START-DATE PIC 9(8).000600 03 FILLER PIC X(492). FILLERによって、固定長レコードファイルの運用円滑になった。ただ、この例で500バイト使い切れば、やはりレコード長の変更必要になるだからといってむやみに長いFILLER入れると、容量的な効率低下を招くのでバランスが必要である。 製品多くなってPRODUCT-NO(製品番号)を8から12拡張しようとすると、後続の項目群の開始番地順繰りにずれてしまうので変更影響大きい。 COBOLが扱うデータベース領域定義も、多く場合同様に固定長の項目からなるレコードという考え行われてきた。 システム実際に入力したデータプログラム用意した桁数を1でも超えたとき、SIZE ERRORとしてエラー処理を行うのが普通である。オプションにより上を切り落として続行も可能。桁数不足したときにデータミスなければプログラムとそのデータ授受するシステムプログラム一斉に桁数増やす修正をしなければならないデータ変換も必要となる。 このように桁数バイト数の変更大変なため、COBOLプログラマSEは常に桁数バイト数の設定変更意識しプログラム使用されるのが何十年でもその間になるべく桁溢れ起こらないように目を配って作業している。 以上のような特徴は、固定長レコードやその中の文字列数値容易にかつ厳密に扱えるというCOBOL大きな長所にともなう、保守機能追加していく上で大きな短所である。

※この「COBOLの扱うデータの特徴とメンテナンス」の解説は、「COBOL」の解説の一部です。
「COBOLの扱うデータの特徴とメンテナンス」を含む「COBOL」の記事については、「COBOL」の概要を参照ください。

ウィキペディア小見出し辞書の「COBOLの扱うデータの特徴とメンテナンス」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「COBOLの扱うデータの特徴とメンテナンス」の関連用語

1
8% |||||

COBOLの扱うデータの特徴とメンテナンスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



COBOLの扱うデータの特徴とメンテナンスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのCOBOL (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS