日時型カラムを含む既存テーブルからマスタメンテナンスアプリケーションを作成する手順

2025 Autumn のアップデートにより、日時型の辞書項目を含むエンティティから、マスタメンテナンステンプレートでアプリケーションを作成できるようになりました。
本記事では、「エンティティを選択」を利用して、日時型カラムを含む既存テーブルからアプリケーションを作成する方法を解説します。

※ マスタメンテナンステンプレートの詳細は、以下のドキュメントを参照してください。

変更点

2025 Spring 以前のマスタメンテナンステンプレートでは、日時型の辞書項目を利用できませんでした。
既存エンティティを選択する方法では、日時型のデータ型が設定されていると、対象外である旨のバリデーションエラーが表示されていました。

上記の理由により、日時型カラムを含むテーブルを取り込むには、一度日付型に変換してアプリケーションを作成し、後ほど日時型に戻すという回り道が必要でした。

2025 Autumn で日時型の辞書項目が利用できるようになり、一部手順が不要になりました。

# 2025 Spring 以前 2025 Autumn 以降
1 テーブル内の日時型のカラムを、日付型に変更する 不要
2 IM-Repository の「テーブルからのエンティティ作成」でエンティティを作成する 必要
3 Accel Studio でマスタメンテナンステンプレート(エンティティを選択)からアプリケーションを作成する 必要
4 エンティティに紐づいている辞書項目の型を日付型から日時型に戻す 不要
5 エンティティを更新する 不要
6 テンプレートから生成された画面のエンティティを再読み込みする 不要
7 登録・編集・参照画面で日付入力要素のみの箇所に時刻入力要素を追加する 不要

2025 Autumn 以降では、元の手順 2 と 3 のみで作成できます。
テーブルの型を変更する必要も、生成後の画面に手を入れる必要もありません。

対象外となるケース

以下の場合、データベース日時型の辞書項目を利用したアプリケーション作成は対象外です。

  • マスタメンテナンス以外のテンプレートを利用する場合
  • マスタメンテナンステンプレートで「Excelファイルを利用」してアプリケーションを作成する場合

完成サンプル

本記事では、受注情報を管理する「Sample Order Management」アプリケーションを作成します。
一覧・登録・編集・参照画面を備え、「Order Datetime」は時刻まで含めて表示・入力できます。

cookbook268248_019

以下の完成サンプルをダウンロードしてご活用ください。
完成サンプルアプリケーション:cookbook268248_accel-studio-application.zip

「サイトマップ」→「Accel Studio」→「アプリケーション管理」→「アプリケーション一覧」→「インポート」にアクセスし、完成サンプルアプリケーションをインポートできます。

前提条件

  • 2025 Autumn 以降のバージョンであること
  • 日時型のカラムを含むテーブルがデータベースに作成済みであること

サンプルテーブルの準備

本記事では、日時型のカラムを持つ受注テーブル sample_order をもとに、手順を進めます。

表示名 物理名 データ型 備考
Order No order_no 文字列 主キー
Company Name company_name 文字列
Order Amount order_amount 数値
Order Datetime order_datetime 日時
Delivery Date delivery_date 日付

同じテーブルでお試しいただく場合は、以下の手順を実施してください。

1. テーブルを作成する

テナント管理者ロールを付与されたアカウントでログインし、「サイトマップ」→「テナント管理」→「データベース操作」から、以下のSQL文を実行します。
このSQL文は PostgreSQL の例です。
他のデータベースを利用する場合は、データ型を読み替えてください。

CREATE TABLE sample_order (
    order_no       VARCHAR(1000)   NOT NULL,
    company_name   VARCHAR(100),
    order_amount   NUMERIC(12,0),
    order_datetime TIMESTAMP,
    delivery_date  DATE,
    PRIMARY KEY (order_no)
);

2. サンプルデータを登録する

「サイトマップ」→「TableMaintenance」→「テーブル一覧」画面で、sample_order と検索し、検索結果からテーブル名 sample_order をクリックします。

cookbook268248_001

