入出力コンテキスト - 機能の説明

入出力コンテキストとは

入出力コンテキストは、CSVファイルやRDB、クラウドデータベースなどの外部のデータソースとやりとりするコンテキストです。

コンテキサーの業務アプリ(.ctp)には、コンテキストのデータそのものを保持することはできないため、コンテキサーのデータを永続化するには、入出力コンテキストを定義しておく必要があります。

「入出力設定」リボンタブ

データ読込み・データ書出し

入出力コンテキストは、データ読込みデータ書出しによって入出力先のデータソースにあるデータを出し入れします。

データ読込みとは、入出力先のデータソースからコンテキストへレコードを入力する機能です。

データ書出しとは、入出力先のデータソースへコンテキストにある行を出力する機能です。入出力先がRDBなどキーによってレコードを操作するデータソースでは、データ書出し時に、入出力コンテキストでの操作を挿入,更新,削除のいずれかに分けて適切なクエリが内部で自動的に発行されます。

データソースの設定

入出力コンテキストの入出力先を設定するために、データソースを設定する必要があります。RDBの場合にはODBCのデータソース名などを設定します。データソースの設定にもとづいて、テーブルなどのオブジェクトの数だけ入出力コンテキストを定義します。

入出力対象項目の設定

コンテキスト定義「項目一覧」タブで項目の「表示」欄にチェックがある場合には、チェックがあるものを入出力の対象とし、チェックがないものは無視されます(CSVの場合は位置が詰められます)。

アクセス権限

コンテキスト詳細「アクセス許可」タブをクリックすると、項目ごとのアクセス権の設定画面が表示されます。この画面で、コンテキストの項目単位にログインしたユーザが入出力コンテキストにアクセスできる権限を個別に設定できます。

追加フラグ・更新フラグ・削除フラグ

入出力コンテキストが持つ各行には、外部入出力先に対してレコードを追加する・更新する・削除することを示す「書出しフラグ」が記録されています。書出しフラグによって、データ書き出し時に、外部入出力先へレコードを書き出し処理の内容を決めています。

担当者がパネルにて行を操作した際や、転記,入力補助,コマンドによって行が操作された際に、操作内容に応じて、追加フラグ・更新フラグ・削除フラグの各フラグが記録されます。

  • 追加フラグ・・・入出力コンテキストに行が追加された時に立ちます
  • 更新フラグ・・・すでに存在する入出力コンテキストの行の項目値が修正された時に立ちます
  • 削除フラグ・・・すでに存在する入出力コンテキストの行が削除された時に立ちます

書出しフラグは、入出力コンテキストに対応するエンティティの内容が変更された際に記録されます。例えば、入出力コンテキストAとパネルコンテキストBが同じエンティティEに対応しているとします。この場合には、パネルコンテキストBでレコードが操作されると、それに対応するエンティティEの要素を通じて、入出力コンテキストAの該当する行のフラグが立ちます。

書出しフラグは、データ書出しが完了するとクリアされます。ただし何らかの理由で正常に書き出せなかった行では、正常に書き出されるまで書出しフラグはそのままとなります。

データ同期 入出力コンテキストの場合

データ同期が有効な入出力用コンテキストでは、行が追加・変更・削除されるとすぐに書出しされます。

また「業務データ書出」画面の「結果」欄は「データ同期済み」と表示されます。「追加」,「更新」,「削除」の各欄の件数は、常に0件となります。データ同期が失敗した場合は「結果」欄に「データ同期(未完)」と表示され、書き出せなかった行のフラグが立ったままとなります。

フラグが立たないケース

次のような場合は、入出力コンテキストが操作されても、フラグが立ちません。

  • 入出力コンテキストに「書き出し許可」がチェックされていない時
  • 書き出し対象外である非表示の項目値が修正された時
  • 入出力コンテキストのエンティティに、エンティティ内部連結が定義されていて、参照している連結先の値が修正された時
  • 同じエンティティに対応する兄弟の入出力コンテキストでデータ読込みされた時。(兄弟入出力コンテキストの「読込み行を兄弟コンテキストでは追加行とみなす」にチェックがある場合を除く)

フィールド定義

コンテキスト詳細「フィールド対応」タブでコンテキストの項目と、入出力先のデータソースのフィールドとの対応付けを設定します。

RDBなど入出力先で適切なデータ型で入出力する必要がある場合に、項目に対応するフィールドのデータ型やデータサイズ、NULL値の扱いなどを設定します。

2021年12月2日 更新

ページの先頭へ