COBOL2002 ユーザーズガイド


19.2.2 COBOLプログラムのデータ型とVisual Basicでの宣言

整数値,文字列,およびユーザ定義型について,Visual BasicとCOBOLのデータ型の対応を,次に示します。

表19‒2 Visual BasicとCOBOLのデータ型の対応

データ型

Visual Basic

(送り出し側作用対象)

COBOL

(受け取り側作用対象)

バイト型

Dim a As Byte
01 a PIC 9(1) COMP-X

整数型

Dim a As Integer
01 a PIC S9(4) COMP

長整数型

Dim a As Long
01 a PIC S9(9) COMP

可変長文字列

Dim a As String
01 a PIC X(n)

固定長文字列

Dim a As String * 10
01 a PIC X(n)

ユーザ定義型

Type UserDef
  x As Integer
End Type
Dim a As UserDef
01 a
  02 x PIC 9(1) COMP-X
(凡例)

n:文字列の長さを示す

バイト型,整数型,長整数型の場合

引数を渡す方法として,値渡し(ByVal)と参照渡し(ByRef)を使用できます。

  • 値渡しを使用する場合,COBOLプログラムで値を変更しても,Visual Basicのデータ項目の内容には影響を与えません。

  • 参照渡しを使用する場合,COBOLプログラムで値を変更すると,Visual Basicのデータ項目の内容も変更されます。

可変長文字列,固定長文字列の場合

引数を渡す方法として,値渡し(ByVal)を使用できません。Visual BasicとCOBOLでの引数の属性は,次の組み合わせとなります。

Visual Basic 値渡し(ByVal) → COBOL参照渡し(BY REFERENCE)

ユーザ定義型の場合

ユーザ定義型は,COBOLの集団項目に対応します。ただし,ユーザ定義型に可変長文字列が含まれる場合,アドレスデータ項目を使用して,ポインタ処理をしなければなりません。