移行ガイド

違うところだけ、先に

COBOL の経験がある方向けに、SIT COBOL で戸惑うところを集めました。 基本は COBOL85 なので、ここに書いていないことはだいたいそのまま通ります。

まず押さえる3つ

コンパイルしない

SIT COBOL はインタプリタです。.cob をそのまま実行します。 オブジェクトも Makefile もありません。

索引ファイルは SQLite3

ORGANIZATION IS INDEXED の実体は SQLite3 のファイルです。 records(key, data) の1表を持ちます。

SQL は前処理が要らない

EXEC SQL.cob に直接書けます。 .pco もプリコンパイラもありません。

SIT COBOL 独自のところ

項目SIT COBOL備考
CSV / TSV ORGANIZATION IS LINE SEQUENTIAL WITH CSV 独自の書き方。区切り文字の分解を処理系が行います。 サンプル
索引ファイル 実体は SQLite3 ISAM ではありません。Pro 版の機能です
埋込み SQL 接続先も SQLite3
CONNECT TO 'TESTDB.sqlite3'
診断は SQLCODE / SQLMSG / SQLIMAGE。 Pro 版の機能です
CALL の解決 ファイル名で探す CALL "CARDVAL" は同じフォルダの CARDVAL.cob を呼びます。 PROGRAM-ID では解決しません
GOBACK 使えません 副プログラムは EXIT PROGRAM、主プログラムは STOP RUN
実行の仕方 sitcobol.exe(画面)
sitcobol_bat.exe(コマンド)
コマンド版は lang=ja を付けられます

他の処理系から持ってきた書き方

次のものは、なじみのある形のまま使えます。

書き方由来サンプル
CBL_GET_PID などの CBL_Micro Focus 互換 第10章
PERFORM FOREVER / EXIT PERFORMMicro Focus / GnuCOBOL PERFORM文
78 レベルの名前つき定数Micro Focus 商品在庫管理
*> の行内注記COBOL 2002 / GnuCOBOL全体で使用
SET ENVIRONMENT / ACCEPT ... FROM ENVIRONMENT GnuCOBOL / Micro Focus 環境変数
SCREEN SECTION + COLOR + PFキーMicro Focus / GnuCOBOL 系 画面機能
NC"..." の日本語定数富士通COBOL 系 日本語項目
N"..." の日本語定数ANSI 系同上(両方使えます)
日本語のデータ名・PROGRAM-ID日本語COBOL の慣習 第12章

版による違い

機能StandardPro
COBOL85 の中核・画面機能・順ファイル・CSV/TSV
索引ファイル(ORGANIZATION IS INDEXED×
埋込み SQL(EXEC SQL×
Standard で索引ファイルを使うと

「索引ファイル機能: スタンダード版では実行できません」と表示され、 書き込みが ファイルステータス=48 で失敗します。 このサンプル集では 21 本が Pro 版を必要とします。

商品在庫管理のサンプルは、88 レベルの条件名で 両方の版に対応させています。同じ業務処理を索引ファイルと CSV の どちらでも動かす書き方の実例として読めます。

移行時に読むサンプル

この順で見れば、違いはひととおり把握できます。