サーバアプリケーションのパラメタの定義を、COBOL登録集に記述します。
COBOL登録集は、COBOL登録集生成ウィザードを使用して作成します。COBOL登録集生成ウィザードについては、“NetCOBOL Studio ユーザーズガイド”の“COBOL登録集生成ウィザード”を参照してください。
注意
COBOL登録集を作成する場合には、以下の注意事項があります。
コメントを除き、記述できるのはCOBOLの基本文字集合(英数字および1バイト記号文字)だけです。日本語文字は使用できません。
項目名は28文字以内で指定してください。
項目名は、先頭に英文字を指定してください。
英小文字と英大文字は区別されません。
“-”(ハイフン)は“_”(アンダースコア)として処理されます。
正書法の形式(固定形式、可変形式、自由形式)は、登録集、およびCOBOLソースプログラムで特定の形式で統一して使用してください。
手続きを含むことはできません。
部、節、段落の見出しを含むことはできません。
翻訳エラーとなる記述を含むことはできません。
先頭のデータ記述項目のレベル番号に“1”、または“77”が指定されているCOBOL登録集を使用する場合、環境に応じてCOBOL登録集を修正する必要があります。詳細は、“14.4.2.1 COBOL登録集の作成時の注意事項”を参照してください。
COPY文を使用するとCOBOL実行基盤インタフェース、またはWebサービスインタフェースの生成が失敗することがあります。生成に失敗する場合は、COPY文を使用せずにCOBOL登録集を作成してください。
非同期アプリケーション連携実行基盤の場合、集団項目、およびOCCURS句を持つデータ項目は対応する業務データの型がないため、引数や復帰値の型として使用しないでください。
以下の名前は予約語です。パラメタの値が有効か未設定かを判定するための識別値として使用されます。パラメタの未設定の判定については“14.4.3.2 未設定データの判定”を参照してください。
INVALID-MARKER
INVALID-MARKER2
以下の名前は、アプリケーション作業域と処理結果情報を使用するための予約語です。アプリケーション作業域については、“14.4.3.1 業務処理の作成”の“■アプリケーション作業域”を参照してください。処理結果情報については、“14.4.3.1 業務処理の作成”の“■処理結果情報”を参照してください。
APFW_USERWORK
APFW_USERWORK_LENGTH
APFW_EXCEPTION
APFW_RTN
以下の名前はトランザクション後メッセージ編集処理で情報を参照するための予約語です。詳細については“■トランザクション後メッセージ編集処理で参照可能な情報”を参照してください。
APFW_DB_RESULT
そのほかの予約語については、“COBOL文法書”を参照してください。
■基本項目
COBOL登録集には、01または77のレベル番号をもつ基本項目をパラメタとして記述できます。基本項目に指定できるデータ項目を以下に示します。
字類 | 項類 | 詳細 | 記述可否 | 備考 |
---|---|---|---|---|
数字 | 数字 | 外部10進項目 | ○ | USAGEとしてDISPLAYも記述できます。 |
内部10進項目 | ○ | USAGEとしてPACKED-DECIMALも記述できます。 | ||
規格2進項目 | ○ | USAGEとしてBINARY、 | ||
システム2進項目 | ○ |
| ||
int型2進項目 | × |
| ||
単精度内部浮動小数点項目 | ○ |
| ||
倍精度内部浮動小数点項目 | ○ |
| ||
外部浮動小数点項目 | × |
| ||
英字 | 英字 |
| × |
|
英数字 | 英数字 |
| ○ | 記述できる文字数は65535文字以下です。 |
数字編集 |
| × |
| |
英数字編集 |
| × |
| |
日本語 | 日本語 |
| ○ | 記述できる文字数は65535文字以下です。 |
日本語編集 |
| × |
| |
ブール | ブール | 外部ブール項目 | × |
|
内部ブール項目 | × |
| ||
指標 | 指標 |
| × |
|
ポインタ | ポインタ |
| × |
|
オブジェクト | オブジェクト参照 |
| × |
|
○:記述できます。 ×:記述できません。
以下に基本項目の記述例を示します。
* 01レベルの基本項目 01 WDAT1 PIC X(10). * 77レベルの基本項目 77 WDAT2 PIC S9(9) COMP-5. |
■集団項目
サーバアプリケーションのパラメタを定義するCOBOL登録集には、基本項目だけではなく集団項目を記述することができます。集団項目にはレベル02~49の従属項目として、ほかの集団項目、基本項目、およびOCCURS句を指定した繰り返し項目を指定できます。従属する基本項目として使用可能なCOBOLのデータ型は、基本項目と同じです。
以下に集団項目の記述例を示します。
* 従属項目が基本項目のみからなる集団項目 01 WGRP1. 02 WELM1 PIC X(10). 02 WELM2 PIC S9(9) COMP-5. * 従属項目に集団項目を含む集団項目 01 WGRP1. 02 WELM1 COMP-1. 02 WSUBG1. 03 WELM2 PIC S9(9) COMP-5. 03 WELM3 PIC N(200). |
COBOL登録集に含まれる最初のデータ記述項は、レベル番号02~49の項目を指定することができます。ただし、レベル番号02~49の項目を指定した場合は、COBOL実行基盤インタフェースの生成時に設定するCOBOLプログラムに渡すパラメタのパラメタ名として、レベル番号01のデータ名を指定する必要があります。COBOLプログラムに渡すパラメタの設定方法については、“14.4.5.3 COBOL実行基盤インタフェースを生成するアプリケーション情報の追加”の“■オプション情報”を参照してください。
以下に、レベル番号02~49の項目から始まるCOBOL登録集の例を示します。
02 WELM1 PIC X(10). 02 WSUBG1. 03 WELM2 PIC S9(9) COMP-5. 03 WELM3 PIC N(200). |
集団項目の従属項目に指定する繰り返し項目の繰り返し要素は、任意の基本項目、集団項目、および他の繰り返し項目を指定することができます。以下に例を示します。
s* 1次元の配列 02 WELM1 PIC X(1) OCCURS 10. * 集団項目の配列 02 WOCCGRP OCCURS 10. 03 WELM1 PIC S9(4) COMP-5. 03 WELM2 PIC X(200). * 入れ子の集団項目の配列 02 WOCCGRP OCCURS 10. 03 WOCCGRP2 OCCURS 10. 04 WELM1 PIC S9(4) COMP-5. 04 WELM2 PIC X(200). |
注意
OCCURS句に指定できる値は65535までです。また、繰り返し項目の入れ子は7階層を超えることはできません。
サーバアプリケーションのパラメタに指定した基本項目および集団項目に従属する基本項目に定義できる句は、以下のとおりです。
句名 | 記述可否 | 意味 | 備考 |
---|---|---|---|
BLANK WHEN ZERO句 | × | データ項目の値がゼロのとき、値を空白に置き換えます。 | 指定した場合、ツール実行時にエラーになります。 |
CHARACTERTYPE句 | × | 印字するときの文字の形式を指定します。 | 指定した場合、ツール実行時にエラーになります。 |
EXTERNAL句 | × | レコードに外部属性を与えます。 | 指定した場合、ツール実行時にエラーになります。 |
GLOBAL句 | △ | データ名が大域名であることを指定します。 | 指定可能ですが、指定した場合、無効になります。 |
JUSTIFIED句 | × | 受取り側データ項目の右端に合わせて転記することを指定します。 | 指定した場合、ツール実行時にエラーになります。 |
OCCURS句 | ○ | 繰り返し項目を定義します。 | 配列を宣言するために使用します。 |
PICTURE句 | ○ | 基本項目の形式を指定します。 |
|
PRINTING POSITION句 | × | 印字するときの横方向の印字位置を指定します。 | 指定した場合、ツール実行時にエラーになります。 |
REDEFINES句 | × | 同じ記憶領域に異なるデータ項目を定義します。 | 指定した場合、ツール実行時にエラーになります。 |
RENAMES句 | × | いくつかの基本項目をまとめたものに名前を付けます。 | 指定した場合、ツール実行時にエラーになります。 |
SIGN句 | ○ | 符号部の形式を指定します。 | 外部10進項目だけ指定できます。 |
SYNCHRONIZED句 | × | 計算機の記憶装置がもつ固有の境界に従って、基本項目を配置することを指定します。 | 指定した場合、ツール実行時にエラーになります。 |
USAGE句 | ○ | データ項目の用途を指定します。 |
|
VALUE句 | △ | データ項目の初期値を指定します。 | 指定可能ですが、指定した場合、無効になります。 |
○:記述できます。 △:記述できますが無効になります。 ×:記述できません。
なお、FILLERまたは無名項目は、レベル番号が01または77以外に使用できます。
以下の規則をすべて満たす集団項目を特別扱いし、バイナリのデータの受け渡しを可能にします。
レベル番号49の基本項目3つを直接従属する集団項目である
1番目と2番目の従属項目が符号なし9桁のシステム2進項目である
3番目の従属項目はポインタ項目である
なお、データ項目はFILLERまたは無名項目でもかまいません。
以下にバイナリのデータとして扱われる集団項目の例を示します。
* 以下のnnは01~48までの任意のレベル番号 nn WBIN-ITEM. 49 WBIN-MAX PIC 9(9) COMP-5. 49 WBIN-LEN PIC 9(9) COMP-5. 49 WBIN-BUF POINTER. |
集団項目名は、修飾なしで一意に識別可能な名前である必要があります。ただし、従属する基本項目は修飾付きで一意であれば指定可能です。
以下の場合は、集団項目に従属する基本項目名が集団項目名の修飾により一意となります。
* 基本項目HOUR、MINUTE、SECONDは修飾付きで一意である。 01 WORK-INFO. 02 START-TIME. 03 HOUR PIC X(2). 03 MINUTE PIC X(2). 03 SECOND PIC X(2). 02 START-FLAG PIC X(1). 02 END-TIME. 03 HOUR PIC X(2). 03 MINUTE PIC X(2). 03 SECOND PIC X(2). 02 END-FLAG PIC X(1). |
以下の場合は集団項目名(TIME-INFO)が重複するため、エラーになります。
* 集団項目名TIME-INFOが重複する。 01 WORK-INFO. 02 START-INFO. 03 TIME-INFO. 04 HOUR PIC X(2). 04 MINUTE PIC X(2). 04 SECOND PIC X(2). 03 FLAG PIC X(1). 02 END-INFO. 03 TIME-INFO. 04 HOUR PIC X(2). 04 MINUTE PIC X(2). 04 SECOND PIC X(2). 03 FLAG PIC X(1). 03 SECOND PIC X(2). 02 END-FLAG PIC X(1). |
COBOL登録集を作成する際の注意事項について説明します。
■COBOL登録集に含まれる最初のデータ記述項のレベル番号が01の場合の注意事項
先頭のデータ記述項目のレベル番号に“1”と記述したCOBOL登録集を使用することはできません。レベル番号が“1”と記述しているCOBOL登録集を使用する場合は、レベル番号は“01”に修正して使用してください。
以下に先頭のデータ記述項目のレベル番号が“1”のCOBOL登録集の修正例を示します。
[修正前]
* 先頭のデータ記述項のレベル番号が1のCOBOL登録集
1 PARAM01_01 PIC X(10).
77 PARAM77_01 PIC X(10). |
[修正後]
* 先頭のデータ記述項のレベル番号を01に修正したCOBOL登録集 |