# Smart Interpreter Training COBOL サンプル集 Ver6.0

# 説明

このサンプルプログラム集は、Smart Interpreter Training COBOL(以下SIT COBOL)の
下記説明書中に出てくるサンプルプログラムを集めたものです。

https://sit-cobol.sit11.com/manual

いずれのプログラムも、SIT COBOLで実行できるものばかりです。
ただし、索引ファイルおよびデータベースを使用したものは、SIT COBOL/Pro版でのみしか
動作しません。(100本中21本が該当します)

特に中身について詳しい説明はしておりませんが、機能の確認等については上記の
マニュアルを参考にしてください。

実行すると、OKが表示されるサンプルプログラムもありますが、
これは言語機能の確認テスト用のプログラムです。
すべてOKが出るようになっています。（逆にNGが出ていたらバグです）

これらのプログラムについては、なぜOKが出力されるのかプログラムロジックを追って、
調べることにより、より深くCOBOLを習得できるでしょう。

# 案内サイトを公開しました (Ver6.0から)

https://sit-cobol.sit11.com/samples/

・100本を「やりたいこと」から探せる一覧
・固定形式の桁がわかるソース表示
・PIC句、ファイル状態、画面の色、組込み関数、CBL_サブルーチンの早見表
・つまずいたときの対処
・他のCOBOLからの移行ガイド
・経験に合わせた3つの学習の順路

この配布物には同梱していません。案内サイトには随時手を入れているため、
同梱すると、ダウンロードした時点の古い写しをお読みいただくことになるからです。
上記をご覧いただければ、いつでも最新のものが表示されます。

# 実行のしかた

・画面から
    sitcobol.exe を起動して .cob を開き、「実行」を押します。

・バッチから
    run.bat をダブルクリックします。
    run.bat があるのは「実践サンプル」と「第12章」です。
    ほかのサンプルは、画面から実行するか、次のように実行します。

      sitcobol_bat.exe "ADD文-書き方1.cob" lang=ja

    run.bat は SIT COBOL 本体の場所を、次の順に自動で探します。

      (1) 環境変数 SITCOBOL_HOME
      (2) このフォルダの直下の engine\
      (3) このフォルダと同じ階層の engine\

    見つからないときは、設定方法を案内するメッセージが出ます。
    Ver5.0 以前は本体の場所をバッチに直接書いていたため、
    展開しただけでは動きませんでした。

# うまく動かないとき

よくある3件をここに書いておきます。ほかの症状と詳しい説明は、
案内サイトの「つまずいたとき」をご覧ください。

https://sit-cobol.sit11.com/samples/troubleshooting

・「sitcobol_bat.exe が見つかりません」と出る

    run.bat が SIT COBOL 本体を見つけられていません。
    次のどちらかで解決します。

      (1) 環境変数にインストール先を設定する

            set SITCOBOL_HOME=C:\sitcobol

      (2) このフォルダの直下か、同じ階層に engine\ を作り、
          sitcobol-standard_v11_x.x.x を展開する

    サンプル集をどこに置いても構いません。探索は
    common\sitcobol_env.bat がまとめて行います。

・「索引ファイル機能: スタンダード版では実行できません」と出る

    索引ファイルと埋込みSQLは Pro版の機能です。Standard版で実行すると
    この警告が出て、書き込みが ファイルステータス=48 で失敗します。
    該当するのは100本中21本です。第8章の索引ファイル3本、第9章のSQL5本、
    第12章のマスタ関連、実践サンプルのクイズゲーム(Pro版)がこれにあたります。
    ほかのサンプルは Standard版で動きます。

・文字が化ける / 身に覚えのない「認識されていません」が出る

    コマンドプロンプトで chcp 65001 を実行してから動かしてください。
    COBOLのソースも DISPLAY の出力も UTF-8 です。
    同梱の run.bat は自動で設定します。

    ご自分で .bat を書き足すときは、次の2点を守ってください。

      ・コメントも含めて ASCII だけで書く
        chcp 65001 が有効な状態では、cmd.exe が UTF-8 の .bat の
        行の読み取り位置を誤り、無関係なエラーを表示します。
        実行時に出したい日本語は common\msg\*.txt に置き、
        type コマンドで表示してください。同梱の .bat はそうしています。
      ・改行は CRLF にする
        LF だけだと cmd.exe が解析に失敗します。

# フォルダの構成

  readme.txt                    このファイル
  history.txt                   改定履歴
  第6章_手続き部\                各文をひとつずつ確かめる 47本
  第6章_手続き部(画面機能)\       商品在庫管理プログラム
  第8章_ファイル入出力\           順・CSV・TSV・索引の読み書き 12本
  第9章_データベース(SQL)\        埋込みSQL 5本
  第10章_組み込みサブルーチン\     CBL_ 系サブルーチン
  第11章_組み込み関数機能\         FUNCTION で使える関数
  第12章_コマンド(バッチ)での利用方法\  在庫管理バッチ一式 24本
  実践サンプル\                  遊べるプログラム4本
  common\                       run.bat が使う共通処理(触る必要はありません)

フォルダ名の章番号は、機能説明書の章番号と同じです。
第1〜5章と第7章は、規則や書き方そのものの説明が中心で、
独立して動かすプログラムが無いためフォルダがありません。

それぞれのフォルダの中にも readme.txt を置いています。
収録しているプログラムの一覧、実行の順番、実行するとできるファイル、
読みどころを書いていますので、動かす前に目を通してください。

# 改定履歴

history.txt を参照してください。

---
株式会社SIT11
SIT COBOLサポート部
info@sit-cobol.sit11.com
