
RPG言語を使用したプログラムの書き方の標準を公表します。
これは,IBMのオフコンを得意とするソフトウエア会社の団体であるユーオス(UOS)にて,採用された標準です。私は(株)テスク在職中にここの標準技術委員会のメンバでした。この標準は,1989年に公表され,
私が知っている最後の更新は1991年です。なお,この標準は,業界では広く公開されたものです。利用にあたっての制限はありません。
この標準に影響を受けていると思われるパッケージの名称など,採用している状況を教えて下さい。また,この標準を採用にあたっての疑問,採用した感想,問題点をお寄せ下さい。suehiroweb@yscon.co.jp
この標準を使用しての開発は,ユーオスグループ各社に依頼することで可能です。http://www.uos.gr.jp/ を見て下さい。
なお,この標準の採用にあたっての義務はありません。ご自由にご採用下さい。その際,業界全体の効率化のために,「ユーオス標準」を採用したとの記述をしていただけるとありがたいです。また,この標準の発表にあたっての記述は,あいさつなどを除いて,内容は当時の標準委員会で決定され,執筆は私(斎藤末広)が担当しました。
ここに発表している内容は,私の原稿より起こしています。発表されたものと一部違いがあるかもしれません。基本は1.3版の内容です。ホームページ化に従って書式など修正をしました。修正したところは,表現のみです。標準内容に関しては変えていません。
順次公開したいと思います。公開済のところはリンクがあるところです。リクエストがあれば,発表の順番を変更します。
(1) データベース・ファイル
(2) データベース・レコード様式
(3) データベース・フィールド
(1) 画面ファイル
(2) 画面レコード様式
(3) 画面フィールド
(1) 印刷ファイル
(2) 印刷レコード様式
(3) 印刷フィールド
(1) キー・リスト
(2) キー・フィールド
(3) パラメーター・リスト
(4) パラメーター
(1) タグ
(2) サブルーチン
(3) 例外出力
(4) サブファイル
(1) 配列
(2) 指標またはカウンター変数
(3) テーブル
(4) 内部定義フィールド
4−1 機能キー割り当て表
対話型メイン・ルーチン
パネルの定義
パネル分割と表示順
モード変更指示画面
削除の仕方(画面の動き)
第1画面でのF12の採用
次入力でのキーの残し
W@NEXTの設定方法
メッセージ番号からメッセージ・テキストを求める位置
パネル表題の定義場所
1次サブルーチン内のタグ名
入力フィールドのチェック開始タイミング
入力フィールドのチェック終了タイミング
サブ・ファイル・レコードを制御するフィールド
サブ・ファイルのクリアーと表示の標識
サブ・ファイルコントロールのONの記述
画面・データベース間の代入、および初期化サブルーチン
CA,CFの使用区別
リスト・アップ構造
サイクルの非使用
外部記述印刷フィイルの使用
明細、合計サブルーチン名
累計フィールドの累計タイミング
AfterBlankの非使用
明細印刷中オーバー・フロー時の省略フィールドの処理
合計出力時のオーバー・フローの扱い
制御フィールドの定義順
サブルーチンのネーミング・ルールの拡張
H仕様書の記述
プログラムIDの取込み
キー・リスト、エントリー・リストの位置
SETON LR、RETRNの位置
代入命令の使用区別
標識のON、OFFの仕方
CHAIN/READ失敗時のフィールドのクリアー
外部サブルーチンの呼出し方法
伝票番号自動採番
(省略 ここは斎藤が書いていないため)
|
版 |
発行日 |
|
1.0 |
1989/04/06 |
|
1.1 |
1989/04/06 |
|
1.2 |
1990/09/30 |
|
1.3 |
1991/09/30 |
いろいろな導入のしかたがあると思いますが、次のようなやり方があります。
複数の外注先にUOS標準をみせ、これに従って開発してほしいと指示する。
乱暴ですが、かなりの効果がでます。
現状の問題点のみをUOS標準で部分的に解決する。
SAA以前のアプリケーションを修正するとき、機能キーなど、UOS標準を採用する。
社内で今まで、標準化の対象となっていない項目から、UOS標準を導入する。
多くの会社では、パラメーター、キー・フィールドのネーミングなどは、標準化がされていません。このような所から、UOS標準を導入すると、混乱がすくなくて標準化の効果がでます。
他言語からRPGに新たに入る人や、基礎研修を終了した人に、UOS標準を使用する。
UOS標準従って例題を作成すると、何が標準の対象となっているかがわかり、開発していく上での重要項目がチェックできます。また、独自の標準で開発されたプログラムを読み取る際に、UOS標準の該当項目に赤で記入していくことで、独自標準の整理ができます。
新人が多い開発プロジェクトで採用する。
サンプルや解説があるので、指示する人の教育負荷が軽くすみます。できあがったものが標準化されているのでテスト、修正が容易です。
開発ツールを利用する。
プログラム生成ツール(Z/400など)がUOS標準に従ったソースを生成できると、自然と標準化が浸透します。
各種標準をまぜて実施する。
作成部分をUOS標準、工程管理を『ソフトウェアーの道具箱』、出荷チェックを「ASC標準」を採用するみたいな運用が考えられます。
注意事項
UOS標準は、現在毎年9月末に改訂/追加がされています。社内で標準化があまり進んでいない段階では、発表されたばかりの項目や改訂がされていない項目は避けた方が無難です。苦労して社内に導入しても次の年にいきなり、変更されることがあります。
逆に、UOS標準に従って標準化を進めている会社は、現在の困っているところがまさに標準として発表さていると思います。積極的に採用して、不都合なところを早めに研究会に報告するようお願いします。
(省略 ここは斎藤が書いていないため)
第1.1版は、ユーオス標準研究会第2期(89/4〜89/9)の成果をまとめたものです。1−6の対話型メイン・ルーチンの標準化が今回の最大の成果です。第1版のネーミング、パネル・帳票レイアウトの標準と組み合せることにより、対話型においては、プログラム・レベルの標準化の骨格が出来上がったことになります。
標準は、普及することに意味があり、また、使いにくいものでは、仕方がありません。研究会としても、積極的な普及/改定/追加を心がけたいと思います。広く、フィールドにおいて、ご利用いただき、ここが使いにくい、こうしたらいいのではないかなど、多くの意見をお待ちしています。
今回の第1.2版は、第1.0版、第1.1版の追加と差し替えを含みます。差し替えしないところは、1.0、1.1のままです。
今回の発行にあたって、次の改善と追加をしました。
標準を採用する際の手数が省略できるよう、複数のやり方を減らし、できるだけ一通りにしました。従来列挙してあったところは、解説欄に移動しました。
最近の、AS/400でのアプリケーションの動向から、妥当なところは、UOS標準を修正する形で市場動向を採用しました。
日本IBM社外部ソフトウェア開発システム・アプリケーションから89年5月に発行された『非プログラマブル端末用パネル設計ガイド』を分析し、積極的に採用しました。
前回の1.1版で部分的に発表した対話型ロジックの詳細を深め、マスターメンテプログラムを重点的に取扱いました。自動生成がやりやすく、なおかつ、手作業でも効率がよい物を目的として、規定としました。
いままでに寄せられた質問から、必要と思われる解説をさらに付け加えました。1.2で変更されたところは、旧標準1.0、1.1を解説欄に残しています。
以上の改善と追加によって、現場において、さらにUOS標準が使いやすくなったと思います。使用にあたっての疑問、改善、追加要望をお寄せ下さい。次回の改訂に反映していきたいと思います。
今回の第1.3版は、第1.0版、第1.1版、第1.2版の追加と差し替えを含みます。差し替えしないところは、1.0、1.1、1.2のままです。「標準規定」のみを改定しており、「参考資料」は改定していません。
今回の発行にあたって、次の改善と追加をしました。
印刷プログラムのロジックの発表をしました。
画面を制御サブルーチンと画面レコード様式との兼ね合いから、画面全体(1行目から24行目)をさすときをパネルとよび、レコード様式の集合と定義しました。合わせてレコード様式名のネーミング・ルールを見直しました。
サブファイル関連の制御をほぼ標準化しました。
フィールドクリアーの位置など、プログラム作成時の詳細な項目を充実させました。項目が、大幅に増えましたので、「1−6 ロジック」は全面的に構成変更しました。構造、ステップ・レベル、モジュール・レベルと分類していましたが、今回、対話型、印刷(バッチ)、共通、その他と分類しました。
『ASC開発標準化ガイド第1版』日本IBM(株)流通・サービス適用業務開発部/製造適用業務開発部標準化タスク・チーム、1990年を分析し、参考にしました。ネーミング・ルールなどUOS標準の標準規定との違いを解説欄に「ASC標準」として、追加しました。ASC標準のうち出荷時チェックの標準化など、現在のUOS標準(標準規定)に該当項目がないものも触れませんでした。
『ソフトウエアーの道具箱(ソフトウエア開発ガイド)』日本IBM(株)外部ソフトウェア開発第2開発第3開発推進、1990年を分析しました。このガイドは、工程管理からアプローチをしており、現在のUOS標準(標準規定)ととりわけ重複するところがありませんでしたのでUOS標準(1.3)には、反映されていません。
いままでに寄せられた質問から、必要と思われる解説をさらに付け加えました。1.3で変更されたところは、旧標準1.0、1.1、1.2を解説欄に残しています。
以上の改善と追加において、さらに使いやすくなったと思います。各方面での実践の結果をお知らせ下さい。また、質問、改善、追加要望などありましたら、次回の改訂に反映したいと思います。