DataViewToDataSource

 

データビューをデータソースに追加

現在のデータビューをデータソースに追加します。

構文:

DataViewToDataSource (世代番号, タスクの項目名, 出力データソース番号, 出力データソース名, 出力カラム名)

パラメータ:

  • 世代番号 …… タスクの階層位置を表す番号。カレントのタスクが0、親タスクが1、その親タスクが2 などとなります。

  • タスクの項目名(文字) …… 出力する項目の名前をカンマ区切りでリストアップした文字列。現在のタスクの項目のみ有効です。大文字小文字を区別します。空白を指定した場合、すべてのタスクの項目が出力されます。

  • 出力データソース番号(数値) …… [データ]リポジトリ上の通番を表す数値(例:'3'DSOURCE)。このパラメータは必須です。

  • 出力データソース名(文字) ……このパラメータは、ソース番号の代わりに使用することができます。必要ない場合は、空白('')で指定してください。必要な場合のみ、データソース名を表す文字列を指定してください。文字列には、パスを含めることもできます。パスが含まれない場合、現在のディレクトリとして扱います。

  • 出力カラム名(文字) …… 出力先のデータソースで更新されるカラムのすべての名前をカンマ区切りで指定します。大文字小文字を区別します。

  • これは、Magicのカラム名(DBカラム名ではない)です。

  • 空白は、タスク項目名で定義された名前と同じ値が使用されることを意味します。

戻り値:

論理値 :以下の値が返ります。

  • True …… 現在のデータビューがデータソースに追加された場合。データソースにレコードが存在しない場合も True が返ります。

  • False…… データビューが追加されなかった場合

用途:

以下のような場合にこの関数を使用することができます。

  • データを表示するインタラクティブなリッチクライアントタスクで、データビューを出力したい場合

  • 非インタラクティブなリッチクライアントタスクで、データを表示することなく出力したい場合
    この場合、関数そのものがデータビューを作成してスキャンするため、データビュー定義を保持するタスクはレコードをスキャンすることなく終了することができます。このタスクは、以下のように定義することができます。

  • メインデータソースを定義し、出力したいデータに基づいて、カラムに範囲条件を指定します。

  • [タスク後]ロジックユニットで関数を呼び出します。

  • [タスク終了条件]特性を「Y」に設定し、[チェック時期]特性を「前置」に設定します。この場合は、タスクは全てのレコードのスキャンするわけではありません。

注意事項:

  • この関数は、リッチクライアントでのみサポートされます。

  • メインデータソースと出力先のデータソースを同じ側(ローカル側とサーバ側)にすることはできません。

  • 出力先のデータソースが存在しない場合、データソースが作成されます。

  • レコードが出力先のデータソース内に存在する場合、更新されます。

  • この関数を使用する場合、ユニークなインデックスを出力先のデータソースに定義しておかなければなりません。そして、ユニークインデックスのセグメントが全て選択されていなければなりません。

  • サーバ側のデータソースを更新するとき、更新は新しい物理トランザクションで行われます。

  • [NULL値可]特性が「No」に設定されたカラムは、必ず更新するようにしてください。

  • ローカルのデータソースを更新する場合:

    • 出力先のデータソースのデータベース上でオープンされたトランザクションがない場合、トランザクションは挿入が開始される前にオープンされ、関数の処理が終了するとクローズされます。

    • 出力先のデータソースのデータベース上でトランザクションがオープンされている場合、変更はトランザクションの一部で行われトランザクションがクローズされる時に一緒にコミットされます。

モバイル仕様:

この関数は、AndroidとiOSデバイスでサポートされます。

 

サポートバージョン:

2.4