前回に引き続き、コードの運用についてお話します。
前回はコード拡張についてお話しました。今回は、以前お話した変更管理の中でよく質問のあるコードの廃止についてお話しします。
コード廃止がやっかいな理由
業務上ではコードの廃止はあります。商品コードを例にすると商品が生産されなくなったり、新しい代替品が出たり、法律上使用が禁止されたりといろいろな理由で今後利用することがないコードが生じます。このためにコードを廃止します。 廃止をしないと無駄な手配やトラブルが起きかねないです。
しかし、システム上ではコード自体の廃止は原則行いません。理由はそのコードで参照する必要がある情報のデータ連携ができなくなるからです。例えば、売上データに商品コードしかない場合、古い商品コードを削除すると商品名が参照できなくなるといった感じです。
そのため、業務上は廃止するが、システム上では保持しておくという一致しない状態が生じます。コード廃止が追加や変更より手間がかかるのはそのためです。
業務上でのポイント
まずは業務上での対応です。何らかの理由でコードの廃止が決定したら、関係者に情報共有(回覧)することになります。廃止時期や廃止理由、廃止後の対応(代替品の紹介等)について簡単にまとめた資料を作成しましょう。
パターンがある程度決まっていることも多いので、予め廃止告知用のテンプレートを作っておき、回覧先をグループ化しておくと効率がいいですし、ミスも減ります。予めわかる廃止であれば、月に1回とか、年に1回とか決めた日に情報提供すると関係者の関心度も高い状態を維持できるので、共有漏れが減ると思います。
とはいっても業務多忙であれば、見忘れが多いので、システム対応でカバーするか、いつでも参照できるような廃止コード一覧を共有できる場所(情報サーバーや社内サイト)に掲載し、参照できるようにしておくといいです。
システム上でのポイント
次にシステム上での対応です。新しい取引を行う場合はシステム上で表示しないような仕組みが必要です。コードマスタに廃止フラグのチェックボックスをつけるか利用期間や廃止日を設定しておき、日付をもって制御する方法もできます。
ただし、古い取引データはきちんと参照できる必要があるので、こちらも同様に制御しておく必要があります。つまり、コードの廃止はするけど、過去データはきちんと参照できて、新規データでは利用できないシステム側の対応ができることが望ましいです。
残念ながら、システム構築時にこれらの検討を怠っていることが少なくありません。その場合は、手間ですが、コードが参照する一番の項目(商品コードなら商品名)に何らかの表記をして、利用できないことがわかるようにしておきます。
具体的には商品名の最初に【廃止】や【利用禁止】といった単語を付与します。見栄えを気にして、★や×といった記号を入れるケースもありますが、きちんとシステム管理側でルール化しないと単語も記号も乱立しますので、注意してください。
できれば、どこかの改修のタイミングで表示制御ができるようにすることをお勧めします。商品マスタを変更できるのであれば、先ほどの廃止フラグや廃止日等の項目を追加し、それによる制御をシステムに導入します。
入力画面しか変更できない場合は、先ほどの単語や記号が先頭に表示されていれば、エラーメッセージを出すといった改修を行います。出力画面については逆に単語や記号を取り除く改修を行っておくと画面上の見た目は改善されます。
コード廃止はシステム寿命と同様にできるだけシステム構築前にしっかり検討しておき、機能はもちろん、コード運用にも組み込むことが望ましいです。これからシステム構築・導入を検討する方はぜひご考慮ください。