COBOL COPY句入力は、COBOL COPY句ファイルを入力して一般フォーマットを登録します。
COBOL COPY句出力は、登録済みの一般フォーマットをCOBOL COPY句ファイルに出力します。
COBOL COPY句ファイルをあらかじめ用意し、[COBOL COPY句]画面から読み込みます。
ファイル内のCOPY句を、一般フォーマット登録の形に変換することができます。
COBOL COPY句が格納されているファイル形式・記述形式について
1ファイル内のCOBOL COPY句が、Formatmanagerクライアントの1つのフォーマットIDに相当します。
1ファイル内に2種類以上のCOBOL COPY句が存在しても、1つのフォーマットとみなします。
COPY句内のデータ記述項の書き方は、以下の形式で記述されているものとします。
以下の句については有効とならず、読み飛ばします。
BLANK WHEN ZERO句
CHARACTER TYPE句
EXTERNAL句
GLOBAL句
JUSTIFIED句
PRINTING POSITION句
RENAMES句
SIGN句
SYNCHRONIZED句
BASED ON句
(注) REDEFINES句がある場合は、選択画面が表示され、採用するデータ領域を選択します。
データ記述項1つの終了は、ピリオド(“.”)までと判断します。よって、ピリオド(“.”)で終了しない行については、次行も継続していると判断します。
COBOL COPY句の各行の先頭にある「行番号」は、画面の「行番号桁数」で指定した桁数分あると判断します。その桁数分の記述については、文法チェックは実施しません。
コメント行は、画面の「コメント行扱い文字」で指定された文字で判断します。行番号桁数の+1桁目に「コメント行扱い文字」が記述している場合に、コメント行とみなします。
COPY句内にCOPY句名を記述しているものは、エラーになります。
PICTURE句について
PICTURE句の記述形式は、以下の場合だけ有効です。
使用できる属性文字、およびFormatmanagerとの関係は下表のとおりです。
(Formatmanagerでの表記はUSAGE句が指定されていない場合)
属性文字 | Formatmanagerでの表記 |
---|---|
A | X属性 |
X | X属性 |
N | K属性 (注1) |
9 | 9属性(符号無) |
S9 | 9属性(符号有) |
9.9 | 9属性(符号無) (注2) |
9V9 | 9属性(符号有) (注2) |
Z9 | N属性(符号無) |
SZ9 | N属性(符号有) |
-9 | N属性(符号有) |
Z,ZZ9 | C属性(符号無) (注3) |
-,--9 | C属性(符号有) (注3) |
1 | B属性 |
(注1) 桁数は、FormatmanagerのK属性ではバイト数で表現します。よってN(n)の場合、K(2n)で表現します。
(注2) 小数点に指定できる桁数の最大は4桁です。5桁以上あるとエラーになります。
(注3) “,”は整数部の1の位から3桁ごとに挿入されている場合だけ、C属性に相当します。
以下の表現は同じとみなします。
(1) | 03 WORK-A PIC 99999999. |
03 WORK-B PIC 9(8). | |
03 WORK-C PIC 9(008). | |
(2) | 03 WORK-A PIC XXXXXX. |
03 WORK-A PIC X(6). | |
03 WORK-A PIC X(06). | |
(3) | 03 WORK-B PIC 99999.999. |
03 WORK-C PIC 9(5).9(3). | |
03 WORK-D PIC 9(5)V9(3). | |
03 WORK-E PIC 9(5)V999. |
使用できない属性文字は下表のとおりです。その属性文字が入力時に存在した場合、エラーとなります。
E
P
CR
DB
0
/
*
+
B
\
USAGE句について
USAGE句の記述形式は、以下の場合だけ有効です。
USAGE句を使用する場合、同時に使用できるPICTURE句の組合せは下表のとおりです。
使用できる | PICTURE | Formatmanagerの属性 | 備考 |
---|---|---|---|
DISPLAY | 9 | 9属性(符号無) |
|
S9 | 9属性(符号有) | ||
1 | 9属性(符号無) | ||
BINARY | 9 | B属性 |
|
S9 | B属性 | ||
COMP | 9 | B属性 |
|
S9 | B属性 | ||
COMP-3 | 9 | P属性(符号無) |
|
S9 | P属性(符号有) | ||
COMP-5 | 9 | B属性 |
|
S9 | B属性 | ||
PACKED-DECIMAL | 9 | P属性(符号無) |
|
S9 | P属性(符号有) | ||
BIT | 1(8) 1(16) 1(32) | B属性 1桁 B属性 2桁 B属性 4桁 |
|
1(64) | H属性 8桁 | ||
その他 | 9 | 9属性(符号無) |
|
S9 | 9属性(符号有) |
上記以外のPICTURE句との組合せを使用した場合は、USAGE句を読み飛ばします。
Formatmanagerの属性がB属性になる場合、桁数はPICTURE句の値を採用せず、以下の方法で決定します。
PICTURE句の桁数 | Formatmanagerの桁数 |
---|---|
1桁以上2桁以下 | 1桁 |
3桁以上4桁以下 | 2桁 |
5桁以上9桁以下 | 4桁 |
10桁以上20桁以下 | 8桁 (H属性) |
例)
PIC 9(8) USAGE IS COMP. → B属性4桁
PIC 9(10) USAGE IS COMP. → H属性8桁
FormatmanagerではB属性に指定できる桁数の最大は4桁なので、8桁はH属性としてワーニングを出力します。(この項目を計算設定で使用する場合、使用できる桁数の最大は4桁なので注意が必要です。)
OCCURS句について
OCCURS句の記述形式は、以下の3とおりが有効です。
Formatmanagerでは、「データ名」を集団項目ヘッダとして、「整数」をグループ繰返数に設定します。
(集団項目トレーラも自動生成します。)
Formatmanagerでは、「データ名」を集団項目ヘッダとして、“(整数-2)-(整数-1)+1”をグループ繰返数に設定します。(集団項目トレーラも自動生成します。)
Formatmanagerでは、「データ名」を通常項目としてPICTURE句の指定どおりに設定し、その1行上に、集団項目ヘッダとして「HEAD-xxx」(xxxは通番)を設けて、「整数」をグループ繰返数に設定します。(集団項目トレーラも自動生成します。)
VALUE句について
VALUE句の記述形式は、以下の場合だけ有効です。
VALUE句で設定した値については、Formatmanagerでは一般フォーマット登録の「初期値」に設定します。
下表に従って設定します。
COPY句での表記 | Formatmanagerの初期値の設定 | 値の最大文字数 | 注意事項 |
---|---|---|---|
VALUE IS 値 | 値 | 20文字 |
|
VALUE IS ZERO | @ZERO | - |
|
VALUE IS “値” | 値 | 32文字 |
|
VALUE IS SPACE | @SPACE | - |
|
VALUE IS X“値” | @HEX(値) | 26文字 |
|
VALUE IS NX“値” | @HEX(値) | 26文字 |
|
VALUE IS NC“値” | 値 | 32文字 |
|
VALUE IS B“値” | - | - |
|
その他 | - | - |
|
(注) 値の最大文字数は、テキスト文字でカウントします。
例) VALUE IS X“3132” → 4文字
(注) FormatmanagerのP属性に変換されるときに、VALUE IS X“値”が指定された場合の符号コードは“3”・“F”は符号なし、“4”・“C”は正、“5”・“D”は負として扱います。(符号なしのときに“4”・“5”・“C”・“D”を指定した場合は、エラーとなります。)
REDEFINES句について
REDEFINES句の記述形式は、以下の場合だけ有効です。
REDEFINES句が入力された場合は、主体となるデータ領域を採用するか、REDEFINES句のあるデータ領域を採用するかを、実行時に選択します。
REDEFINES句が複数行ある場合でも、複数の中から選択できます。
[一般フォーマット登録]画面で登録済みのフォーマットを、[COBOL COPY句]画面から、COBOL COPY句ファイルとして出力します。
COBOL COPY句を出力する際のファイル形式、記述形式について
Formatmanagerクライアントの1つのフォーマットIDが、1ファイル内にCOBOL COPY句1つを作成します。
Formatmanagerクライアントの一般フォーマット登録で、登録済みのフォーマットIDが対象になります。
作成されるCOPY句内のデータ記述項は、以下の形式で記述されます。
以下の句については、作成できません。
BLANK WHEN ZERO句
CHARACTER TYPE句
EXTERNAL句
GLOBAL句
JUSTIFIED句
PRINTING POSITION句
REDEFINES句
RENAMES句
SIGN句
SYNCHRONIZED句
BASED ON句
属性、タイプ、桁数の扱いについて
属性、タイプ、桁数の値により、PICTURE句とUSAGE句を作成します。以下の形式で記述されます。
Formatmanagerの属性とCOBOL COPY句のPICTURE句、USAGE句の関係は下表のとおりです。
Formatmanagerでの表記 | PICTURE句 | USAGE句 |
---|---|---|
X属性 | X |
|
K属性(注1) | N |
|
B属性(注2) | S9 | BINARY |
H属性(1、2、4、8桁) | S9 | BINARY |
H属性(1、2、4、8桁以外) | X |
|
9属性(符号無) | 9 |
|
9属性(符号有) | S9 |
|
9属性(符号無)小数部有 | 9.9 |
|
N属性(符号無) | Z9 |
|
N属性(符号有) | -9 |
|
N属性(符号無)小数部有 | Z9.9 |
|
C属性(符号無) | Z,ZZ9 |
|
C属性(符号有) | -,--9 |
|
C属性(符号無)小数部有 | -,--9.9 |
|
P属性(符号無) | 9 | PACKED-DECIMAL |
P属性(符号有) | S9 | PACKED-DECIMAL |
P属性(符号無)小数部有 | 9,9 | PACKED-DECIMAL |
(注1) 桁数は、FormatmanagerのK属性ではバイト数で表現します。よってN(n)の場合、K(2n)で表現します。
(注2) B属性は符号の有無にかかわらず、S9タイプに変換します。
出力できない属性文字とUSAGE句は下表のとおりです。
出力できない属性文字 | A、V、1、E、P、CR、DB、0、/、*、+、B、\ |
---|---|
出力できないUSAGE句 |
|
Formatmanagerの属性がB属性、H属性の場合、桁数をそのままPICTURE句の値に採用せず、以下の方法で決定します。
Formatmanagerの桁数 | PICTURE句とUSAGE句 |
---|---|
B属性、またはH属性 1桁 | PIC S9(2) BINARY |
B属性、またはH属性 2桁 | PIC S9(4) BINARY |
B属性、またはH属性 4桁 | PIC S9(9) BINARY |
H属性 8桁 | PIC S9(13) BINARY |
H属性 上記以外 | PIC X(FEDIT/FLの桁数) |
グループ繰返数について
グループ繰返数に値が入っている場合、OCCURS句を作成します。以下の形式で記述されます。
Formatmanagerの集団項目ヘッダの「フィールド名」をデータ名として、「グループ繰返数」の値を整数に設定します。(集団項目トレーラは削除されます。)
初期値について
初期値に値が入っている場合、VALUE句を作成します。以下の形式で記述されます。
下表に従って設定します。
Formatmanagerの属性 | Formatmanagerの初期値 | 生成するCOPY句のVALUE句 | 注意事項 |
---|---|---|---|
9、N、C、P | 値 | VALUE IS 値 | 数値とみなします。 |
P | @HEX(値) | VALUE IS 値 | 数値とみなします。 |
B、H | @HEX(値) | VALUE IS 値 | 値が1、2、4、8桁のときに、HEX文字列とみなします。 |
VALUE IS X“値” | 値が1、2、4、8桁以外のときに、HEX文字列とみなします。 | ||
X | 値 | VALUE IS “値” | 文字列とみなします。 |
K | 値 | VALUE IS NC“値” | 2バイト文字列とみなします。 |
K | @HEX(値) | VALUE IS NX“値” | HEX文字列の2バイト文字とみなします。 |
Formatmanagerの属性が、P属性のときに出力する符号コードは、符号なし“3”、正“4”、負“5”です。