クエリロジックを実行します
メソッド実行の結果は、選択パラメーターに一致するノードインスタンスのキーのセットです。
サイン
インポート | IS_CTX | タイプ | / BOBF / S_FRW_CTX_QUERY |
IT_FILTER_KEY | タイプ | / BOBF / T_FRW_KEY | |
IT_SELECTION_PARAMETERS | タイプ | / BOBF / T_FRW_QUERY_SELPARAM | |
IO_QUERY_AUTHORITIES | refを入力します | / BOBF / IF_FRW_AUTHORITY_QUERY | |
IS_QUERY_OPTIONS | タイプ | / BOBF / S_FRW_QUERY_OPTIONS | |
IO_QUERY | refを入力します | / BOBF / IF_FRW_QUERY | |
IO_READ | refを入力します | / BOBF / IF_FRW_READ | |
IO_MIDIFY | refを入力します | / BOBF / IF_FRW_MODIFY | |
IV_FILL_DATA | タイプ | BOOLE_D | |
IT_REQUESTED_ATTRIBUTES | タイプ | / BOBF / T_FRW_NAME | |
エクスポート | EO_MESSAGE | refを入力します | / BOBF / IF_FRW_MESSAGE |
ET_KEY | タイプ | / BOBF / T_FRW_KEY | |
ES_QUERY_INFO | タイプ | / BOBF / S_FRW_QUERY_INFO | |
ET_DATA | タイプ | インデックステーブル | |
育てる | / BOBF / CX_FRW |
パラメーター
パラメータ
|
説明
|
---|---|
IS_CTX |
クエリのコンテキスト情報を提供します(BOキー、ルートノードのキー、割り当てられたノードのキーなど)
|
IT_FILTER_KEY
|
クエリの実行によって影響を受けるノードインスタンスの限定されたセットのキーを含むテーブル。このオプションのパラメーターを使用すると、サービスコンシューマーはフィルタリングのタイプを指定できます。
このパラメーターが空の場合、(クエリに割り当てられている)すべてのノードインスタンスがクエリの影響を受けます。
–オプションのパラメータ
|
IT_SELECTION_PARAMETERS
|
クエリフィルター構造の属性の範囲テーブルを表します
このパラメーターを使用して、動的クエリ選択の値の範囲を指定(制限)できます。
–オプションのパラメータ
|
IO_QUERY_AUTHORITIES |
クエリの権限チェックのための情報を提供する権限オブジェクトを表します
–オプションのパラメータ
|
IS_QUERY_OPTIONS
|
クエリオプションを提供する構造。次のコンポーネントが含まれています。
–オプションのパラメータ
|
IO_QUERY
|
クエリの実行を可能にするクエリオブジェクトを表します
|
IO_READ
|
ビジネスオブジェクトインスタンスのデータへの読み取りアクセスを提供します
|
IO_MODIFY
|
ビジネスオブジェクトインスタンスのデータへの書き込みアクセスを提供します
–オプションのパラメータ
|
IV_FILL_DATA
|
ノードデータを読み取ることを示します。真であれば、ET_DATA読み取りノードデータを保持します-すべての属性を含みます。falseの場合、属性キーのみがテーブルに返されますET_DATA。
–デフォルト値=ABAP_FALSE
|
IT_REQUESTED_ATTRIBUTES
|
名前のリスト(属性名)
–オプションのパラメータ
|
EO_MESSAGE
|
クエリの実行中に生成されるすべてのメッセージを含むメッセージオブジェクト
|
ET_KEY
|
クエリが実行されたノードインスタンスのキーのセット(クエリの結果)
注:このパラメーターは、次の場合には提供されません。IV_FILL_DATAfalseに設定されています。
|
ES_QUERY_INFO
|
クエリ関連の情報を提供する構造。次のコンポーネントで構成されています。 カウント–結果の総数 QUERY_HANDLE–コンテキストを識別するためのハンドル
|
ET_DATA
|
クエリ実行の結果として返されるノードデータのテーブル
|
例外
例外
|
説明
|
---|---|
/ BOBF / CX_FRW |
エラーが発生したときに例外をスローする例外クラス T100から返されるBOPF関連のメッセージテキストをユーザーに提供します。
|
例
METHOD /bobf/if_frw_query~query. DATA: lt_sel_parameters TYPE /bobf/t_frw_query_selparam, ls_sel_parameters TYPE /bobf/s_frw_query_selparam. CLEAR: eo_message, et_key, es_query_info, et_data.* Prepare selection condition ls_sel_parameters-sign = 'I'. ls_sel_parameters-option = 'EQ'.* Payment status: '01' (not paid) ls_sel_parameters-attribute_name = <ci>=>sc_node_attribute-root-payment_status. ls_sel_parameters-low = '01'. APPEND ls_sel_parameters TO lt_sel_parameters. io_query->query( EXPORTING is_ctx = is_ctx it_filter_key = it_filter_key it_selection_parameters = lt_sel_parameters io_query_authorities = io_query_authorities is_query_options = is_query_options io_query = io_query io_read = io_read io_modify = io_modify iv_fill_data = 'X' it_requested_attributes = it_requested_attributes IMPORTING eo_message = eo_message et_key = et_key es_query_info = es_query_info et_data = et_data ).ENDMETHOD.
説明:
このサンプルコードでは、query()メソッドはクエリを実装しますGET_OVERDUE_INVOICESこれは、のすべての請求書を返すために使用されますCUSTOMER_INVOICEまだ支払われていないビジネスオブジェクト。
データオブジェクトls_sel_parametersは、クエリ選択のパラメーター(値の範囲)を指定するために使用されます。BOの定数インターフェイス<ci>は、請求書の支払いステータスを取得するために使用されます。この場合、支払いステータスはBOルートノードの属性として定義されます。次に、すべての選択パラメータが内部テーブルに追加されますlt_sel_parameters、次に、動的クエリ選択の値の範囲をに渡しますquery()方法。クエリオブジェクトio_query実際のクエリを実行します。