| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

COBOL データ型

提供: MyMemoWiki
2020年2月16日 (日) 04:23時点におけるPiroto (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

COBOL データ型

COBOL |

手元に一冊必要か。。。

PICTURE 文節

PICTURE 文節は、基本項目の一般的な特性および編集上の要件を指定する。

基本項目

それ以上分けられない最小の項目単位

データ項目の種類(項類)

数字項目
  • 符号および小数点を伴う数値を扱う
  • 計算の対象となるデータ
文字 内容
9 数字1桁
S 符号の存在を示す。PICTURE句の左端に書く。S指定のない項は正の値として扱う
V 想定小数点の位置。数字項目は、実際の小数点が扱えないため、指定位置に小数点があるものとして扱う。
PIC 9(4)
PIC S9(2)
PIC S9(3)V9(2)
英字項目
文字 内容
A 英字または空白のみを含む文字1文字
B 空白を挿入すべき文字位置
英数字項目
文字 内容
X 任意の文字(英字、数字、空白含む)
英数字編集項目

任意の文字の組み合わせ

文字 内容
/ スラッシュ文字が挿入される文字位置。
数字編集項目
  • 編集された数値を扱う
  • 演算の対象にできない
文字 内容
P 想定小数部の位取り位置。データ項目内の数字に小数点がない場合に、想定小数点の位置を指定するために使用
Z 先頭の数字位置。その位置に0 が入っていると、その0 はスペース文字で置き換えられます
コンマが挿入される文字位置
. 位置合わせ用の小数点を表す
- CR DB
編集符号制御記号が入れられる文字位置
* 金額変造防止記号。先頭部分の数字位置で、その部分に0 が入っているときにアスタリスクが入れられます
\ 通貨記号。任意の有効な通貨記号にできます

初期値の設定(VALUE句)

77  KINGAKU       PIC 9(4) VALUE 1234.
77  HINMEI-CODE   PIC X(3) VALUE "A10".
77  SURYOU        PIC 99   VALUE ZERO.

USAGE句

  • Enterprise COBOL for z/OS
  • コンピューター・ストレージにおけるデータ項目のフォーマットを指定
USAGE [IS] [データ型]

計算用項目

  • 算術演算で使用される値です。この項目は数字でなければならない
  • 計算用項目の最大長は、10 進数で18 桁
計算用項目のPICTURE に含めることができる項目
項目 内容
9 1 つ以上の数字文字位置
S 1 つの算術演算符号
V 1 つの暗黙の小数点
P 1 つ以上の10 進数位取り位置

USAGE データ型

基本
データ型 内容
BINARY 2 進数データ項目
PACKED-DECIMAL パック10 進数フォーマット.ゾーン10 進数フィールドで4 ビットの符号表現を行うのと同じビット構成を使用
COMPUTATIONAL またはCOMP(2 進数) BINARY と等価
COMPUTATIONAL-1 またはCOMP-1 (浮動小数点) 単精度.4 バイト
COMPUTATIONAL-2 またはCOMP-2 (長精度浮動小数点) 倍精度.8 バイト
COMPUTATIONAL-3 またはCOMP-3 (内部10 進数) PACKED-DECIMAL と等価
COMPUTATIONAL-4 またはCOMP-4 (2 進数) BINARY と等価
COMPUTATIONAL-5 またはCOMP-5 (固有2 進数) バイナリー・データとして表現.picture に入っている9 の数で示される値に制限されず、ネイティブ・バイナリーで本来表すことのできる値まで入れることができる
DISPLAY 文字形式で保管され、1 文字はそれぞれ8 ビット・バイト
DISPLAY-1 DBCS として定義.データ項目は、文字形式で保管.1 文字はそれぞれ2 バイト
その他
データ型 内容
FUNCTION-POINTER 項目を関数ポインター・データ項目
INDEX 指標データ項目.今後の参照に備えて指標名の値を保持しておく
NATIONAL 項目を国別データ項目として定義
OBJECT REFERENCE オブジェクト・リファレンス
POINTER 、限定的な基底アドレッシングが可能になる
PROCEDURE-POINTER プロシージャー・ポインター・データ項目
NATIVE プログラムの実行には何も影響しない