intra-mart Accel Platform Accel Studio テンプレートカタログ 第7版 2024-04-01

5.1.7. マスタメンテナンステンプレートのローコード仕様書

このページではマスタメンテナンステンプレートで作成された Accel Studio アプリケーションのローコード資材の仕様について説明します。

5.1.7.2. 画面

マスタメンテナンステンプレートで作成された Accel Studio アプリケーションの画面は以下で構成されます。

5.1.7.2.1. 画面コンテンツ

画面コンテンツは IM-BloomMaker のコンテンツ定義です。
それぞれの画面コンテンツの詳細を以下で説明します。

5.1.7.2.1.1. 一覧画面

5.1.7.2.1.1.1. 概要
一覧画面はマスタデータを一覧表示する画面です。
一覧画面は以下の機能を持ちます。
  • マスタデータの一覧表示
  • マスタデータの検索
    • アプリケーション作成時にエンティティ項目の「検索条件」列にチェックを入れた項目が検索条件として表示されます。
5.1.7.2.1.1.2. ページ
一覧画面のページは以下の通りです。
ページ 説明
Main Page
サイドメニューコンテナにOverallページを埋め込みます。
このページが画面に表示されます。
Overall 一覧画面の全体を構成します。
Header 一覧画面のヘッダを構成します。
Table Operation 一覧画面のテーブル操作を構成します。
Search Condition 一覧画面の検索条件を構成します。
Table 一覧画面のテーブルを構成します。
5.1.7.2.1.1.3. 変数
一覧画面の変数は以下の通りです。一部を抜粋しています。
{
  "state": { // 画面の状態を管理する変数
    "tableData": [], // 一覧画面のテーブルデータを管理する変数
    "transitionRequestParameter": {}, // 画面遷移時のリクエストパラメータを管理する変数
    "clickedCell": { // 一覧から選択した行の情報を管理する変数
      "index": null,
      "key": null
    },
    "pagination": { // ページング情報を管理する変数
      "total": null, // 一覧の総件数
      "rowPerPage": null, // 1ページあたりの表示件数
      "current": null // 現在のページ
    },
    "condition": { // 検索、ソート条件を管理する変数
      "searchCondition": {}, // 検索条件の値を管理する変数
      "sortCondition": [ // ソート条件を管理する変数。リッチテーブルエレメントに指定します。
        {
          "key": null, // ソート対象。辞書項目IDを指定します。
          "order": null // ソート順。昇順の場合は「asc」、降順の場合は「desc」を指定します。
        }
      ],
      "isOpenedCondition": false // 検索条件エリアの表示状態を管理する変数
    },
    "prePagination": { // ページング処理時に前回のページング情報を管理する変数
      "current": null
    },
    "isFiltered": false // 検索中かを管理する変数
  },
  "endPoint": { // APIのエンドポイントを管理する変数。エンドポイントごとにリクエストパラメータとレスポンスデータを管理します。
    "list": { // 一覧取得処理のエンドポイント
      "responseData": { // 一覧取得処理のレスポンスデータ
        "data": {
          "records": [], // 一覧のデータを管理する変数
          "total": null
        }
      },
      "requestParameter": { // 一覧取得処理のリクエストパラメータ
        "limit": null, // 1ページあたりの表示件数
        "offset": null, // 取得開始位置
        "searchCondition": {}, // 検索条件
        "sortCondition": [] // ソート条件
      }
    }
  },
  "headerRowString": {}, // 一覧画面のヘッダの文字列を管理する変数。リッチテーブルエレメントに指定します。
  "columnSettings": {} // 一覧画面のテーブルの列設定を管理する変数。リッチテーブルエレメントに指定します。
}
5.1.7.2.1.1.4. 定数
一覧画面の定数は以下の通りです。一部を抜粋しています。
{
  "screenUrl": { // 画面遷移時のURLを管理する定数
    "register": "accel-studio-app/%IDの決定に利用する文字列%/register", // 登録画面のURL
    "edit": "accel-studio-app/%IDの決定に利用する文字列%/edit", // 編集画面のURL
    "refer": "accel-studio-app/%IDの決定に利用する文字列%/refer" // 参照画面のURL
  },
  "iconKey": { // アイコンのキーを管理する定数。編集、参照画面への遷移ボタンに使用します。
    "edit": "_edit",
    "refer": "_refer"
  },
  "initCondition": { // 変数の初期化値を管理する定数
    "sortCondition": [ // ソート条件を管理する変数の初期化値
      {
        "key": null,
        "order": null
      }
    ],
    "searchCondition": {}, // 検索条件の値を管理する変数の初期化値
    "limit": 20, // 1ページあたりの表示件数の初期化値
    "offset": 0 // 取得開始位置の初期化値
  },
  "pulldownKeys": [ // プルダウンの選択肢のキーを管理する定数。プルダウン項目の場合に一覧にvalueではなくlabelを表示するために使用します。
    {
      "itemName": "%プルダウン項目の辞書項目ID%",
      "enumeration": "%プルダウン項目の辞書項目ID%"
    }
  ],
  "enumerationList": {} // プルダウンの選択肢を管理する定数。プルダウン項目は画面に表示する文字列(label)と内部に持つ値(value)を持ちます。
}
5.1.7.2.1.1.5. アクション
一覧画面のアクションは以下の通りです。
アクション 説明
初期描画時
ページ読み込み時に実行されるアクションです。
ソート条件、検索条件を初期化し、一覧データを取得アクションを実行します。
一覧データを取得
一覧データを取得します。
プルダウンの項目がある場合、valueの値が取得されるため、labelの値を設定します。
検索条件が設定されているかどうかを判断し、検索中かを管理する変数isFilteredを設定します。
登録画面へ遷移
登録画面に遷移します。
編集画面へ遷移
編集画面に遷移します。
参照画面へ遷移
参照画面に遷移します。
編集/参照アイコンが押されたとき
一覧から選択した行の情報を管理する変数に設定し、編集/参照画面に遷移します。
編集/参照アイコンが押されたときのイベントにこのアクションを設定します。
検索ボタンが押されたとき
検索条件を設定し、一覧データを取得アクションを実行します。
現在ページ(current)を1ページ目に、取得開始位置(offset)を0に設定します。
検索ボタンが押されたときのイベントにこのアクションを設定します。
検索条件をクリア
検索条件を初期化用の定数initConditionの値で初期化します。
リッチテーブルのinteractiveNavigationEventを実行したとき
リッチテーブルのinteractiveNavigationEventに指定するアクションです。
リッチテーブルの部品を操作した際に実行されるアクションです。
ページング/ソート処理
ページングの場合は取得開始位置(offset)を設定します。
ソートの場合はソート条件を設定し、取得開始位置(offset)を0に設定し、現在ページ(current)を1ページ目に設定します。
%日付型の項目% の検索条件(下限)をクリア
検索条件エリアの日付入力項目(下限)のクリアを行います。
%日付型の項目% の検索条件(上限)をクリア
検索条件エリアの日付入力項目(上限)のクリアを行います。
検索エリアの表示/非表示を切り替え
検索条件エリアの表示/非表示を切り替えます。

