お 客 様 各 位 2016 年 2 月 16 日 ( 改 訂 日 :2016 年 2 月 25 日 ) 改 訂 履 歴 は 最 終 ページに 記 載 株 式 会 社 セゾン 情 報 システムズ HULFT 事 業 部 HDC-EDI Base の Any 変 換 における 閏 年 の 取 り 扱 いに 関 する 重 要 なお 知 らせ HDC-EDI Base Ver.3.6.0 以 降 に 含 まれている Any 変 換 において 入 力 または 出 力 の 日 付 項 目 ( 年 の 指 定 がない 月 日 /MMDD)の 変 換 処 理 において 値 が 0229 ( 閏 年 )の 場 合 に 変 換 エラーとなります Any 変 換 の 動 作 としては 年 の 指 定 がなく 月 日 だけの 場 合 閏 年 の 判 定 が 出 来 ないため 変 換 エラーとな ることは 正 しい 動 作 ですが この 動 作 を 意 図 していないお 客 様 を 考 慮 し 原 因 および 対 処 方 法 を 下 記 の 通 りご 案 内 いたします 合 わせて 保 守 契 約 を 締 結 いただいているお 客 様 には パッチを 提 供 いたしますので 下 記 対 応 パッ チの 提 供 をご 確 認 いただけますようお 願 いいたします なお ご 不 明 な 点 などございましたら 貴 社 担 当 営 業 またはテクニカルサポートセンターの 問 い 合 わ せ 窓 口 まで ご 遠 慮 なくお 問 い 合 せ 下 さい - 記 - 敬 具 1. 対 象 製 品 HDC-EDI Base B2B / E2X / B2B LE Ver.3.6.0 ~ 4.3.0 2. 発 生 事 象 以 下 のいずれかの 現 象 が 発 生 する 可 能 性 があります 1) 年 を 持 たない 日 付 データの 変 換 処 理 でエラーが 発 生 する 発 生 条 件 入 力 フォーマットに 年 も 持 たない 日 付 タイプの 項 目 が 存 在 する 日 付 書 式 として MMDD MM/DD DDMM など 年 部 を 持 たない 日 付 データが 相 当 この 項 目 を 出 力 側 で 利 用 している 変 換 実 行 時 上 記 の 入 力 項 目 の 値 として 月 部 に 02 日 部 に 29 がセットされている この 条 件 をすべて 満 たす 場 合 には 以 下 の 変 換 エラーが 発 生 します
<エラー 例 > エラーログ Error : [No.2202] rec::item ( 詳 細 位 置 0:0:1) 項 目 item の 日 時 への 変 換 に 失 敗 しました 0x30323239 Error : [No.2221] :: 読 込 み 単 位 内 での 不 正 を 検 出 し 停 止 します ( 入 力 レコード 1-1) 2)ConvDate 関 数 を 使 った 日 付 データへの 変 換 処 理 でエラーが 発 生 する 発 生 条 件 出 力 側 の 任 意 の 位 置 で ConvDate 関 数 を 利 用 して 文 字 列 データを 日 付 データに 変 換 している 変 換 対 象 の 文 字 列 データは 月 日 相 当 の 値 ( 日 付 書 式 として MMDD MM/DD DDMM など 年 部 を 持 たない 日 付 データ)だけを 持 っている 記 述 例 :ConvDate(:{in}.{item},"MMDD") 変 換 実 行 時 :{in}.{item}の 値 として 0229 がセットされている この 条 件 をすべて 満 たす 場 合 には 以 下 の 変 換 エラーが 発 生 します <エラー 例 > エラーログ Error : [No.2215] out::item ( 詳 細 位 置 0:0:1) 日 付 型 へ 変 換 できない 引 数 0229 を ConvDate 関 数 で 検 出 しました ( 日 付 書 式 MMDD) Error : [No.2221] :: 読 込 み 単 位 内 での 不 正 を 検 出 し 停 止 します ( 入 力 レコード 1-1)
3. 発 生 原 因 Any 変 換 では 日 付 の 有 効 範 囲 を 西 暦 1 年 1 月 1 日 ~ 西 暦 9999 年 12 月 31 日 と 定 義 しています この 範 囲 に 収 まらない 日 付 は 無 効 日 付 として 扱 います HDC-EDI Base Ver. 3.6.0 未 満 では 日 付 の 初 期 値 を 年 0 月 1 日 1 としていました 例 えば MMDD 書 式 の 入 力 データを YYYYMMDD 書 式 で 出 力 する 場 合 には YYYY 部 に 0000 を 補 完 して 出 力 していましたが 0000 では 無 効 日 付 ( 西 暦 0 年 は 存 在 しない)を 出 力 しているこ とになり またこの 動 作 に 起 因 して 日 付 演 算 で 意 図 しない 結 果 となるケースがあったため HDC-EDI Base Ver. 3.6.0 で 不 具 合 として 改 修 しました HDC-EDI Base Ver. 3.6.0 以 降 では 日 付 の 初 期 値 を 年 1 月 1 日 1 としました HDC-EDI Base Ver. 3.6.0 でのご 案 内 を 以 下 に 記 載 します 入 力 項 目 が 空 値 の 場 合 に 出 力 データが 作 成 されない 問 題 - Tchar 関 数 Tchar 関 数 を 利 用 した 変 換 において 出 力 データが 正 しく 作 成 されない または 変 換 が 異 常 終 了 する 問 題 に 対 応 しました [ 発 生 条 件 ] Tchar 関 数 の 第 1 引 数 ( 日 付 )で 空 値 または 無 効 日 付 に 対 する 演 算 をしている [ANY:324] HDC-EDI Base Ver. 3.6.0 未 満 では 年 の 初 期 値 として 0 を 付 加 していたため MMDD 書 式 ( 年 の 指 定 がない)の 入 力 データが 0229 となっていた 場 合 00000229 として 処 理 を 行 って いました 結 果 として 常 に 閏 年 と 判 定 し 正 しい 日 付 と 判 定 されていました HDC-EDI Base Ver. 3.6.0 以 降 では 年 の 初 期 値 として 1 を 付 加 しているため MMDD 書 式 ( 年 の 指 定 が 無 い)の 入 力 データが 0229 となっていた 場 合 00010229 として 処 理 を 行 います そのため 不 正 な 日 付 と 判 定 されエラーが 発 生 します 4. 年 指 定 のない 日 付 書 式 を 使 用 している 変 換 定 義 の 検 出 ツールの 提 供 AnyTran 5.12.0 以 降 で 発 生 する 年 の 指 定 がない 月 日 /MMDD の 変 換 処 理 にて 値 が 閏 年 0229 の 場 合 に 変 換 エラーとなる 可 能 性 がある AnyTran 変 換 定 義 (.any)を 検 出 するツールを 用 意 いたしました 本 ツールをご 利 用 いただき 対 応 の 有 無 をご 確 認 ください ツールの 実 行 でファイル 名 が 出 力 された 場 合 は 本 事 象 に 該 当 する 定 義 体 だけではなく 該 当 しない 定 義 体 も 検 出 される 可 能 性 があります そのため お 客 様 で 定 義 内 容 をご 確 認 の 上 本 事 象 に 該 当 する 際 は 変 換 定 義 を 変 更 いただくか パッチの 適 用 をお 願 いいたします ツールの 使 用 方 法 については ダウンロードしたファイルを 展 開 すると UNIX と Windows フォルダ の2つがありますので 適 用 する 環 境 の README.txt をご 参 照 ください ツールは 以 下 の URL よりダウンロードしてください http://www.hulft.com/download/hdctest/module/hdc_edi_anycheck_dl.html
5. 対 処 方 法 本 現 象 が 発 生 する 場 合 には 以 下 のいずれかの 方 法 で 対 処 をお 願 いします 1) 変 換 定 義 を 修 正 頂 く 方 法 以 下 の 方 法 で 定 義 してください 年 を 持 たない 日 付 データの 変 換 処 理 でエラーが 発 生 する 場 合 1. 入 力 フォーマットに 定 義 された 該 当 の 日 付 項 目 ( MMDD 書 式 ( 年 の 指 定 がない)を 日 付 タイプから 混 在 文 字 列 タイプに 変 更 する 2.この 項 目 を 利 用 している 出 力 側 の 位 置 で ConvDate 関 数 を 使 用 して 妥 当 な 年 を 付 加 して 日 付 データ 変 換 する 例 1: ConvDate(Dchar(SysDate(), "YYYY")+:{REC}.{ITEM},"YYYYMMDD") => :{REC}.{ITEM}が 0229 の 場 合 20160229 となる Dchar(SysDate(), "YYYY")は 現 在 年 を 取 得 しています (2016 年 ) 最 終 的 な 出 力 値 は その 項 目 で 設 定 している 日 付 書 式 で 出 力 されます 例 2: ConvDate( 2016 +:{REC}.{ITEM},"YYYYMMDD") 年 に 固 定 値 を 記 載 する 方 法 でも 構 いません ConvDate 関 数 を 使 った 日 付 データに 変 換 処 理 でエラーが 発 生 する 場 合 1. 変 換 対 象 の 文 字 列 データに 妥 当 な 年 を 付 加 して 日 付 データに 変 換 する( 変 換 方 法 は 上 記 の 例 1 例 2 を 参 照 してください) 2)パッチを 適 用 頂 く 方 法 MMDD 書 式 ( 年 の 指 定 がない)のデータを 解 釈 する 場 合 に 年 の 初 期 値 に 変 換 実 行 時 のシステム 年 を 補 完 して 処 理 を 行 うパッチをご 提 供 いたします このパッチを 適 用 することで 年 の 初 期 値 が 以 下 のように 変 わります 適 用 前 : 0001 適 用 後 : システム 年 ( 現 時 点 であれば 2016 )
月 日 しか 持 たない 日 付 データは 変 換 実 行 時 点 の 年 と 判 断 してよい 場 合 は 本 パッチを 適 用 していただく ことで 変 換 定 義 を 修 正 することなく 期 待 する 結 果 となります またプロパティファイルにて 補 完 する 年 に 任 意 の 値 を 指 定 することも 可 能 です パッチのリリース 日 および 入 手 方 法 に 関 しましては 後 述 の 6. 対 応 パッチの 提 供 方 法 をご 参 照 ください 尚 パッチの 適 用 方 法 に 関 しましては 同 梱 されるリリースノートをご 覧 ください 6. 対 応 パッチの 提 供 方 法 2 月 16 日 より 技 術 サポート 専 用 サイトの [ツール] にて 提 供 しておりますので そちらの 案 内 をご 覧 の うえ ダウンロードいただきますようお 願 いいたします 詳 細 はテクニカルサポートセンターの 問 い 合 わせ 窓 口 までご 連 絡 ください 上 記 問 い 合 わせ 先 がご 不 明 の 場 合 は HULFT カスタマーライセンスサイトにてご 確 認 ください 改 訂 履 歴 2016 年 2 月 16 日 初 版 作 成 2016 年 2 月 19 日 4. 年 指 定 のない 日 付 書 式 を 使 用 している 変 換 定 義 の 検 出 ツールの 提 供 および 検 出 ツールを 更 新 しました 2016 年 2 月 25 日 2. 発 生 状 況 5. 対 処 方 法 を 更 新 しました 以 上