# 第6章 手続き部(画面機能)

説明書の第6章のうち、画面機能(SCREEN SECTION)を使うサンプルです。

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

  商品在庫管理.cob    約750行。このサンプル集で最も大きなプログラムです
  商品レコード.cob    COPY原文。商品在庫管理.cob から取り込まれます

文をひとつずつ確かめる他のサンプルとは違い、画面から操作する業務プログラムの
形をしています。

メインメニューは7項目ありますが、動くのは次の2つです。

  1. 商品登録              動きます
  2. 商品一覧(更新・削除)  動きます
  3. 注文管理              選ぶと「機能未実装です」と出ます
  4. 注文伝票発行          同上
  5. 売上レポート          同上
  6. 在庫チェック          同上
  7. 終了

3〜6 は画面の作り方の例として項目だけ置いてあります。
書き足す練習の題材にしてください。

# 使い方は PDF を見てください

  画面機能サンプルプログラム説明書.pdf

画面の見本(img\ の画像)を交えて、操作の流れを説明しています。
まずこの PDF を開いてから動かすと迷いません。

# ★ Standard 版と Pro 版の切り替え

配布した状態では Standard 版で動きます。手続き部の先頭に切り替えがあります。

  MAIN00.
  *  SITCOBOL/Proを使用してこのプログラムを走行
  *    SET SITCOBOL-PRO      TO TRUE.
  *  SITCOBOL/Standardを使用してこのプログラムを走行
       SET SITCOBOL-STANDARD TO TRUE.

Pro 版で動かしたいときは、コメントを入れ替えて SET SITCOBOL-PRO を有効に
してください。同じ画面・同じ操作のまま、データの置き場所だけが変わります。

  Standard    商品ファイル.csv               CSVファイル
  Pro         商品マスタ.sqlite3             索引ファイル

同じ業務を、扱えるファイルの種類に合わせて書き分ける例として読めます。

# 読みどころ

・SCREEN SECTION
    画面の項目を定義しておき、DISPLAY で表示、ACCEPT で入力を受けます。
    位置や色や見出しをプログラムの中に持てます。
    色の指定は案内サイトの早見表にも載せています。

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

・COPY ... REPLACING
    商品レコード.cob を1つ書いておき、取り込むときに項目名の一部を
    置き換えて、マスタ用・ファイル用・テーブル用として使い回しています。

      COPY 商品レコード REPLACING //Ｍ// BY //Ｆ//.

・商品レコード.cob は単体では実行できません
    COPY 原文なので、商品在庫管理.cob から取り込まれて使われます。

# 入力に使うファイル(同梱しています)

  商品データ.csv        商品の初期データ
  商品カテゴリ.csv      商品カテゴリの初期データ。未実装の機能のためのもので、
                        いまのプログラムからは読んでいません

# 実行するとできるファイル

  Standard    商品ファイル.csv
  Pro         商品マスタ.sqlite3

配布物には含んでいません。初回の実行時に、商品データ.csv から作られます。

  「初回なので商品ファイルを作成します」と出るのがそのときです。

2回目以降はこのファイルを読むので、登録した商品は次に起動しても残っています。
はじめからやり直すときは削除してから実行してください。

なお 商品カテゴリマスタ.sqlite3 / 商品カテゴリファイル.csv も宣言だけは
してありますが、上に書いた未実装の機能のためのもので、作られません。

# うまく動かないとき

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

よくあるつまずきは、サンプル集の readme.txt にも書いてあります。