5.1.7.2.1.2. 登録・編集・参照画面

登録・編集・参照画面はマスタデータの登録・編集・参照を行う画面です。
登録・編集・参照画面は以下の機能を持ちます。
  • マスタデータの登録・編集・参照・削除
5.1.7.2.1.2.1. ページ
登録・編集・参照画面のページは以下の通りです。
ページ 説明
Main Page
サイドメニューコンテナにOverallページを埋め込みます。
このページが画面に表示されます。
Overall
登録・編集・参照画面の全体を構成します。
Header
登録・編集・参照画面のヘッダを構成します。
Input Area
登録・編集・参照画面の入力エリア(入力フォーム)を構成します。
Button Area
「登録」ボタン、「更新」「削除」ボタンを表示します。
5.1.7.2.1.2.2. 変数
登録・編集・参照画面の変数は以下の通りです。一部を抜粋しています。
{
  "state": { // 画面の状態を管理する変数
    "entity": {}, // エンティティのデータを管理する変数
    "confirmResult": false // 確認ダイアログの結果を管理する変数
    "isChanged": false, // 画面の入力値が変更されたかを管理する変数。trueの場合、画面左上の戻るアイコンをクリックした時に確認ダイアログを表示します。
    "isLocked": false, // 排他制御エレメントのロック状態を管理する変数。trueの場合、各項目の編集を制限します。
    "key": {}, // 主キーの値を管理する変数
  },
  "endPoint": { // APIのエンドポイントを管理する変数。エンドポイントごとにリクエストパラメータとレスポンスデータを管理します。
    "refer": { // 参照処理のエンドポイント
      "responseData": { // 参照処理のレスポンスデータ
        "entity": {}
      },
      "requestParameter": {} // 参照処理のリクエストパラメータ
    },
    "edit": { // 編集処理のエンドポイント
      "requestParameter": { // 編集処理のリクエストパラメータ
        "entity": {}
      }
    },
    "register": { // 登録処理のエンドポイント
      "requestParameter": { // 登録処理のリクエストパラメータ
        "entity": {}
      },
      "responseData": { // 登録処理のレスポンスデータ
        "duplicate": null // 登録処理の重複チェック結果
      }
    },
    "delete": { // 削除処理のエンドポイント
      "requestParameter": {} // 削除処理のリクエストパラメータ
    }
  },
  "businessKey": {} // 排他制御エレメントに使用する一意なキーを管理する変数
}
5.1.7.2.1.2.3. 定数
登録・編集・参照画面の定数は以下の通りです。一部を抜粋しています。
{
  "mode": { // 画面のURLで使用するモードを管理する定数
    "register": "register", // 登録画面のモード
    "refer": "refer", // 参照画面のモード
    "edit": "edit" // 編集画面のモード
  },
  "screenUrl": { // 画面遷移時のURLを管理する定数
    "list": "accel-studio-app/%IDの決定に利用する文字列%/list" // 一覧画面のURL
  },
  "enumerationList": { // プルダウンの選択肢を管理する定数。プルダウン項目は画面に表示する文字列(label)と内部に持つ値(value)を持ちます。
      "%プルダウン項目の辞書項目ID%": { // プルダウンの項目
      "label": [], // プルダウンの表示文字列
      "value": [] // プルダウンの内部値
    }
  }
}
5.1.7.2.1.2.4. 入力
登録・編集・参照画面の入力は以下の通りです。
{
  "__mode__": "register", // 画面のモードを画面のURLの前処理から受け取る変数
  "%主キーの項目%": null // 一覧画面から選択されたマスタデータの主キーの値
}
5.1.7.2.1.2.5. アクション
登録・編集・参照画面のアクションは以下の通りです。
アクション 説明
初期描画時
ページ読み込み時に実行されるアクションです。
画面のモードを画面のURLの前処理から受け取り、画面の表示を変更します。
一覧画面へ遷移 一覧画面に遷移します。
登録ボタンが押されたとき
入力値を検証し、エラーがなければ登録処理を実行します。
明細エンティティはマスタとなるエンティティのサブエンティティとして定義されています。
明細エンティティには画面に表示されていない項目の「sub_table_id」が含まれます。「sub_table_id」は明細エンティティの主キーです。
「sub_table_id」に連番を設定して登録処理を実行します。
※「sub_table_id」が存在しないサブエンティティを指定された場合、これらの処理は作成されません。
更新ボタンが押されたとき
入力値を検証し、エラーがなければ更新処理を実行します。
登録ボタンが押されたときと同様に明細エンティティの「sub_table_id」に連番を設定して更新処理を実行します。
「sub_table_id」は登録時に設定された値に関係なく、更新時には連番を設定します。
※「sub_table_id」が存在しないサブエンティティを指定された場合、これらの処理は作成されません。
削除ボタンが押されたとき 削除処理を実行し、一覧画面に遷移します。
戻るボタンが押されたとき
入力値が変更されている場合、確認ダイアログを表示します。
確認ダイアログで「はい」を選択した場合、一覧画面に遷移します。
入力値が変更されていない場合は、確認ダイアログを表示せずに一覧画面に遷移します。
入力フォームの値を編集したとき
入力値が変更された場合、戻るボタンが押されたときに確認ダイアログを表示するための変数をtrueに設定します。
全ての入力項目に対して「入力値変更時」のイベントにこのアクションを設定します。
明細 %明細エンティティ% の追加ボタンが押されたとき 明細エンティティの行を追加します。
明細 %明細エンティティ% の削除ボタンが押されたとき 明細エンティティの行を削除します。

