1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

  COBOL記載方法まとめ 【初心者編】3

Last updated at Posted at 2024-07-14

前回:COBOL記載方法まとめ 【初心者編】2
   https://qiita.com/nano357/items/b5b4a030424fcaf9a278

④COBOLの転記

MOVEによる転記

**************************************************************************
        03  END-FLG             PIC  X(3).

   *文字定数転記処理
    MOVE "END" TO END-FLG.

    文字定数は "" (二重引用符) で括って記述

**************************************************************************
        03  NUM8                PIC  S9(3).

   *数字定数転記処理
    MOVE -987 TO NUM8.

    数字定数は "" (二重引用符) で括らないでそのまま記述

**************************************************************************
        03  CHRA1               PIC  N(3).
   *日本語定数転記処理
    MOVE N"文字一" TO CHRA1.


    日本語定数は、定数の前に N をつけて "" (二重引用符) で括って記述


VALUE句による初期値の転記

**************************************************************************
   *文字定数初期値転記処理
        03  ABC                 PIC  X(3) VALUE    "ABC".

**************************************************************************
   *数字定数初期値転記処理
        03  NUM10               PIC  S9(3) VALUE   -123.


**************************************************************************
   *文字定数初期値転記処理
        03  CHRA2               PIC  N(3) VALUE    N"文字二".


定数の転記

**************************************************************************
   *スペースの定数を転記する処理
        03  DEF                 PIC  X(3) VALUE SPACE.  ・・・ " "と同じ

**************************************************************************
   *ZERO(ゼロ)の定数を転記する処理
        03  NUM0                PIC  9(3) VALUE ZERO.   ・・・  000 と同じ
        03                 PIC  X(3) VALUE ZERO.   ・・・ "000"と同じ

**************************************************************************
   *文字の照合順序の最も高い文字の定数を転記する処理
        03  NOW-FLG             PIC  X(2) VALUE   HIGH-VALUE.
          ・・・表示上はZZ だが、16進数でいうところの"FFFF"を持つ

**************************************************************************
   *文字の照合順序の最も低い文字の定数を転記する処理
        03  HIT-FLG             PIC  X(2) VALUE   LOW-VALUE. 
          ・・・表示上はAA だが、16進数でいうところの"0000"を持つ


INITIALIZE文による初期化

**************************************************************************
    01  WK-AREA1.
        03  CHER111             PIC  X(2).
        03  NUM111              PIC  S(2).

   *集団項目の初期化処理
    INITIALIZE WK-AREA1.
          ・・・CHER111 には  "  "  (半角スペース)  が設定される
          ・・・NUM111  には   00   (ゼロ)  が設定される

**************************************************************************
    01  WK-AREA2.
        03  CHER112             PIC  X(3)  VALUE    "ABC".
        03  NUM112              PIC  S9(3)  VALUE   -123.

   *初期化処理は、初期値とは異なる。
    INITIALIZE WK-AREA2.
          ・・・CHER112 には  "   "  (半角スペース)  が設定される
          ・・・NUM112  には  +000   (ゼロ)  が設定される
**************************************************************************
    01  WK-AREA3.
        03  CHER113             PIC  N(3) VALUE    N"文字三".
        03  NUM113              PIC  S9(3).

   *初期化処理は、初期値とは異なる。
    INITIALIZE CHER113.
          ・・・CHER113 には  "   "  (全角スペース)  が設定される


部分参照による転記

**************************************************************************
        03  NUM84             PIC  9(8) VALUE    12345678.
        03  NUM44             PIC  9(4).
   *DISPLAY分による画面出力
    DISPLAY NUM84.
          ・・・実行した際に、画面に 12345678  が出力される

   *部分参照の画面出力 3桁目から4文字分
    DISPLAY NUM84(3:4).
          ・・・実行した際に、画面に   3456    が出力される

   *部分参照による転記処理
    MOVE NUM84(3:4) TO NUM44.


その他 COBOLとJAVAを比較してみた

参考文献

COBOL関連情報サイト様
   http://www.kitagawa-hanga.com/se/index.html
   https://www.shakaijintanaka.com/comp-cobol/

謝辞:「いかなる組織体も、自由な教育用説明書その他の目的でCOBOL 報告書とその仕様との一部または全部を複製し、また報告書の着想を利用してかまわない。 ただし、その文書の序文の一部にこの部分を掲載されたい。

書評などで短い文章を引用するときは出所についての謝辞にCOBOLの名称をあげれば全文をかかげる必要はない。
COBOLは産業界の言語であって、いかなる会社、会社団体、組織、組織団体の所有物ではない。各寄与者、COBOL委員会とも、 プログラミングシステムと言語の正確性や機能について、いかなる保証も与えない。またこれに関する事項についていかなる責任も負わない。
COBOL 保全の手続きははっきりしている。変更を提案する手続きについての照会はデータ組織言語会議の理事会にあてられたい。
ここで利用した以下の資料すなわち、

FLOW-MATIC(スペリーランド社の商標)
Programming for UNIVAC(R) Ⅰ and Ⅱ
Data Automation Systems
スペリーランド社、1958年,1959年版権;

IBM Commercial Translator
No.F28-8013
IBM社、1959年版権;

FACT
DSI27 A 5260-2760
ミネアポリス・ハネウエル社、1960年版権;

この著者、版権者はCOBOL 仕様書に一部または全部を利用することを許可した。このことはプログラミング説明書や類似の出版物にCOBOL 仕様書を複製、利用する場合にも適用される。」

ここで、本解説書およびCOBOL 処理プログラムの作成者とそれの使用者は、CODASYL COBOL委員会と各寄与者の努力と成果を高く評価するとともに感謝の意を表すものであります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?