!--a11y-->
Speziallösung für Mobile Client 
Workaround für den Einsatz von bgRFC mit Mobile Client.
Im Fall vom Mobile-Client Szenario kann es sich im neuen bgRFC-Verfahren ungünstig auswirken, wenn weiterhin alle Units, die zu einer Destination geschickt werden sollen, nur eine Queue verwenden. In diesem Fall könnte der Funktionsbaustein qrfc_get_runnable_units beim Aufruf nur eine Unit ermitteln und erst bei der erfolgreichen Rückmeldung dieser Unit die nächste Unit.
Sollte es weiterhin gute Gründe geben, warum Mobile-Client nur eine Queue pro Destination verwendet, dann dient der unten aufgeführte Funktionsbaustein als Workaround. Das Design-Team von bgRFC würde gerne auf diesen Funktionsbaustein verzichten, da bei der Verwendung dieses Funktionsbausteins die Quality-of-Service EOIO vom Aufrufer garantiert werden muss. bgRFC muss blind darauf vertrauen, dass der Aufrufer weiß was er macht!
Unit-Sperren werden von diesem Funktionsbaustein ignoriert!.Das bedeutet, dass der Aufrufer selbst entscheiden muss, ob er trotz der aufgetretenen Probleme weiterhin Units verarbeiten möchte.
Der Funktionsbaustein
CALL FUNCTION
'QRFC_GET_NEXT_UNITS_FROM_QUEUE'
EXPORTING
* NO_STATUS_UPDATE =
QUEUE_NAME
= 'NOTEBOOK_4711'
destination
= 'NOTEBOOK_4711'
last_unit_id
= last_unit
max_units
= 100
IMPORTING
qrfc_units
= unit_tab
unit_states
= state_tab.
liefert die nächsten max_units Units der Destination destination. Die Units werden gesteuert über die Queues (beliebig viele) in der richtigen Reihenfolge geliefert. Ist max_units kleiner oder gleich 0, so werden alle Units dieser Destination zurückgegeben. Ist der optionale Parameter last_unit_id nicht angegeben, so werden die ersten max_units Units der Queue zurückgeliefert. Anderenfalls spezifiziert der Parameter die letzte bekannte Unit dieser Queue. Es werden somit die nächsten max_units Units hinter der Unit last_unit_id zurückgeliefert. Spezifiziert die last_unit_id keine gültige Unit dieser Queue, so kommt es zur Exception INVALID_UNIT_ID. Dieser Funktionsbaustein liefert nur Units, für die das no_send-Flag gesetzt wurde.
Der Parameter last_unit_id ist notwendig, da
nur der Aufrufer entscheiden kann, ab welcher Unit wieder aufgesetzt werden
soll.
Wenn Units gesperrt wurden, dann wird ab der
ersten gesperrten Unit keine Unit mehr zurückgeliefert.