画面上部の「インポート」をクリックし、解凍したサンプルデータのCSVファイルをインポートします。

cookbook268248_002

以上で、サンプルテーブルの準備は完了です。

手順

1. IM-Repository でエンティティを作成する

「サイトマップ」→「Repository」→「テーブルからのエンティティ作成」をクリックします。
「1 テーブルの選択」タブにて、今回は接続先のデータベースとして「テナントデータベース」を選択し、取り込む対象のテーブル名として sample_order を選択します。
選択後、「カラム情報の読み込み」ボタンをクリックしてください。

cookbook268248_003

「2 エンティティ情報の設定」タブにて、エンティティ内の「エンティティカテゴリ」には、任意のカテゴリを選択します。
次に、エンティティIDおよびエンティティ名を確認します。
また、今回はエンティティを新規作成するので、「エンティティ情報とテーブルの差分表示」の確認は不要です。

cookbook268248_004

エンティティ項目内の表について、取得したカラム情報と紐づける項目情報を確認します。
今回は「項目名」を以下の通りに編集してください。

カラム名 項目名
order_no Order No
company_name Company Name
order_amount Order Amount
order_datetime Order Datetime
delivery_date Delivery Date

cookbook268248_005

「エンティティ作成」ボタンをクリックし、エンティティを作成します。

cookbook268248_006

「3 エンティティ作成結果」タブにて、テーブルからエンティティが作成されたことを確認します。

cookbook268248_007

2. マスタメンテナンステンプレートからアプリケーションを作成する

「サイトマップ」→「Accel Studio」→「アプリケーション作成」→「業務アプリケーション一覧」をクリックし、業務テンプレート一覧画面を開きます。
「マスタメンテナンス」テンプレートの「次へ」をクリックします。

cookbook268248_008

「エンティティを選択」の「次へ」をクリックします。

cookbook268248_009

作成するアプリケーションの情報を入力します。

  • アプリケーションID: sample_order_management
  • アプリケーション名: Sample Order Management

cookbook268248_010

「扱うデータの定義」の「エンティティを選択」をクリックし、手順 1 で作成したエンティティ sample_order を選択します。

cookbook268248_011

表示された項目設定を確認します。
「Order Datetime」のデータ型が「日時」と表示されています。
なお、この画面では、「Order Amount」のデータ型は「浮動小数点数」と表示されます。

cookbook268248_012

画面下部の「アプリケーション作成」ボタンをクリックし、ビルドを実行します。

cookbook268248_013

以上でアプリケーションの作成は完了です。
画面やロジックへの追加作業はありません。

「作成された『一覧画面』へはこちらの詳細アイコンから遷移できます。」の行の右側のアイコンをクリックし、Sample Order Management アプリケーションの一覧画面に移動して、動作を確認します。

cookbook268248_014

動作確認

Sample Order Management アプリケーションの一覧画面の「Order Datetime」カラムに、時刻を含む日時が表示されていることを確認できます。

右上の新規作成ボタンから登録画面を開きます。

cookbook268248_015

「Order Datetime」の入力欄に、日付と時刻の両方が入力できることを確認してください。

cookbook268248_016

任意の値を入力して登録すると、時刻まで含めてデータが保存されます。

cookbook268248_017

まとめ

日時型カラムを含むテーブルからマスタメンテナンスアプリケーションを作成する手順は、2025 Autumn のリリースにより、IM-Repository でエンティティを作成し、テンプレートでアプリケーションを作成するのみとなりました。

日付型への変換や、生成された画面への時刻入力要素の追加は必要ありません。
テーブルをそのまま取り込むことで、時刻を含む日時データを扱うアプリケーションが作成できます。
ぜひお試しください。

関連リンク

マスタメンテナンステンプレートで「新しくエンティティを作成」を選択し、日時情報を利用する場合の手順は、以下の記事で説明しています。

マスタメンテナンステンプレートから作成したアプリケーションで日時情報を利用する手順

このCookBookでは、マスタメンテナンステンプレートから作成したアプリケーションで、日時情報をリッチテーブル内で活用する手順について説明します。 マスタメンテナンス…