使用する
結論として、複数のユニットが同時に満たされる例を示します。ユニットは、要求されたのと同じ順序で処理されます。この例では、ユニット2がユニット1よりも優先されます。両方のユニットが同じキュー名でシリアル化されているため、シーケンスの依存関係があります。異なるキュー名が使用された場合、両方のユニットを並行して処理できます。
データ:my_destination TYPE REF TO if_bgrfc_destination_outbound、
my_unit_1 TYPE REF TO if_qrfc_unit_outbound、
my_unit_2 TYPE REF TO if_qrfc_unit_outbound、
dest_name TYPE bgrfc_dest_name_outbound、
queue_name TYPE qrfc_queue_name、
queue_names TYPE qrfc_queue_name_tab
試す。
dest_name =’MY_DEST’
my_destination = cl_bgrfc_destination_outbound => create(dest_name)
CATCHcx_bgrfc_invalid_destination。
メッセージe102(bc)。
ENDTRY。
my_unit_2 = my_destination-> create_qrfc_unit()。my_unit_1 = my_destination-> create_qrfc_unit()。
…バックグラウンドユニットmy_unit_1の関数’rfc_function_1’を呼び出します。
バックグラウンドユニットmy_unit_2で関数’rfc_function_2’を呼び出します。
queue_name=’DEBITOR-1234’。
queue_nameをTABLEqueue_namesに挿入します。
queue_name=’PRODUCT-4711’。
queue_nameをTABLEqueue_namesに挿入します。
queue_name =’PRODUCT-5432′
queue_nameをTABLEqueue_namesに挿入します。
my_unit_1-> add_queue_names_outbound(queue_names = queue_names
ignore_duplicates = abap_true)
my_unit_2-> add_queue_names_outbound(queue_names = queue_names ignore_duplicates = abap_true)
仕事をコミットします。