拝啓 貴社益々ご清栄のこととお慶び申し上げます。平素は格別なるご高配を賜り誠にありがとうございます。
さて、ACMS Lite Neoバージョン1.4.1以降の同梱版AnyTran(以下、AnyTran)をご利用の一部お客様より、入力の日付項目(年の指定がない月日/MMDD)の変換処理において、値が「0229」(閏年)の場合に変換エラーとなるとのご報告を受け、「原因」および「対処方法」をご案内いたします。
AnyTranの動作としては年の指定がなく月日だけの場合、閏年の判定が出来ないため変換エラーとなることは正しい動作ですが、この動作を意図していないお客様を考慮し、「原因」および「対処方法」を下記の通りご案内いたします。
この事象は、ACMS Lite Neoバージョン1.4.1以降のAnyアプリにおいて本事象が発生いたしますので、下記の「原因」および「対処方法」をご確認のうえご対応いただけますようお願いいたします。
合わせて、変換定義の修正が困難なお客様には、パッチもご提供しております。「対応パッチの提供およびリリース時期」をご確認ください。
尚、ご不明な点などございましたら、貴社担当営業または【お問い合せ先】、サポート契約を締結されているお客様はカスタマ・サポート・サービスまで、ご遠慮なくお問い合せ下さい。
今後とも弊社ならびに弊社製品をよろしくお願い申し上げます。
敬具
記
以下のいずれかの現象が発生する可能性があります。
発生条件
この条件をすべて満たす場合には、以下の変換エラーが発生します。
エラー例
発生条件
この条件をすべて満たす場合には、以下の変換エラーが発生します。
エラー例
AnyTranでは日付の有効範囲を「西暦1年1月1日~西暦9999年12月31日」と定義しています。この範囲に収まらない日付は無効日付として扱います。
AnyTranバージョン5.11.0以前を同梱するACMS Lite Neoバージョン1.3.0以前では、日付の初期値を年「0」、月「1」、日「1」としていました。例えば「MMDD」書式の入力データを「YYYYMMDD」書式で出力する場合には、「YYYY」部に「0000」を補完して出力していましたが、「0000」では無効日付(西暦0年は存在しない)を出力していることになり、またこの動作に起因して日付演算で意図しない結果となるケースがあったため、AnyTranバージョン5.12.0で不具合として改修しました。
AnyTranバージョン5.12.0以降を同梱するACMS Lite Neoバージョン1.4.1では、日付の初期値を年「1」、月「1」、日「1」としました。
AnyTranバージョン5.12.0のリリースノートでのご案内は以下です。
バージョン1.3.0以前では年の初期値として「0」を付加していたため、「MMDD」書式(年の指定がない)の入力データが「0229」となっていた場合、「00000229」として処理を行っていました。結果として、常に閏年と判定し正しい日付と判定されていました。
バージョン1.4.1以降では年の初期値として「1」を付加しているため、「MMDD」書式(年の指定が無い)の入力データが「0229」となっていた場合、「00010229」として処理を行います。そのため不正な日付と判定されエラーが発生します。
本現象が発生する場合には、以下のいずれかの方法で対処をお願いします。
1)変換定義を修正頂く方法
以下の方法で定義してください。
年を持たない日付データの変換処理でエラーが発生する場合
例1:
例2:
ConvDate関数を使った日付データに変換処理でエラーが発生する場合
2)パッチを適用頂く方法
「MMDD」書式(年の指定がない)のデータを解釈する場合に、年の初期値に変換実行時のシステム年を補完して処理を行うパッチをご提供いたします。 このパッチを適用することで、年の初期値が以下のように変わります。
月日しか持たない日付データは、変換実行時点の年と判断してよい場合は、本パッチを適用していただくことで、変換定義を修正することなく期待する結果となります。
またプロパティファイルにて、補完する年に任意の値を指定することも可能です。
パッチのリリース日および入手方法に関しましては、後述の「対応パッチの提供およびリリース時期」をご参照ください。
尚、パッチの適用方法に関しましては、同梱されるリリースノートをご覧ください。
ACMS Lite Neo バージョン1.4.1以降
※ ACMS Lite NeoのAnyアプリをご利用でない場合には、該当しません。
パッチは、弊社ダウンロードサイトよりご提供いたします。
ACMS Lite Neo |
AnyTran バージョン |
パッチダウンロードURL |
---|---|---|
1.4.1 | 5.12 | http://www.dal.co.jp/download/acmsliteneo/Patch_Any_Tran.zip ※インストール手順は、zipファイル内の「patch_install_AnyTran.pdf」をご覧ください。 |
1.5.0 | ||
1.6.0 | ||
1.7.0 |
お客様が作成されたAnyTran変換定義(.any)が、本お知らせの事象に該当するかを事前に検出するツールについてのご案内です。
つきましては、本ツールをご利用いただき、対応の有無をご確認ください。ツールの実行でファイル名が出力された場合は、定義内容をご確認の上、変換定義を変更いただくか、パッチの適用をお願いいたします。ツールの使用方法については、下記をご覧ください
当ツールは、簡易的に変換エラーとなる可能性のある変換定義ファイルを検出いたします。
このため、検出された変換定義ファイルの全てが変換エラーとなるわけではございません。
検出された場合には、対象の変換定義ファイルを開いて頂き、文字列検索機能にて以下の条件で検索頂き、該当箇所をご確認のうえ上述の「現象」の「発生条件」に該当しているかのご確認をお願いいたします。
・検索文字列:「MM」または「DD」
・検索属性:「すべて」
「発生条件」に該当していない場合は、対処の必要はございません。
ツールは、以下のURLよりのダウンロードしてください。
http://www.dal.co.jp/download/anytran/AnyCheck/AnyCheck.zi_
(使用方法)
以上
【お問い合せ先】
株式会社データ・アプリケーション
営業本部
TEL. 03-5640-8544 E-Mail sales@dal.co.jp