COBOL2002 Cosminexus連携機能ガイド

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

付録A.1 COBOLアクセス用Bean生成時のCOBOL定義注意事項/制限事項

COBOLアクセス用Bean生成時は,COBOL UAP引数定義を別ファイルにして,COBOLデータ定義として指定する必要があります。このCOBOLデータ定義で,変更が必要な項目を表A-1に示します。

なお,表A-1には制限事項も含めて記述しています。制限事項に該当する場合は,COBOL UAPの引数を変更してください。

表A-1 COBOLアクセス用Bean生成時のCOBOL定義注意事項/制限事項一覧

項番 COBOL定義 回避方法詳細
1 EXTERNAL句 (1)を参照
2 GLOBAL句 (2)を参照
3 BLANK WHEN ZERO句 (3)を参照
4 SYNCHRONIZED句 (4)を参照
5 JUSTIFIED句 (5)を参照
6 VALUE句 (6)を参照
7 RENAMES句 (7)を参照
8 条件名 (8)を参照
9 外部浮動小数点項目 (9)を参照
10 外部ブール項目 (10)を参照
11 内部ブール項目 (11)を参照
12 OCCURS句(OCCURS 整数 TIMES以外) (12)を参照
ただし,反復回数が可変の場合,COBOLデータ定義によっては回避方法がありませんのでCOBOL UAP引数定義を変更してください。
13 位取り (13)を参照
14 行内注記(*>) (14)を参照
15 修飾 (15)を参照
16 登録集原文中のCOPY文(COPY { 原文名 | 原文名定数 } .以外) (16)を参照
17 SAME AS句 (17)を参照
18 TYPE句およびTYPEDEF句 (18)を参照
19 翻訳指令 (19)を参照
20 PICTURE句(数字項目のけた拡張機能) (20)を参照
21 動的長基本項目 (21)を参照
22 日本語集団項目 (22)を参照
<この項の構成>
(1) EXTERNAL句
(2) GLOBAL句
(3) BLANK WHEN ZERO句
(4) SYNCHRONIZED句
(5) JUSTIFIED句
(6) VALUE句
(7) RENAMES句
(8) 条件名
(9) 外部浮動小数点項目
(10) 外部ブール項目
(11) 内部ブール項目
(12) OCCURS句(OCCURS 整数 TIMES以外)
(13) 位取り
(14) 行内注記(*>)
(15) 修飾
(16) 登録集原文中のCOPY文(COPY { 原文名 | 原文名定数 } .以外)
(17) SAME AS句
(18) TYPE句およびTYPEDEF句
(19) 翻訳指令
(20) PICTURE句(数字項目のけた拡張機能)
(21) 動的長基本項目
(22) 日本語集団項目

(1) EXTERNAL句

LINKAGE SECTIONで指定できないEXTERNAL句は削除してください。

Javaマッピングデータ属性は,EXTERNAL句の指定有無にかかわらず,EXTERNAL句がない場合と同じです。

(2) GLOBAL句

GLOBAL句は削除してください。

Javaマッピングデータ属性は,GLOBAL句の指定有無にかかわらず,GLOBAL句がない場合と同じです。

(3) BLANK WHEN ZERO句

数字項目の編集を指定するBLANK WHEN ZERO句は削除してください。

また,数字項目に指定されたBLANK WHEN ZERO句である場合は,同じ領域長の英数字項目に変更してください。

操作は数字編集項目と同様に,編集した値を設定し,受け取ったデータをJavaプログラムで数値に変換して使用します。

[ 例 ]

<変更前>

[図データ]

<変更後>

[図データ]

(4) SYNCHRONIZED句

計算機記憶の固有の境界に従った,基本項目の配置を指定するSYNCHRONIZED句は削除してください。また,SYNCHRONIZED句によって確保されていた暗黙のFILLERを明示的に定義してください。暗黙のFILLERについては,マニュアル「COBOL2002 言語 標準仕様編」のSYNCHRONIZED句の記述個所を参照してください。

[ 例 ]

<変更前>

[図データ]

<変更後>

[図データ]

(5) JUSTIFIED句

けた寄せを表すJUSTIFIED句は削除してください。