5.1.7.3. 公開URL

マスタメンテナンステンプレートで作成された Accel Studio アプリケーションの公開URLは以下で構成されます。

5.1.7.3.1. 画面URL

画面URLは IM-BloomMaker のルーティング定義です。
それぞれの画面のURLの詳細を以下で説明します。

5.1.7.3.1.1. 登録画面

登録画面のURLには前処理が設定されています。
前処理はJavaプログラムで実装されています。
登録画面の前処理はパラメータ「__mode__」を追加し、値を「"register"」に設定します。
画面コンテンツ「登録・編集・参照画面」の入力値で「__mode__」の値を評価し、「"register"」の場合に画面の表示を変更します。

5.1.7.3.1.2. 編集画面

編集画面のURLには前処理が設定されています。
前処理はJavaプログラムで実装されています。
編集画面の前処理はパラメータ「__mode__」を追加し、値を「"edit"」に設定します。
画面コンテンツ「登録・編集・参照画面」の入力値で「__mode__」の値を評価し、「"edit"」の場合に画面の表示を変更します。

5.1.7.3.1.3. 参照画面

参照画面のURLには前処理が設定されています。
前処理はJavaプログラムで実装されています。
参照画面の前処理はパラメータ「__mode__」を追加し、値を「"refer"」に設定します。
画面コンテンツ「登録・編集・参照画面」の入力値で「__mode__」の値を評価し、「"refer"」の場合に画面の表示を変更します。

