カテゴリ: COBOL 更新日: 2025/10/27

COBOLのMOVE文を完全ガイド!初心者でもわかるデータコピーと編集の基本

MOVE文を使ったデータコピーと編集の基本
MOVE文を使ったデータコピーと編集の基本

先生と生徒の会話形式で理解しよう

生徒

「先生、COBOLでデータをコピーしたり編集したりする方法ってあるんですか?」

先生

「はい、COBOLにはMOVE文という命令があって、それを使えば簡単にできます。」

生徒

「MOVE文ってどういうものなんですか?」

先生

「それでは、MOVE文の基本から一緒に学んでいきましょう!」

1. MOVE文とは?

1. MOVE文とは?
1. MOVE文とは?

COBOLのMOVE文は、変数や定数などのデータを別の場所にコピーするための命令です。プログラムの世界では「変数(へんすう)」という、値を入れておく箱のようなものがあります。MOVE文を使うことで、この箱から別の箱へ中身を移すことができます。

例えば「りんごを入れた箱から、別の箱にりんごを移す」イメージです。コンピュータの中では「文字」や「数字」を箱に入れて扱うので、MOVE文はとても基本的で重要な命令になります。

2. MOVE文の基本構文

2. MOVE文の基本構文
2. MOVE文の基本構文

MOVE文の書き方はとてもシンプルです。


MOVE 移したいデータ TO 移す先

「TO」は英語で「〜へ」という意味なので、「どこからどこへ移すのか」が直感的にわかりやすいのが特徴です。

3. 文字データをコピーする例

3. 文字データをコピーする例
3. 文字データをコピーする例

まずは文字(アルファベットや日本語など)をコピーしてみましょう。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. SAMPLE1.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 NAME1 PIC X(10) VALUE "TARO".
       01 NAME2 PIC X(10).
       PROCEDURE DIVISION.
           MOVE NAME1 TO NAME2.
           DISPLAY "NAME2の中身は:" NAME2.
           STOP RUN.

このプログラムを実行すると、NAME1に入っていた「TARO」がNAME2にコピーされます。


NAME2の中身は:TARO

このように、文字をそのままコピーすることができます。初心者にとってイメージしやすいのは「コピー&ペースト」と同じような感覚です。

4. 数字データをコピーする例

4. 数字データをコピーする例
4. 数字データをコピーする例

次に数字のコピーです。数字を扱うときは、PIC 9という型(データ型)を使います。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. SAMPLE2.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 NUM1 PIC 9(3) VALUE 123.
       01 NUM2 PIC 9(3).
       PROCEDURE DIVISION.
           MOVE NUM1 TO NUM2.
           DISPLAY "NUM2の中身は:" NUM2.
           STOP RUN.

NUM2の中身は:123

数字のコピーも文字と同じようにMOVE文で簡単に行えます。

5. データが短い場合や長い場合の挙動

5. データが短い場合や長い場合の挙動
5. データが短い場合や長い場合の挙動

MOVE文を使うときに注意が必要なのは、データの長さが違う場合です。例えば「5文字の箱に3文字のデータを入れる」とどうなるでしょうか。


       01 SHORT-NAME PIC X(3) VALUE "ABC".
       01 LONG-NAME  PIC X(5).
       MOVE SHORT-NAME TO LONG-NAME.

この場合、「ABC」とコピーされますが、残りの2文字分はスペース(空白)で埋められます。逆に長いデータを短い箱に入れようとすると、入りきらない部分は切り捨てられてしまいます。

この動きは初心者にとって大事なポイントで、実際のプログラムでもよくトラブルの原因になります。

6. 定数を直接MOVEする

6. 定数を直接MOVEする
6. 定数を直接MOVEする

変数だけでなく、直接「値」をMOVEすることもできます。これを「リテラル」と呼びます。


       MOVE "HELLO" TO NAME1.
       MOVE 999 TO NUM1.

このように書けば、すぐに固定の文字や数字を代入できます。手作業で「箱に中身を入れる」と考えるとイメージが湧きやすいです。

7. MOVE文を使った編集の基本

7. MOVE文を使った編集の基本
7. MOVE文を使った編集の基本

MOVE文には「編集機能」もあります。例えば「数値を3桁で表示する」といった場合に便利です。


       01 NUM-VALUE   PIC 9(3) VALUE 45.
       01 EDITED-VALUE PIC ZZ9.
       MOVE NUM-VALUE TO EDITED-VALUE.
       DISPLAY "表示:" EDITED-VALUE.

表示:  45

Zは「数字がなければスペースで表示」という意味なので、45が右寄せで表示されます。これを使えば、帳票や画面出力のときに見やすい形に整えることができます。

8. まとめに向けた重要ポイント

8. まとめに向けた重要ポイント
8. まとめに向けた重要ポイント
  • MOVE文はデータコピーの基本命令
  • 文字・数字どちらにも使える
  • 長さが違うとスペースや切り捨てが起こる
  • 編集用のPICを使えば見やすい表示が可能

COBOLを学ぶ上で、MOVE文は必ず理解しておきたい基礎です。コピーの仕組みを理解することで、より実用的なプログラムに近づけます。

カテゴリの一覧へ
新着記事
C#で複数ファイルをまとめて操作する方法(foreach・LINQ)をやさしく解説!
C#のインターフェースとは?クラス設計を柔軟にする基本技術
C#のコンストラクタの役割と使い方!オブジェクト初期化の基本
COBOLでデータベース接続を理解しよう!初心者でもわかる基本の考え方
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.3
Java&Spring記事人気No3
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.4
Java&Spring記事人気No4
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法