Beispielprogramme mit synchronem BAPI-Aufruf 
Die folgenden Beispielprogramme erläutern Ihnen die Empfängerermittlung mit synchronem BAPI-Aufruf.
Hinweis
Die Verwendung des Funktionsbausteins ALE_BAPI_GET_FILTEROBJECTS ist optional und muss nur dann erfolgen, wenn die Filterobjekttypen zur Laufzeit nicht bekannt sind.
Achtung
Durch den synchronen RFC wird ein Datenbank-Commit abgesetzt, d. h. Datenbankänderungen, die vor dem RFC gemacht wurden, können nicht mehr zurückgerollt werden.
Syntax
* data declaration data: filterobj_values like bdi_fobj occurs 0, filterobj_types like bdi_fobjtype occurs 0, bapi_server like bdbapidest occurs 0. constants: c_objtype_plant type c value 'WERKS', c_objtype_langu type c value 'SPRAS'. * get filterobjects from ALE distribution model call function 'ALE_BAPI_GET_FILTEROBJECTS' exporting object = 'BUS1001' method = 'GETDETAIL' tables filterobjects = filterobj_types exceptions error_in_ale_customizing = 1. * fill filterobject values into table loop at filterobj_types. case filterobj_values-objtype. when c_objtype_plant. filterobj_values-objtype = c_objtype_plant. filterobj_values-objvalue = '0002'. when c_objtype_langu. filterobj_values-objtype = c_objtype_langu. filterobj_values-objvalue = 'D'. when others. endcase. append filterobj_values. endloop. * get receiver from ALE distribution model call function 'ALE_SYNC_BAPI_GET_RECEIVER' exporting object = 'BUS1001' method = 'GETDETAIL' tables receivers = bapi_server filterobjects_values = filterobj_values exceptions error_in_filterobjects = 1 error_in_ale_customizing = 2. * call synchronous BAPI locally/remotely if sy-subrc = 0. if not bapi_server[] is initial. loop at bapi_server. call function 'BAPI_MATERIAL_GET_DETAIL' destination bapi_server-rfc_dest ... endloop. else. call function 'BAPI_MATERIAL_GET_DETAIL' ... endif. endif.
Syntax
* data declaration data: filterobj_values like bdi_fobj occurs 0, filterobj_types like bdi_fobjtype occurs 0, bapi_server like bdibapidest occurs 0. * fill filterobject values into table filterobj_values-objtype = 'KKBER'. filterobj_values-objvalue = '0002'. append filterobj_values. * get receiver from ALE distribution model call function 'ALE_SYNC_BAPI_GET_RECEIVER' exporting object = 'BUS1010' method = 'GETSTATUS' tables receivers = bapi_server filterobjects_values = filterobj_values exceptions error_in_filterobjects = 1 error_in_ale_customizing = 2. * call synchronous BAPI locally/remotely if sy-subrc <> 0. if not bapi_server[] is initial. loop at bapi_server. call function 'BAPI_DEBITOR_CREDITACC_GETSTATUS' destination bapi_server-rfc_dest ... endloop. else. call function 'BAPI_DEBITOR_CREDITACC_GETSTATUS' ... endif. endif.