5.1.7.3.1.4. 一覧画面

一覧画面のURLには前処理が設定されていません。

5.1.7.3.2. APIのURL

APIのURLは IM-LogicDesigner のロジックフロールーティング定義です。
それぞれのAPIのURLの詳細を以下で説明します。

5.1.7.3.2.1. POST accel-studio-app/{IDの決定に利用する文字列}

マスタデータの登録を行うAPIのURLです。

5.1.7.3.2.2. GET accel-studio-app/{IDの決定に利用する文字列}

マスタデータの取得を行うAPIのURLです。

5.1.7.3.2.3. PUT accel-studio-app/{IDの決定に利用する文字列}

マスタデータの更新を行うAPIのURLです。

5.1.7.3.2.4. DELETE accel-studio-app/{IDの決定に利用する文字列}

マスタデータの削除を行うAPIのURLです。

5.1.7.3.2.5. POST accel-studio-app/{IDの決定に利用する文字列}/list

マスタデータの一覧を取得するAPIのURLです。
一覧の取得はソート、ページング、検索条件に対応しています。

5.1.7.4. ロジック

ロジックは IM-LogicDesigner のロジックフロー定義です。
マスタメンテナンステンプレートで作成された Accel Studio アプリのロジックは以下で構成されます。

5.1.7.4.1. 登録処理

登録処理はマスタデータの登録を行う処理です。
IM-Repository のエンティティの登録処理を呼び出して登録を行います。

5.1.7.4.2. 参照処理

参照処理はマスタデータの参照を行う処理です。
IM-Repository のエンティティの参照処理を呼び出して参照を行います。

5.1.7.4.3. 編集処理

編集処理はマスタデータの編集を行う処理です。
IM-Repository のエンティティの編集処理を呼び出して編集を行います。

5.1.7.4.4. 削除処理

削除処理はマスタデータの削除を行う処理です。
IM-Repository のエンティティの削除処理を呼び出して削除を行います。

5.1.7.4.5. 一覧取得処理

一覧取得処理はマスタデータの一覧取得を行う処理です。
IM-Repository のエンティティの一覧取得処理を呼び出して一覧取得を行います。
一覧取得処理はソート、ページング、検索条件に対応しています。

検索条件はアプリケーション作成時にエンティティ項目の「検索条件」列にチェックを入れた項目が検索条件として表示されます。
アプリケーションの作成後に検索条件を追加する場合は、 IM-Repository のエンティティのデータ定義から検索条件を追加してください。

コラム

IM-LogicDesigner の IM-Repository に関するタスクについては、「 IM-Repository 」をご確認ください。

5.1.7.5. データ定義

マスタメンテナンステンプレートで作成された Accel Studio アプリケーションのデータ定義はアプリケーション作成時に指定したデータ定義です。

コラム

「データ定義」機能については、「 IM-Repository ユーザ操作ガイド 」 - 「 データ定義 」をご確認ください。