Appeon PowerBuilderの改元対応(改訂版)

改元対応

※2019年4月1日の元号の公表に伴い、元号を「仮元」から「令和」に変更し文章を一部改訂しています。


こんにちは、サポート部のまさよしです。

2019年5月1日の改元に先立ち、2019年4月1日に新元号「令和 (れいわ)」が公表されました。PowerBuilderユーザーの皆様でもアプリケーションで元号を利用している方は多いのではないでしょうか?

そこで今回は、Appeon PowerBuilderにおける元号の取り扱いについてご紹介します。


元号の取得/表示機能

PowerBuilderで元号を使用するには、日付書式が設定可能な次の項目において、特定の書式を用いることで取得/表示することができます。

  • String 関数
  • エディットマスク
  • データウィンドウのカラム

元号の表示に使用する書式は次のとおりです。

  • gg:元号(昭和、平成など)
  • nn:元号の年

書式設定で「ggnn年mm月dd日」のように設定することで、「平成31年03月26日」といった元号の日付を取得できます。また、エディットマスクでは元号のイニシャル(平成であれば「h」、昭和であれば「s」)をキー入力することで、対応した元号が表示できます。

しかしながら、この機能は 12.5.1 以前のバージョンでは「平成」までしか対応しておらず、改元には対応ができません。もちろんPowerBuilder 2017 日本語版では新元号に対応可能ですので、過去バージョンをご利用の方はぜひ新しいPowerBuilderへのマイグレーションを検討してみてはいかがでしょうか。

* 12.5.2及び12.6日本語版では実行環境に特別なINIファイルを配布することで新元号に対応できます。


Appeon PowerBuilder 2017 R2/R3 日本語版での改元対応

元号の表示に使用する情報の参照先は、PowerBuilderのバージョンによって異なりますが、PowerBuilder 2017 R2以降の日本語版では実行環境のシステムレジストリを参照します。このレジストリは、Windows Updateを行うことで新元号が追加される予定になっており、更新後は自動的にPowerBuilderアプリケーションにも適用されます。Windows Updateを待たず事前に確認したい場合や、Windows Updateが行えないオフラインの環境等ではレジストリを追加することで対応が可能です。

早速、PowerBuilderで開発したアプリケーションの新元号の検証を行ってみます。追加するレジストリは次の通りです。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]

Windows Updateより前に新元号を適用するためには上記レジストリキーに新規で文字列値を作成します。「値の名前」は既に登録されている元号からもわかるように “YYYY MM DD” という形式なので、今回の改元では “2019 05 01” とします。「値のデータ」も他の元号を見習って “(元号名)_(1文字目)_(ローマ字表記)_(イニシャル)” と設定します。例えば次の通りです。

令和_令_Reiwa_R

元号に関するレジストリ

レジストリエディタで追加

IDEを再起動後、下記スクリプトで「令和」が表示できるか確認します。

string ls_msg

ls_msg = String(Date("2019/4/30"), "ggnn年mm月dd日") + "~r~n" + &
         String(Date("2019/5/1"), "ggnn年mm月dd日")

MessageBox("検証", ls_msg)

結果はこの通り。2019/5/1からは新しい元号で表示されました。

実行結果

Windows Updateでのレジストリ追加に関する情報はMicrosoft Supportページにも記載されているので、詳しくはこちらを参照してください。

※レジストリの操作はシステムの深刻な問題を引き起こす可能性があるため十分に注意してください。また事前にバックアップを作成することをお勧めします。


Appeon PowerServer 2017 日本語版での改元対応

なお、2017 日本語版では旧バージョンと同様に特別なINIファイルを用意し、PowerServer Toolkitを使用してアプリケーションと一緒にデプロイすることで新元号に対応できます。設定方法はPowerServerオンラインヘルプの Supported PB Features for PowerServer Web (英語)をご覧ください。


まとめ

ご紹介したようにAppeon PowerBuilderアプリケーションは元号情報をOSから取得しているので基本的にプログラムを修正する必要はありませんし、ファイル等の配布も不要なので以前のバージョンに比べて新元号への対応が楽になりました。

改元対応はもちろんのこと、テクニカルブログでも紹介している新機能や今後リリース予定の機能を含め、PowerBuilderの進化はこれからも加速していきますので、最新バージョンのPowerBuilderをぜひご利用ください。

以上、サポート部のまさよしでした。

テクニカルブログ 一覧を見る
PowerBuilder マイグレーション
PowerBuilder学習、動画で始めちゃう?