COBOL2002 言語 拡張仕様編


17.2.3 手続き部(CSVファイル入出力機能)

【標準仕様との関連】

COBOL2002 言語 標準仕様編」 「10 手続き部(PROCEDURE DIVISION)

〈この項の構成〉

(1) CLOSE文(CSVファイル入出力機能)

CLOSE文についてはテキストファイルの規則と同じである。

【テキストファイル機能との関連】

2.4 手続き部(テキストファイル機能)」の「(1) CLOSE文(テキストファイル機能)

【標準仕様との関連】

COBOL2002 言語 標準仕様編」 「10.8.6 CLOSE文

(2) OPEN文(CSVファイル入出力機能)

テキストファイルと異なる規則だけを説明する。

構文規則
  1. ORGANIZATION IS CSVが指定されたファイルに対して指定できるモードは入力・出力・拡張だけである。

【テキストファイル機能との関連】

2.4 手続き部(テキストファイル機能)」の「(2) OPEN文(テキストファイル機能)

【標準仕様との関連】

COBOL2002 言語 標準仕様編」 「10.8.30 OPEN文

(3) READ文(CSVファイル入出力機能)

テキストファイルと異なる規則だけを説明する。

形式

[図データ]

構文規則
  1. 一意名1は集団項目またはブール項目以外で用途が表示用の項目でなければならない。一意名が集団項目のとき,従属する基本項目はブール項目以外の,用途が表示用の項目でなければならない。

  2. 一意名1は部分参照してはならない。

  3. 一意名1にDEPENDING ON指定のOCCURS句を含んではならない。

  4. 一意名1は再命名項目であってはならない。

  5. -NumCsvオプション指定時,一意名1の長さはファイル名1に従属するレコード長以下でなければならない。

  6. -NumCsvオプション指定時,一意名1または一意名1に従属する基本項目が数字編集項目の場合,その項目は数字入力の対象にならない。英数字項目として処理される。

一般規則
  1. 表計算プログラムのCSVファイルの1行は,コンマを区切り文字として,ファイル名1または一意名1に従属する基本項目の先頭から1対1に対応して,左詰めで格納される。ただし,-NumCsvオプション指定時はこの規則は適用されない。-NumCsvオプション指定については,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」のCSV編成ファイルの説明を参照のこと。

  2. INTO指定がある場合は一意名1のレコード構造に従って処理され,INTO指定がない場合は,ファイル名1に従属するレコードの形式に従って処理される。

  3. 表計算プログラムのCSVファイルの1行中のセルの個数がファイル名1または一意名1に従属する基本項目の個数より多いとき,基本項目と対応しないセルは無視される。セルの個数がデータ名1に従属する基本項目の個数より少ないとき,セルと対応しない基本項目の値はREAD文の実行前の値から変更されない。

  4. READ文を実行したときに読み込むレコードがない場合,AT END指定があれば無条件文1に制御が移る。その後,各文の実行規則に従って実行が続く。制御の明示移行を起こす手続き分岐文または条件文が実行されると,その文の規則に従って制御が移る。そうでない場合,AT END指定の無条件文の実行が完了し,その入出力文の終わりに制御が移る。このとき,NOT AT END指定があっても無視される。

  5. READ文が成功した場合,NOT AT END指定がなければその入出力文の終わりに制御が移る。NOT AT END指定があれば,無条件文2に制御が移る。その後,各文の規則に従って実行が続く。制御の明示的移行を起こす手続き分岐文または無条件文が実行されると,その文の規則に従って制御が移る。そうでない場合,NOT AT END指定の無条件文の実行が完了してその入出力文の終わりに制御が移る。

  6. 一意名1にREDEFINES句が含まれていてもよいが,再定義した方は無視され,再定義された方の属性で処理される。このとき,再定義した方の項目はブール項目以外で,用途が表示用でなければならない。

【テキストファイル機能との関連】

2.4 手続き部(テキストファイル機能)」の「(3) READ文(テキストファイル機能)

【標準仕様との関連】

COBOL2002 言語 標準仕様編」 「10.8.33 READ文

(4) WRITE文(CSVファイル入出力機能)

テキストファイルと異なる規則だけを記述する。

形式

[図データ]

構文規則
  1. 一意名1は集団項目またはブール項目以外で用途が表示用の基本項目でなければならない。一意名1が集団項目のとき,従属する基本項目はブール項目以外の用途が表示用の項目でなければならない。

  2. 一意名1は部分参照してはならない。

  3. 一意名1にDEPENDING指定のOCCURS句を含んではならない。

  4. 一意名1は再命名項目であってはならない。

  5. PAGE指定のADVANCING指定を書いてはならない。

  6. END-OF-PAGE指定を書いてはならない。

  7. 一意名1または一意名1に従属する項目にCHARACTER TYPE句の指定があってはならない。なお,UNIX COBOL2002では-XMAP,LinePrintオプション未指定時は,CHARACTER TYPE句は覚え書きとする。

  8. FROM句に定数を指定してはならない。

  9. -NumCsvオプション指定時,一意名1の長さはレコード名1の長さ以下でなければならない。

  10. -NumCsvオプション指定時,レコード記述に従属する基本項目が数字編集項目の場合,その項目は数字入出力の対象にならない。英数字項目として処理される。

一般規則
  1. レコード名1または一意名1に従属する基本項目の先頭からコンマで区切って出力する。ただし,-NumCsvオプション指定時はこの規則は適用されない。-NumCsvオプション指定については,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」の入出力手続き文と動作の説明を参照のこと。

  2. FROM指定がある場合は一意名1のレコード構造に従って処理され,FROM指定がない場合はレコード名1の構造に従って処理される。

  3. ORGANIZATION IS CSVが指定されたファイルに対してWRITE文を実行した場合,ADVANCING指定がないと自動的に一行送りが行われる。ADVANCING指定がある場合,テキストファイルに対する規則に従って行送りが行われる。

  4. 一意名1にREDEFINES句を含んでいてもよいが,再定義した方は無視され,再定義された方の属性で処理される。このとき,再定義した方の項目はブール項目以外で用途が表示用でなければならない。

【テキストファイル機能との関連】

2.4 手続き部(テキストファイル機能)」の「(5) WRITE文(テキストファイル機能)

【標準仕様との関連】

COBOL2002 言語 標準仕様編」 「10.8.55 WRITE文