SAP資格過去問ならSAPnavi

NoteやStripe決済で安全にSAP過去問を購入することができます。
領収書発行可能 / 即時入手可能

SAP過去問 (SAP Exam)

LDQ API “Read”

使用する

LDQ APIを使用したユニットの読み取り(「読み取り」)

キューの特定のテーブルを読み取るために、キューごとにリーダーオブジェクトとユニットリーダーオブジェクトが作成されます。キューごとに、ユニットはnのブロックで読み取られます。ユニットごとに、ペイロードの形式が決定され、次にペイロードが抽出され、ユニットサイズが決定されます。この方法でブロック内のすべてのnユニットが読み取られ、分析された後、データベースで確認されます(削除のマークが付けられます)。

シーケンス図:

下書き:

a)入力パラメータ:

ap_name TYPE ldq_application_name DEFAULT’Perf_TEST’、

qp_name TYPE ldq_queue_name DEFAULT’LDQ_TEST_’、

n_queues TYPE i DEFAULT 5、

n_units TYPE i DEFAULT 10、

n_times TYPE iDEFAULT1。

b)宣言:

データ:l_ldq_reader TYPE REF TO if_ldq_reader、

l_ldq_unit_reader TYPE REFTOif_ldq_unit_reader。

データ:l_queue_name_tab TYPE ldq_queue_name_tab、

l_queue_nameTYPEldq_queue_name。

データ:l_xdata TYPE xstring、

l_cdataTYPE文字列。

データ:l_sizeTYPEi。

データ:l_content_tabタイプldq_unit_content_reader_tab。

データ:l_state_tabタイプldq_unit_state_reader_tab。

データ:l_delTYPEi。

データ:l_seq_nrタイプldq_unit_id。

データ:l_queue_nr(4)タイプn。

データ:l_linesTYPEi。

データ:l_last_linesタイプi。

データ:l_unitTYPEi。

データ:l_state_wa TYPE REF TO if_ldq_unit_state_reader、

l_content_wa TYPE REFTOif_ldq_unit_content_reader。

データ:l_formatTYPEldq_data_format。

データ:l_next_state_nrタイプi。

データ:l_numberタイプi。

タイプ:lt_my_unit_readerの始まり、

unit_reader TYPE REF TO if_ldq_unit_reader、

queue_name TYPE ldq_queue_name、

lt_my_unit_readerの終わり。

データ:l_my_unit_reader_tablt_my_unit_readerのタイプテーブル。

データ:l_my_unit_readerタイプlt_my_unit_reader。

フィールドシンボル:<l_content_wa>if_ldq_unit_content_readerへのタイプ参照。

フィールドシンボル:<l_state_wa> TYPE REFTOif_ldq_unit_state_reader。

c)キュー名の作成:

クリア:l_queue_name_tab []、l_content_tab[]。

n_queuesTIMESを実行します。

l_queue_nr=sy-index。

qp_name l_queue_nrINTOl_queue_nameを連結します。

CONDENSEl_queue_nameNO-GAPS。

l_queue_nameをl_queue_name_tabに追加します。

ENDDO。

l_queue_name_tabをl_queue_nameにループします。

d)LDQアプリケーションオブジェクトの作成:

l_ldq_reader = cl_ldq_application => get_reader(ap_name)。

*

*キュー名ごとにLDQキューオブジェクトを作成

*

l_my_unit_reader-unit_reader = l_ldq_reader-> set_queue_name(l_queue_name)。

l_my_unit_reader-queue_name=l_queue_name。

l_my_unit_readerをl_my_unit_reader_tabに追加します。

ENDLOOP。

*

*すべてのキューのブロックユニットをn_times読み取ります

*

n_times回実行します。

*

l_my_unit_reader_tabをl_my_unit_readerにループします。

e)1つのブロックでn_unitsを取得します。

l_content_tab = l_my_unit_reader-unit_reader-> get_next_contents(n_units)。

l_unit = LINES(l_content_tab)。

f)コンテンツオブジェクトから含まれる情報を取得します。

クリアl_number。

書き込み:/ l_unit、’Qname:’、l_my_unit_reader-queue_name。

l_content_tabASSIGNING<l_content_wa>でループします。

l_format = <l_content_wa>-> get_format()。

IF cl_ldq_unit_writer => co_character_data_type=l_format。

l_cdata = <l_content_wa>-> get_cdata()。

そうしないと。

l_xdata = <l_content_wa>-> get_xdata()。

ENDIF。

l_seq_nr = <l_content_wa>-> get_sequence_number()。

l_size = <l_content_wa>-> get_size()。

l_number = l_number+1。

書き込み:/ 10’番号:’、l_number、’シーケンス番号=’、l_seq_nr、’kb単位のサイズ:’、l_size。

ENDLOOP。

g)データベースの読み取りユニットを確認します。

*

l_my_unit_reader-unit_reader-> confirm()。

h)LDQデータの読み取りステータスをデータベースに永続化します。

仕事をコミットします。

ENDLOOP。

タイトルとURLをコピーしました