インターフェース仕様書サンプルで触れた”編集仕様”に出てくるものをリストアップしました。要件定義や設計にお役立てください。
(おすすめ)最初は一律文字列型でとりこむ
最初に、インターフェースプログラムでデータを扱う際には、中間テーブルの項目定義は一律“文字列型”にすることをおすすめします。
理由は、データベースが気を利かせて想定外の変換や加工を加えることを防げるからです。
以降は、それぞれの変換パターンごとに紹介していきます。
編集なし
一番シンプルなパターンです。取得した値を何も加工せずに出力ファイルにセットします。
“そのまま移送”とか”そのままセット”という記述も見たことがあります。
固定値設定
インターフェース元で持っていない項目などで固定の値をプログラムで設定することがあります。
型変換
出力先が日付型、数値型で欲しい場合は型変換が必要になります。
日付型はフォーマット指定を行います。詳しくは使用するデータベースのSQL書き方を確認ください。
例:TO_DATE(‘2018-02-02 19:00:20’, YYYY-MM-DD HH24:MI:SS)
タイムスタンプ型の場合は、タイムゾーンも意識して設定します。変換元のデータが日付単位しか持っていない場合は、固定で0時0分を入れることになりますが、そのタイムゾーンに基づいて別のタイムゾーンで表示すると日付が変わって表示されたりするので注意が必要です。
数値型も、フォーマットや各国語に合わせたパラメータ(例:OracleのNLSパラメータ)を指定します。符号(+, -)、桁区切り(例:3桁ごとのカンマ区切り) 、末尾に固定で入っている”円”文字を除外するなど扱いを決めます。
フォーマット変換
日付や時刻は、フォーマットが重要です。西暦なのか和暦なのか、西暦は4桁なのか下2桁なのか、年月日の順番や区切り文字(例:YYYY/MM/DD 、MM-DD-YY)を決めます。
数値型のフォーマットでは、マイナス値、小数点、桁区切りに注意します。
桁変換
出力先のほうが桁数が小さい場合、変換が必要になります。
不要な桁(例:先頭3桁は固定で000が入っている)があれば、それを削って桁数を減らします。
金額などで単位を変える場合もあります。1,000,000,000(円)を、1,000(百万円)に変換するようにです。この場合は1000で割ることになります。割り算時には丸め処理に注意が必要です。切り上げ、切り捨て、四捨五入などなど(五捨五入というのもありますが解説できないので割愛します)。
そのほかの変換
- 変換テーブルを用いてコード値を変換
- 値がブランクだった場合の固定値設定
- 複数項目の値を結合
いかがでしたでしょうか。