COBOL2002 ユーザーズガイド

[目次][用語][索引][前へ][次へ]

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

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

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