COBOL2002 Cosminexus連携機能ガイド
Javaのデータと受け渡しするCOBOLの各データ項目のsetter/getter規則を表8-3に示します。
表8-3 各データ項目のsetter/getter規則
COBOLデータ項目 | setter変換規則 | getter変換規則 | Javaデータ属性 |
---|---|---|---|
英字項目 英数字項目 英数字編集項目 数字編集項目 日本語項目 日本語編集項目※4 |
1. String文字列をencodeオプション※1またはunicodeオプション※9に従って変換したバイト配列にする。 2. 1.の値の長さがCOBOLデータ項目長よりも長い場合は切り捨てられ,短い場合は半角空白が埋められる。 |
1. COBOLのデータ値をencodeオプション※1またはunicodeオプション※9に従って変換したStringオブジェクトを作成する。 | 文字列データ(String) |
日本語項目 日本語編集項目※5 |
1. String文字列をencodeオプション※1またはunicodeオプション※9に従って変換したバイト配列にする。 2. 1.の値の長さがCOBOLデータ項目長よりも長い場合は切り捨てられ,短い場合はjapaneseオプション※3に従って全角空白または半角空白が埋められる。 |
1. COBOLのデータ値をencodeオプション※1またはunicodeオプション※9に従って変換したStringオブジェクトを作成する。 | 日本語データ(String) |
英字項目 英数字項目 英数字編集項目 数字編集項目 日本語項目 日本語編集項目※4※6 集団項目※8 |
1. COBOLのデータ領域にbyte配列の値を無変換で設定する。Byte配列の長さが長い場合は切り捨てられ,短い場合はnull(0x00)が埋められる。 | 1. COBOLのデータ領域を無変換でbyte配列にする。 | バイト配列データ(byte[]) |
英字項目 英数字項目 英数字編集項目 数字編集項目 日本語項目 日本語編集項目※4※6 |
次のデータに変換する。 全体長は可変で, 1. 長さを表すint(setterで指定された長さを設定) 2. データ自身を表すbyte配列 (配列長は,setterで指定された長さ) (setterで指定されたデータを無変換で設定) である。 |
1. 次に示すデータからbyte配列に変換する。 2. 先頭4バイトの長さ(1.)分のbyte配列に,データ自身(2.)を無変換でコピーする。 (*) 長さは,byte配列のlengthプロパティで取得する。 |
可変長データ(byte[]) |
アドレスデータ項目 | 次のデータに変換する。 全体長は可変で, 1. 長さを表すint(setterで指定された長さを設定) 2. データ自身を表すbyte配列 (配列長は,setterで指定された長さ) (setterで指定されたデータを無変換で設定) である。 |
1. 次に示すデータからbyte配列に変換する。 2. 先頭4バイトの長さ(1.)分のbyte配列に,データ自身(2.)を無変換でコピーする。 (*) 長さは,byte配列のlengthプロパティで取得する。 |
アドレスデータ(byte[]) |
単精度内部浮動項目 | 1. endianオプション※2に従ってデータの並び順を変更する。 | 1. endianオプション※2に従ってデータの並び順を変更する。 | 単精度データ(Float) |
倍精度内部浮動項目 | 倍精度データ(Double) | ||
1〜4けたの小数を含まない2進項目 | 1. endianオプション※2またはcomp5オプション※7に従ってデータの並び順を変更する。 | 1. endianオプション※2またはcomp5オプション※7に従ってデータの並び順を変更する。 | Shortデータ(Short) |
5〜9けたの小数を含まない2進項目 | Integerデータ(Integer) | ||
10〜18けたの小数を含まない2進項目 | Longデータ(Long) | ||
小数を含む2進項目 | 1. 小数点位置を合わせた2進データを作成する。 2. endianオプション※2に従ってデータの並び順を変更する。 |
1. endianオプション※2に従ってデータの並び順を変更する。 2. 小数点位置を合わせた数字データを作成する。 |
10進データ(BigDecimal) |
外部10進 | 1. 符号を除いて,小数点位置を合わせた,数字データを作成する。 2. 独立符号であれば,空白/+/−のどれかを文字データに付加する。そうでなければ,符号付きで負の値の場合は,符号を含むバイト位置の先頭4ビットを0x7Xとする。 (*) 数値のけた数が項目のけた数よりも大きい場合,けた落ちが発生する。整数けたでは左端の数値から,小数けたでは右端の数値からけた落ちが発生する。 |
1. 独立符号であれば,空白/+/−のどれかから符号を決定する。そうでなければ,符号を含むバイト位置の先頭4ビットが0x3Xであれば正符号と,0x7Xであれば負符号とし,4ビットを0x3Xとする。 2. 符号も含めて,小数点位置を合わせた,数字データを作成する。 |
10進データ(BigDecimal) |
内部10進 | 1. 符号を除いて,小数点位置を合わせた,内部10進項目の形式のデータを作成する。 (*) 数値のけた数が項目のけた数よりも大きい場合,けた落ちが発生する。整数けたでは左端の数値から,小数けたでは右端の数値からけた落ちが発生する。 (*) 内部10進項目は,1バイトで数字2けたを表現します。各けたは0〜9の数字で,最右端の4ビットで符号を表現する。 確保される領域長は,けた数から算出できる。 領域長=( けた数 / 2 ) + 1 (小数点以下は切り捨て) 偶数けた数の場合は,先頭の4ビットは0となる。 (*) 符号は次のように表現する。
|
1. 符号部分を取り出し,符号を決定する。符号付き内部10進項目の場合は,符号部分が‘+’/‘−’以外の場合はすべて‘+’とし,符号なし内部10進項目の場合は,常に‘+’とする。 2. 符号以外の数値を数字データにし,符号を付加する。 (*) 偶数けた数の場合は,先頭の4ビットは使用しない。 (*) 数字部分の値が0〜9以外の場合,値は保証しない。 |
10進データ(BigDecimal) |
All Rights Reserved. Copyright (C) 2003, 2016, Hitachi, Ltd.