COBOL言語の「COLUMN句」で画面項目の座標指定をしよう! | 用語辞典
COBOL(コボル)言語の予約語COLUMNを使った画面項目の作成とは
COBOL(コボル)言語のCOLUMN句とは?
COLUMN(英語)は、日本語に訳すると「柱、円柱、円柱状のもの」、「印刷物の縦の段」、「縦隊、縦陣」といった意味です。
COBOL(コボル)言語のCOLUMN句には、画面の表示するデータ項目の横の位置を指定する機能があります。
COLUMN句の形式
COLUMN句は、画面に表示するデータ項目の横の位置を指定することができます。
■書式
COLUMN [NUMBER IS [相対位置指定] 横位置]
■構文規則
<相対位置指定>
「PLUS」、「+」、「-」のいずれかを指定します。「PLUS」と「+」は記述の仕方が異なりますが、意味は同じです。相対位置指定をすると横位置が相対値になり、省略すると横位置が絶対値になります。
<横位置>
データ項目の横の位置を整数で指定します。指定できる値域は1から255までです。横位置を省略すると、「+1」と同じ扱いになります。
■使用例
実際にCOLUMN句を使用し、画面を作成したプログラム例をご紹介します。
このプログラムは、コンソールに商品番号の入力を促すメッセージを表示したのち、入力された商品番号の商品名を表示するプログラムです。商品名は、商品番号「1」が「りんご」で、商品番号「2」が「みかん」です。
■実行結果
はじめに商品番号入力を促すメッセージが表示されます。
数字の1を入力してみます。
商品名「りんご」が表示され、プログラムが終了しました。
※サンプルプログラムの実行環境は、cobc(GunCOBOL)2.0.0です。実行環境の違いによっては、実行結果が異なる場合があります。
COLUMN句のCOBOL(コボル)言語における基本事項やルールについて
COLUMN句は、ACCEPT命令やDISPLAY命令を実行するときの、画面の横位置を指定する句です。SCREENセクションの基本画面記述項目に対して指定することや、手続き部に記述するDISPLAY命令で直接横位置を指定することもできます。
COLUMN句は、「COL」と省略形で記述することが可能です。
■COLUMN句の一般的な規則
COLUMN句で指定できる横位置は、整数の1から255まで、符号をつけることはできません。
画面の縦位置を指定するLINE句を指定し、COLUMN句を省略すると、COLUMN句に「1」を記述した場合と同じ扱いになります。
COLUMN句に相対位置指定をすると、横位置の開始位置は、先に定義した画面データ項目の最後の横位置からの相対位置になります。先に定義した画面項目の長さは、PICTURE句、VALUE句、SIZE句で指定した長さです。また、このとき、先に定義した画面データ項目が画面に表示されているかいないかは関係ありません。
画面データ項目の横位置をCOLUMN句で指定したときに、画面の横の範囲からはみ出してしまう位置を指定すると、行を折り返して、次の行に横位置が加算されます。
COBOL(コボル)言語のCOLUMN句を使うときの注意点
COLUMN句は、SCREENセクションで定義した基本画面記述項目に対して指定できます。DISPLAY命令でCOLUMN句を指定するときも、表示する項目には基本画面記述項目以外には指定できないことに注意してください。
COLUMN句を使ったCOBOL(コボル)プログラムの活用方法
画面にデータ表示項目を表示する場合は、SCREENセクションで表示位置を指定しますが、DISPLAY文で画面にデータ表示項目を表示するときに、LINE句とCOLUMN句を使用して表示位置を指定することもできます。
では、DISPLAY文にLINE句とCOLUMN句を指定し、「COBOL(コボル)言語のCULUMN句とは?」でご紹介したサンプルプログラムを変更して、商品名の横にもう1つ同じ商品名を表示させてみましょう。
変更箇所は赤いマーカー部分です。
- ******************************************************************
- * Author:
- * Date:
- * Purpose:
- * Tectonics: cobc
- ******************************************************************
- IDENTIFICATION DIVISION.
- PROGRAM-ID. COLUMN-SAMPLE2.
- ENVIRONMENT DIVISION.
- CONFIGURATION SECTION.
- SPECIAL-NAMES.
- CURSOR IS CURSOR-POSITION
- CRT STATUS IS CRT-DATA.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 CURSOR-POSITION PIC X(6).
- 01 CRT-DATA PIC 9(4).
- 01 WARNING PIC X(15) VALUE "INPUT 1 or 2".
- 01 INPUT-RESULT PIC X(1).
- 01 OUTPUT-RESULT PIC X(10).
- SCREEN SECTION.
- 01 CONSOLE-SCREEN
- LINE 12 COLUMN 37.
- 05 WARNING-STRING PIC X(15)
- FROM WARNING.
- 05 INPUT-RESULT-SCREEN
- LINE 14 COLUMN 37 PIC X(1)
- TO INPUT-RESULT.
- 05 OUTPUT-RESULT-SCREEN
- LINE 14 COLUMN 40 PIC X(10)
- FROM OUTPUT-RESULT.
- *-------------------------------------------
- * 主手続
- *-------------------------------------------
- PROCEDURE DIVISION.
- MOVE "014037" TO CURSOR-POSITION.
- ACCEPT CONSOLE-SCREEN
- ON EXCEPTION DISPLAY "ERROR...".
- IF INPUT-RESULT = 1 THEN
- MOVE "りんご" TO OUTPUT-RESULT
- ELSE IF INPUT-RESULT = 2 THEN
- MOVE "みかん" TO OUTPUT-RESULT
- END-IF
- END-IF.
- DISPLAY OUTPUT-RESULT-SCREEN.
- DISPLAY OUTPUT-RESULT-SCREEN AT LINE 14 COLUMN 50.
- END-PROC.
- STOP-RUN.
- END PROGRAM COLUMN-SAMPLE2.
■実行結果
はじめに商品番号入力を促すメッセージが表示されます。
数字の1を入力してみます。
商品名「りんご」の横にもう1つ「りんご」が表示され、プログラムが終了しました。
※サンプルプログラムの実行環境は、cobc(GunCOBOL)2.0.0です。実行環境の違いによっては、実行結果が異なる場合があります。
COBOL言語において、画面の入出力機能の習得は必須ではありませんが、覚えておくと作成できるプログラムのバリエーションが広がります。これを機会に習得してみてはいかがでしょうか。
この記事を読んだ人は、こちらの記事も読んでいます
【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語で計算処理をするなら「COMPUTE文」|入門用語辞典
- COBOL言語の「ACCEPT文」の使い方を分かり易く解説|入門用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のCOPY文活用法|応用ガイド
- 一歩先を行くCOBOL言語の表操作!逐次検索と二分検索|応用ガイド
- COBOL言語の加算処理の基本を伝授! 命令文「ADD」とは?|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のファイル併合処理|応用ガイド
- COBOL言語でファイルの開閉命令はOPEN文とCLOSE文!|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のデータ共有|応用ガイド
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- COBOL言語の歴史とこれまでの進化を知る!廃止・追加機能|基礎ガイド
- COBOL言語のオブジェクト指向について理解しよう!|基礎ガイド
- COBOL言語のディスプレイ出力とコンソール入力について|基礎ガイド
- COBOL言語が得意とする計算処理を体験してみよう!|基礎ガイド
- 一歩先を行くCOBOL言語のユーザ定義関数について|応用ガイド
- 初心者から中級者でも安心!理解できるCOBOL言語の勉強法|学習講座
- 初心者必見!COBOL言語を効率よくマスターする勉強法とは|学習講座
- COBOL初心者が犯しやすいミスとその対策について|学習講座
- COBOL初心者がやってはいけない勉強方法とは?|学習講座
- 一歩先へ行くCOBOLプログラマの知っておくべき4つのヒント|学習講座