サポート > リポジトリ > モデル項目の定義 > 文字列 - 郵便番号

文字列型の属性として、郵便番号を指定することができます。住所連動機能が有効になります。

実行例

郵便番号を入力した後、「住所の同期」ボタンをクリックします。すると、住所情報が補完されます。(図1,図2)

図1 郵便番号を入力し、住所の同期ボタンを押下する
図2 住所が設定される

定義方法

文字列型項目の型詳細設定で「郵便番号」を選択します。このときOKボタンは押すことができません。(図3)

図 郵便番号を選択する

郵便番号に対応する項目を指定します。(図4)指定後、OKボタンを押下します。

図 郵便番号に対応した住所項目を指定する
住所に該当する項目がない場合、郵便番号型を使うことはできません。

検索に関するルール

「郵便番号」型の項目に検索条件を指定した場合、対応する住所項目も合わせて検索条件に指定する必要があります。

郵便番号型項目に対する正規表現チェック

標準では自動的に正規表現チェックが有効になります。「3桁数値 + ハイフン(なしも可)+ 4桁数値」となります。

実行例

郵便番号を途中まで入力して「住所の同期」ボタンをクリックすることもできます。郵便番号と住所の候補についての選択肢が表示されます。

図3では、先頭5桁を入力したところです。

図3 郵便番号を途中まで入力した

「住所の同期」ボタンを押下すると、リストボックスに候補が出力されます。

図4 候補が出力される

候補から一つを選択し、再び「住所の同期」ボタンを押下することで、郵便番号と住所を確定させます。(図5,図6)

図5 候補を選択
図6 郵便番号と住所を確定させる

定義方法

特別な定義はありません。標準で候補出力機能が動作します。

郵便番号は文字列型の一種であるため、標準では「文字列(一般)」フィルタが選択されます。
このフィルタは数値を半角文字に変換しますが、"ー"(全角ハイフン)は全角のままとなります。

そこで改めて「全角→半角」を選択しなおすことでハイフンを半角にすることができるようになります。

Wagby には株式会社アイビスが提供する「zipcloud」と、日本郵政公社が提供する郵便番号データ(事業所別郵便番号)をベースに生成された郵便番号辞書ファイルが同梱されています。

日本郵政公社が提供する郵便番号には、イレギュラーなデータが含まれています。具体的には、プログラムで解釈不可能な、特別表記です。(例:"以下に記載のない住所は xxx とする" など)

株式会社アイビスの「zipcloud」では、このようなイレギュラーデータを可能な限り排除した形で加工されたものを提供しています。(しかし、すべての郵便番号の変換を保証するものではない、ということを予めご了承ください。)

利用している郵便番号

Wagby のバージョン毎に、どの時点の郵便番号データが含まれているかについては、Wagbyの更新情報に記載しています。

ファイルの場所

郵便番号辞書の本体は WEB-INF/jmaster フォルダにある zipcode.dat というバイナリファイルです。

株式会社アイビス様が提供する郵便番号データと、日本郵政公社が提供する事業所の個別郵便番号データを用いて、zipcode.dat を作成する方法を説明します。

  1. 株式会社アイビス様が提供する「zipcloud」にアクセスし、「ダウンロード」リンクをクリックします。同データは無償で公開されています。
    図7 zipcloud
  2. ダウンロードした "ken_allYYYYMM.zip" (YYYYは年号,MMは月) を "ken_all.zip" に改名し、wagbyapp/webapps/wagby/WEB-INF/jmaster に保存します。
  3. 日本郵政公社の郵便番号検索サイト http://www.post.japanpost.jp/zipcode/index.html にアクセスし、「郵便番号データのダウンロード」リンクをクリックします。(毎月一回、月末に更新されます。)
    図8 郵便番号検索サイト
  4. 事業所の個別郵便番号をダウンロードするためのリンクをクリックします。
    図9 事業所の個別郵便番号ダウンロード (1)
  5. zip形式でのダウンロードへのリンクをクリックします。
    図10 事業所の個別郵便番号ダウンロード (2)
  6. 最新データのダウンロードリンクをクリックすると、"jigyosyo.zip" というファイルがダウンロードされます。(ファイルサイズは年月によって異なります。)
    図11 事業所の個別郵便番号ダウンロード (3)
  7. ダウンロードした "jigyosyo.zip" も、wagbyapp/webapps/wagby/WEB-INF/jmaster に保存します。
    図12 jmasterフォルダ
  8. Wagbyアプリケーションを停止します。
  9. コマンドプロンプトを起動し、wagbyapp/webapps/wagby/WEB-INF フォルダに移動します。
    次のコマンドを入力し、実行します。
    java -cp lib/j_util.jar;lib/commons-lang.jar jp.jasminesoft.util.address.GenerateMasterData
    javaコマンドが動作しない場合、「Javaのインストール」手順に従って、Java本体のインストールを行ってください。

    次のように出力されます。

    C:\Wagby-7.x.x\wagbyapp\webapps\wagby\WEB-INF>java -cp lib/j_util.jar;lib/commons-lang.jar jp.jasminesoft.util.address.GenerateMasterData
    Generate Master Data Program. compaction=true
    Reading postal file...done.
    Creating zip file...done.
    
    図13 コマンド実行
  10. wagbyapp/webapps/wagby/WEB-INF/jmaster/zipcode.dat が更新されたことを確認します。
  11. コマンドプロンプトを終了します。
  12. Wagbyアプリケーションを再起動します。
このあとにビルド処理を行った場合は、ここで作成した zipcode.dat を再度、wagbyapp/webapps/wagby/WEB-INF/jmasterフォルダに保存してください。
  • 郵便番号項目を検索条件とした場合、対応する住所項目も合わせて検索条件に指定してください。

model/modelitem/@typeの値は "郵便番号" となります。

住所項目IDを格納するリポジトリキーはmodel/modelitem/zipcodeinfo/@addressfieldです。