4.4. カレンダー¶
移行の基本方針は以下の通りです。
- 移行する
- 名称
- 休日
- 非休日
- 移行しない
- 公休日
- 「名称/休日/非休日」のうち、プラグインがセットされたもの
4.4.1. 制限事項の補足¶
intra-mart Accel Platform には、プラグイン機能が提供されていないため、プラグインをセットしたカレンダーデータは移行しません。
version 7.2 標準で設定されている「名称」の「月~土曜日」および「休日」の「日曜日」は、そのまま、名称や休日として移行されます。
- intra-mart Accel Platform ではカレンダーごとに曜日設定が可能なため、情報が重複しないよう、必要に応じて再設定してください。
- なお、移行モジュールでは、曜日のカラーと休日判定は、以下のように設定します。
曜日 カラー 休日判定 日曜 #ff0000 休日 月~金曜 #000000 土曜 #0000ff 国際化項目は version 7.2 に存在する言語のみ移行されます。
- intra-mart Accel Platform は標準で日英中に対応しているので、必要に応じて追加設定してください。
version 7.2 のテーブルはリネームして残します。
- テーブルと名称
- b_m_calendar_info_b → b_m_calendar_info_b_72
- b_m_calendar_info_i → b_m_calendar_info_i_72
APIからこれらのテーブルにアクセスすることは出来ません。
上記テーブルは、今後プラグイン情報の移行時に必要となる予定ですので、データ削除やテーブル削除は行わないでください。
日付情報テーブルの無効値が変更されます。
以下の項目は、 version 7.2 では無効値として-1がセットされていましたが、 intra-mart Accel Platform ではNULLに変更されます。
項目名 列名 年 year 月 month 日 day 週 week 次 times 曜日 day_week 有効開始年 valid_start_year 有効終了年 valid_end_year
4.4.2. テナント環境セットアップ処理内容¶
テナント管理機能のセットアップ設定ファイルを差し替え、以下の処理を行います。
4.4.2.1. テナントデータベースに対するDDL/DMLの発行¶
既存の2テーブルをリネーム
version 7.2 テーブル名称 リネーム後テーブル名称 b_m_calendar_info_b b_m_calendar_info_b_72 b_m_calendar_info_i b_m_calendar_info_i_72 intra-mart Accel Platform 標準テーブル作成
標準のDDLを使用します。
データ移行
詳細はこの後の「データ移行仕様」を参照してください。
4.4.2.2. 拡張インポートの実行¶
カラーコード変換
カラーコードマッピング に従い、対応するカラーコードに変換します。
NOT NULL制約追加
b_m_day_info_b.color カラムにNOT NULL制約を追加を追加します。
4.4.3. データ移行仕様¶
4.4.3.1. カレンダー情報(b_m_calendar_info_b)¶
カレンダーIDごとに、1レコード登録します。
列名 設定内容 calendar_id b_m_calendar_info_b_72.calendar_id sort_key 0 create_user_cd ‘system’ create_date 現在日時 record_user_cd ‘system’ record_date 現在日時
4.4.3.2. カレンダー国際化(b_m_calendar_info_i)¶
カレンダーID×ロケールごとに、1レコード登録します。
列名 設定内容 calendar_id b_m_calendar_info_i_72.calendar_id locale_id b_m_calendar_info_i_72.locale_id calendar_name b_m_calendar_info_i_72.calendar_id create_user_cd ‘system’ create_date 現在日時 record_user_cd ‘system’ record_date 現在日時
4.4.3.3. カレンダー週情報(b_m_calendar_week_b)¶
カレンダーIDごとに、日~土曜の7レコード登録します。
列名 設定内容 calendar_id b_m_calendar_info_i_72.calendar_id day_of_week 日曜:1~土曜:7 color 日曜:#ff0000、月~金曜:#000000、土曜:#0000ff isholiday 日曜はtrue、それ以外はfalse create_user_cd ‘system’ create_date 現在日時 record_user_cd ‘system’ record_date 現在日時
4.4.3.4. カレンダーマージ設定(b_m_calendar_merge_b)¶
カレンダーIDごとに、1レコード登録します。
列名 設定内容 calendar_id b_m_calendar_info_b_72.calendar_id day_info_set_id b_m_calendar_info_b_72.calendar_id sort_key 0 create_user_cd ‘system’ create_date 現在日時 record_user_cd ‘system’ record_date 現在日時
4.4.3.5. カレンダー日付情報セット(b_m_day_info_set_b)¶
カレンダーIDごとに、1レコード登録します。
列名 設定内容 day_info_set_id b_m_calendar_info_b_72.calendar_id first_day_of_week 1(日曜)をセット sort_key 0 create_user_cd ‘system’ create_date 現在日時 record_user_cd ‘system’ record_date 現在日時
4.4.3.6. カレンダー日付情報セット国際化(b_m_day_info_set_i)¶
カレンダーID×ロケールごとに、1レコード登録します。
列名 設定内容 day_info_set_id b_m_calendar_info_i_72.calendar_id locale_id b_m_calendar_info_i_72.locale_id day_info_set_name b_m_calendar_info_i_72.calendar_id create_user_cd ‘system’ create_date 現在日時 record_user_cd ‘system’ record_date 現在日時
4.4.3.7. カレンダー日付情報(b_m_day_info_b)¶
b_m_calendar_info_b_72 をもとにして、以下の条件を全て満たすレコードを登録します。
- データタイプが「名称」「非休日」「休日」のいずれかであること
- プラグイン関数が設定されてないこと
列名 設定内容 day_info_set_id b_m_calendar_info_b_72.calendar_id day_info_id b_m_calendar_info_b_72.data_id data_type b_m_calendar_info_b_72.data_type full_year b_m_calendar_info_b_72.year、ただしyearが-1のときはnull month_of_year b_m_calendar_info_b_72.month -1、ただしmonth が-1のときはnull day_of_month b_m_calendar_info_b_72.day、ただしdayが-1のときはnull week_of_month b_m_calendar_info_b_72.week、ただしweekが-1のときはnull day_of_week_in_month b_m_calendar_info_b_72.times、ただしtimesが-1のときはnull day_of_week b_m_calendar_info_b_72.day_week + 1、ただしday_weekが-1のときはnull valid_start_year b_m_calendar_info_b_72.valid_start_year、ただしvalid_start_yearが-1のときはnull valid_end_year b_m_calendar_info_b_72.valid_end_year、ただしvalid_end_yearが-1のときはnull color 色名に対して、 カラーコードマッピング に従い、対応するカラーコードに変換。NULLや空文字列、マッピングにない文字列等の場合、”#808080”に変換。それ以外はb_m_calendar_info_b_72.colorをセット。NOT NULL制約を追加。 sort_key v72のソート値に従って並べた順番 create_user_cd b_m_calendar_info_b_72.record_user_cd create_date b_m_calendar_info_b_72.record_date record_user_cd カラー変換しない場合、b_m_calendar_info_b_72.record_user_cd。カラー変換した場合、システム管理者ユーザコード。 record_date カラー変換しない場合、b_m_calendar_info_b_72.record_date。カラー変換した場合、現在日時。 コラム
month_of_year、day_of_week の値は、java.util.Calendar の仕様と合致させるため、下記の値に変更されました。
この仕様変更にあわせて、month_of_year を -1、day_of_week を +1 した値に変換して移行します。
項目 intra-mart WebPlatform / AppFramework intra-mart Accel Platform month_of_year 1~12 0~11 day_of_week 0~6が日~土 1~7が日~土 コラム
intra-mart Accel Platform より設定できるようになった「ソートキー」は、 intra-mart WebPlatform / AppFramework の日付情報検索時のソート内容から設定します。version 7.2 の日付情報検索時のソート内容は以下の通りです。
「年 月 日 曜日 回 週」の順に、設定があれば1を、なければ0とした数値を生成する
- 「設定なし」は、”-1” が入っています
上記数値に、データタイプの1文字目のASCIIコードを加算する
例)父の日…名称、(毎年)6月、日曜日、第3回目 の場合
数値化
年 月 日 曜日 回 週 数値化結果 -1 6 -1 0 3 -1 010110 ASCIIコード加算
データタイプ 1文字目のASCIIコード値 config 99 10110 + 99 = 10209
上記2で求めた数値で大小を比較する
もし、同じ値だった場合は、データタイプの1文字目のASCIIコードで大小を比較する
コラム
「表示色(color)」に色名がセットされている場合、対応するカラーコードに変換します。
- version 7.2 では表示色に対し、APIを使用して色名(例 “red”)をセットすることができましたが、 intra-mart Accel Platform ではカラーコードのみ設定可能となる仕様変更に対応します。
- カラーコードマッピング に従い、色名をカラーコードに変換します。
- なお、NULLや空文字列、マッピングにない文字列等の場合、”#808080”に変換します。
4.4.3.8. カレンダー日付情報国際化(b_m_day_info_i)¶
b_m_day_info_bに登録されたデータに対して、b_m_calendar_info_i_72 をもとにして登録します。
列名 設定内容 day_info_set_id b_m_calendar_info_i_72.calendar_id day_info_id b_m_calendar_info_i_72.data_id locale_id b_m_calendar_info_i_72.locale_id day_info_name b_m_calendar_info_i_72.display_name create_user_cd b_m_calendar_info_b_72.record_user_cd create_date b_m_calendar_info_b_72.record_date record_user_cd カラー変換しない場合、b_m_calendar_info_b_72.record_user_cd。カラー変換した場合、システム管理者ユーザコード。 record_date カラー変換しない場合、b_m_calendar_info_b_72.record_date。カラー変換した場合、現在日時。