intra-mart Accel Platformにおいて元号に関する影響範囲は以下のとおりです。
(1) intra-mart Accel Platform標準状態において、IM-Workflowの印影機能に元号を利用する機能があります。
(2) お客様において日付フォーマットとして年数を表すパターン文字列に "GGGG" または "G"を使用している場合は元号が利用されます。
(3) お客様においてModule.calendar APIを使用している場合は元号が利用されます。
(4) 元号を利用している機能があります。
(1)と(2)においては元号に関する情報はJava内部で設定されているものを利用します。
追加された元号に対応する方法については以下のいずれかの方法があります。
1.新元号が決定された後にリリースされるJavaにアップデートを行います。
新元号(令和)が2019年4月1日に発表されました。
それに伴い Oracle社 より2019年4月16日に新元号(令和)対応のアップデートがリリースされました。
弊社としてはJDKのアップデートを奨励します。
Java 7 の場合
Oracle社とサポート契約後、JDK 7u221以降にアップデートしてください。
JDK 7u221以降にアップデートできない場合は、2.の方法を実施してください。
Java 8 の場合
Oracle社とサポート契約後、JDK 8u211以降にアップデートしてください。
JDK 8u221以降にアップデートできない場合は、2.の方法を実施してください。
OpenJDK 11(Oracle JDK 11を除く) の場合
JDK 11.0.3以降にアップデートしてください。
JDK 11.0.3以降にアップデートできない場合は、2.の方法を実施してください。
Oracle JDK 11 の場合
Oracle社とサポート契約後、JDK 11.0.3以降にアップデートしてください。
JDK 11.0.3以降にアップデートできない場合は、2.の方法を実施してください。
2.Javaの設定を変更します。
Java 7 および 8 の場合
Javaの設定を変更する場合は、%JAVA_HOME/jre/lib/calendars.propertiesを変更します。
calendar.japanese.erasの値を以下のように変更してください。
calendar.japanese.eras: \
name=Meiji,abbr=M,since=-3218832000000; \
name=Taisho,abbr=T,since=-1812153600000; \
name=Showa,abbr=S,since=-1357603200000; \
name=Heisei,abbr=H,since=600220800000; \
name=NewEras,abbr=N,since=1546300800000
nameには年号名を指定してください。全角表記を行う必要がある場合は、native2ascii等を利用してエスケープした文字列を指定してください。
addrには略語を指定してください。
sinceには対象の元号を開始する時間をエポックミリ秒で指定してください。
新元号(令和)に対応する場合
name=NewEras,abbr=N,since=1546300800000 を 以下に変更します。
name=\u4ee4\u548c,abbr=R,since=1556668800000
OpenJDK 11(OracleJDKを含む) の場合
アプリケーションサーバ起動時のJVMオプションに以下を追加してください。
-Djdk.calendar.japanese.supplemental.era="name=NewEras,abbr=N,since=1546300800000"
nameには年号名を指定してください。全角表記を行う必要がある場合は、native2ascii等を利用してエスケープした文字列を指定してください。
addrには略語を指定してください。
sinceには対象の元号を開始する時間をエポックミリ秒で指定してください。
新元号(令和)に対応する場合のJVNプションは以下です。
-Djdk.calendar.japanese.supplemental.era="name=令和,abbr=R,since=1556668800000"
また、OpenJDKを利用し、Java8と同様の動作としたい場合は、以下を追加してください。
-Djava.locale.providers=COMPAT,CLDR
Javaの和暦の扱いについては以下を参照してください。
http://docs.oracle.com/javase/jp/8/docs/technotes/guides/intl/calendar.doc.html#japanese
(3)においては、起動時にModule.calendar.set(String name, String key, Number year, Number month, Number day)を呼びだすことで
新しい元号を追加することが可能です。
(4)については2019/04/19にパッチをリリースしております。
パッチの内容については以下を参照してください。
https://issue.intra-mart.jp/projects/iap/issues?query_id=484
https://issue.intra-mart.jp/projects/spreadsheet/issues?query_id=485
詳しくは、下記のドキュメントを参照してください。
https://www.intra-mart.jp/apidoc/iap/apilist-ssjs/doc/platform/Module.calendar/index.html#method-set_3
-- 対象 ------------------------------------------------------------------------
iAP/全バージョン
--------------------------------------------------------------------------------
FAQID:632
intra-mart Accel Platformにおける元号追加の影響について教えてください。
