COBOL言語の関数「UPPER(LOWER)-CASE」ついて理解しよう! | 用語辞典
COBOL(コボル)言語の予約語「UPPER(LOWER)-CASE」を使用した文字変換とは
COBOL(コボル)言語の関数UPPER(LOWER)-CASEとは?
COBOL言語には、使用頻度の高い機能が、組み込み関数としてあらかじめ用意されています。
関数UPPER-CASEと関数LOWER-CASEも、COBOL言語で用意されている組み込み関数で、UPPER-CASEは小文字の英字を大文字に変換する機能があり、LOWER-CASEは大文字の英字を小文字に変換する機能があります。
COBOL言語では、通常、関数UPPER-CASEと関数LOWER-CASEは、MOVEなどの命令文で使用します。
UPPER-CASEの形式
UPPER-CASEは、引数に指定された文字列に含まれる小文字の英字を大文字に変換し、関数値として返却します。
■書式
FUNCTION UPPER-CASE(変換する文字)
■構文規則
<変換する文字>
変換する文字が含まれたデータ項目や定数を指定します。
■使用例
関数UPPER-CASEを使用するプログラム例をご紹介します。
以下のプログラム例では、小文字と大文字が入り混じった定数を、関数UPPER-CASEを使用し、全て大文字にして表示しています。
■実行結果
小文字を含んだ文字列が全て大文字に変換され、プログラムが終了しました。
LOWER-CASEの形式
LOWER-CASEは、引数に指定された文字列に含まれる大文字の英字を小文字に変換し、関数値として返却します。
■書式
FUNCTION LOWER-CASE(変換する文字)
■構文規則
<変換する文字>
変換する文字が含まれたデータ項目や定数を指定します。
■使用例
関数LOWER-CASEを使用するプログラム例をご紹介します。
以下のプログラム例では、小文字と大文字が入り混じった定数を、関数LOWER-CASEを使用し、全て小文字にして表示しています。
■実行結果
大文字を含んだ文字列が全て小文字に変換され、プログラムが終了しました。
関数UPPER(LOWER)-CASEのCOBOL(コボル)言語における基本事項やルールについて
関数UPPER-CASEは、引数に指定された英字、英数字、字類に含まれる小文字の英字を大文字に変換した文字列を関数値として返却する組み込み関数です。引数の長さと関数値の長さは同じになります。
関数LOWER-CASEは、引数に指定された英字、英数字、字類に含まれる大文字の英字を小文字に変換した文字列を関数値として返却する組み込み関数です。引数の長さと関数値の長さは同じになります。
どちらの関数も、英字の小文字と大文字が入れ替わることを除けば、引数と関数値の値は同じです。
COBOL(コボル)言語の関数UPPER(LOWER)-CASEを使うときの注意点
関数UPPER-CASEも関数LOWER-CASEも、指定する引数は1文字以上の長さが必要です。
長さが0文字の定数を引数に指定すると、コンパイル時に警告が出たり、コンパイラによっては致命的なエラーと解釈されたりすることがあります。
また、実行時に引数の長さが0文字の場合、スペースが指定されたと解釈されますが、関数の処理速度が遅くなることがあります。
関数UPPER(LOWER)-CASEを使ったCOBOL(コボル)プログラムの活用方法
COBOLプログラムのデータ処理では、英字の小文字と大文字を同じ値として扱わなければならない場合があります。例えば、人が使いやすいユーザインタフェース仕様として、英字は小文字でも大文字でも入力できる仕様にすることがあります。こうした場合、入力された英字をプログラム内では、大文字か小文字かのどちらかに統一して扱うために、関数UPPER-CASE、または関数LOWER-CASEを活用します。
では、コンソールからレコードキーの値(3桁の英数字)を入力し、索引順編成ファイル「SHOHIN-INDX」の該当するレコードを読み出して表示するプログラム例をご紹介します。入力仕様として、レコードキーの入力値の英字部分は、大文字でも小文字でもよいものとします。
- ******************************************************************
- * Author:
- * Date:
- * Purpose:
- * Tectonics: cobc
- ******************************************************************
- IDENTIFICATION DIVISION.
- PROGRAM-ID. UPPER-CASE_SAMPLE2.
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- FILE-CONTROL.
- SELECT IN-FILE ASSIGN TO "SHOHIN-INDX"
- ACCESS MODE IS RANDOM
- ORGANIZATION IS INDEXED
- RECORD KEY IS IN-CODE.
- DATA DIVISION.
- FILE SECTION.
- FD IN-FILE.
- 01 IN-REC.
- 03 IN-CODE PIC X(03).
- 03 IN-HINMEI PIC X(10).
- 03 IN-KAKAKU PIC 9(04).
- WORKING-STORAGE SECTION.
- 01 WORKING-AREA.
- 03 CNSL-INPUT PIC X(03).
- *-------------------------------------------
- * 主手続
- *-------------------------------------------
- PROCEDURE DIVISION.
- MAIN-PROCEDURE.
- * メッセージ表示&入力
- MOVE SPACE TO CNSL-INPUT.
- DISPLAY "製品コード(3桁)を入力してください".
- ACCEPT CNSL-INPUT FROM CONSOLE.
- * ファイルオープン
- OPEN INPUT IN-FILE.
- * レコード読み出しと表示
- MOVE FUNCTION UPPER-CASE(CNSL-INPUT) TO IN-CODE.
- READ IN-FILE
- INVALID KEY
- DISPLAY "入力された番号のレコードが存在しません"
- GO TO END-PROC
- NOT INVALID KEY
- DISPLAY IN-REC
- END-READ.
- *終了処理
- END-PROC.
- CLOSE IN-FILE.
- STOP RUN.
- END PROGRAM UPPER-CASE_SAMPLE2.
■索引順編成ファイル「SHOHIN-INDX」のレコード様式とレコード内容
索引順編成ファイル「SEIHIN」は、3桁の製品コード(キー)の昇順に並び、「A01」~「A05」までが登録されています。
3桁 |
10桁 |
4桁 |
レコード1:A01りんご 0300
レコード2:A02めろん 1000
レコード3:A03みかん 0200
レコード4:A04ばなな 0180
レコード5:A05いちご 0800
■実行結果
はじめに製品コードの入力を促すメッセージが表示されます。
英数字の「a05」を入力してみます。
製品コード「A05」のレコードが表示され、プログラムが終了しました。
次に、製品コードに「A05」を入力してみます。
「a05」を入力したときと同じく、製品コード「A05」のレコードが表示され、プログラムが終了しました。
関数UPPER-CASEと関数LOWER-CASEによる英字の大文字と小文字の変換は、実務でもよく使用されるCOBOLプログラムの基本的なテクニックです。ぜひ、使い方を覚えて活用しましょう。
この記事を読んだ人は、こちらの記事も読んでいます
あなたのCOBOL技術を活かしませんか?
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典