Dieses Beispiel zeigt, wie Sie die Verarbeitung von bgRFC Typ q-Units, die eine bestimmte Queue verwenden, im Nachhinein oder vornherein sperren können.
In diesem Beispiel verwenden wir das Outbound-Verfahren.
In der Queue ‚QUEUE_TOP’ wird die nächste Unit gesperrt, welche zur Verarbeitung ansteht. In der Queue ‚QUEUE_BOTTOM’ wird die nächste Unit gesperrt, welche in diese Queue geschrieben wird.
DATA: my_destination TYPE REF TO
if_bgrfc_destination_outbound,
dest_name
TYPE bgrfc_dest_name_outbound,
queue_name TYPE qrfc_queue_name.
dest_name = 'MY_DEST'.
queue_name = 'QUEUE_TOP'.
cl_qrfc_lock_outbound=>lock_queue_from_top(
queue_name =
queue_name
dest_name =
dest_name
ignore_duplicates = abap_true
).
queue_name = 'QUEUE_BOTTOM'.
cl_qrfc_lock_outbound=>lock_queue_from_current_pos(
queue_name =
queue_name
dest_name =
dest_name
ignore_duplicates = abap_true
).