Javaマッピングデータ属性は,JUSTIFIED句の指定有無にかかわらず,JUSTIFIED句がない場合と同じです。

(6) VALUE句

初期値や条件名に対応する値を指定するVALUE句は削除してください。

Javaマッピングデータ属性は,VALUE句の指定有無にかかわらず,VALUE句がない場合と同じです。

(7) RENAMES句

基本項目を組み合わせて新たな集団を作る(再命名項目)RENAMES句は指定できないので,66レベル項目から削除してください。

[ 例 ]

<変更前>

[図データ]

<変更後>

[図データ]

(8) 条件名

条件名を指定する88レベルは指定できないので,88レベル項目を削除してください。Javaマッピングデータ属性は,条件名の指定有無にかかわらず,条件名がない場合と同じです。

(9) 外部浮動小数点項目

外部浮動小数点項目は,英数字項目に変更してください。英数字項目のけた数は,外部浮動小数点項目の形式から算出してください。Javaプログラムでは,Stringデータを浮動小数点データに変換して使用してください。

[ 例 ]

<変更前>

[図データ]

<変更後>

[図データ]

(10) 外部ブール項目

外部ブール項目は,英数字項目に変更してください。

外部ブール項目の場合,英数字項目のけた数は,ブール項目のけた数と同じです。

また,Javaプログラムでは,文字'0'と'1'を使用します。

[ 例 ]

<変更前>

[図データ]

<変更後>

[図データ]

(11) 内部ブール項目

内部ブール項目は,バイト配列にマッピングした英数字項目に変更してください。英数字項目のけた数は,内部ブール項目が占有するバイト数と同じです。また,Javaプログラムでは,バイト配列をビット操作して使用してください。なお,内部ブール項目で遊びビットが取られる場合は,Javaプログラムで遊びビットを考慮してください。

[ 例 ]

<変更前>

[図データ]

<変更後>

[図データ]

(12) OCCURS句(OCCURS 整数 TIMES以外)

「OCCURS 整数 TIMES」以外の指定は,削除してください。

Javaマッピングデータ属性は,INDEXED指定,KEY指定の有無にかかわらず,INDEXED指定,KEY指定がない場合と同じです。

DEPENDING ON指定は繰り返し回数が可変であることを表します。

後続のデータ項目の開始位置が,繰り返し回数によって変わる場合は使用できません。項目の開始位置が,繰り返し回数に依存しない場合は,DEPENDING ON指定を削除して使用してください。

[ 例 ]

<変更前>

[図データ]

<変更後>

[図データ]

(13) 位取り

PICTURE文字列に指定した文字'P'を削除してください。Javaプログラムでは,想定した位取りを意識した演算を行う必要があります。

[ 例 ]

<変更前>

[図データ]

<変更後>

[図データ]

上記の例で,COBOLプログラムでHTC-OUTDATAに12300という値が入っている場合,Javaプログラムで見るHTC-OUTDATAは123という値になります。

したがって,Javaプログラムでこの値を使用する場合は,100倍した値を使用する必要があります。

(14) 行内注記(*>)

使用できません。削除してください。

(15) 修飾

基本項目のデータ名は,Beanのsetter/getterメソッド名称として使用されるので,修飾しなくても一意になっている必要があります。

一意となっていない場合は,Bean生成ウィザードで別名を指定して,一意の名称にしてください。

(16) 登録集原文中のCOPY文(COPY { 原文名 | 原文名定数 } .以外)

COPY文で指定されたCOPY原文を登録集原文に展開し,COPY文を削除してください。

(17) SAME AS句

使用できません。削除してください。

(18) TYPE句およびTYPEDEF句

使用できません。削除してください。

(19) 翻訳指令

使用できません。削除してください。

(20) PICTURE句(数字項目のけた拡張機能)

数字項目のけた拡張機能は使用できません。PICTURE句に指定するけた数は18けた以下にしてください。

(21) 動的長基本項目

DYNAMIC LENGTH句による動的長基本項目は使用できません。削除してください。

(22) 日本語集団項目

GROUP-USAGE句による日本語集団項目は使用できません。削除してください。