Setting the Receiver System 
When you create outbound and inbound interfaces in the Integration Builder, do not assign them to each other. You configure which outbound interfaces send messages to which inbound interfaces in the Integration Builder (see: Configuration).
However, in some cases, you know the receiver of a message because of the application data. For this reason, the Proxy Framework gives you the option of setting the logical receiver system before the message is sent. This means that the entire routing logic does not have to run. Since all connections have to be completed during configuration, you still have to configure a connection in the Integration Directory even if you set the receiver.

If this were not the case, connections would exist that were only visible in program code. You must be able to access information of this type from a central point, however.
Each generated outbound method has a component CONTROLLER of type IF_AI_POSTING_CONTROLLER as a parameter so that you can set the receiver directly. An instance of this interface is also referred to as a Controller Object (see: Runtime APIs).

This parameter is not visible on the tab page Structure; call transaction SPROXY to access the parameter. To see the exact signature of the outbound method and the parameter CONTROLLER, navigate in the Class Builder ( SE24).
The following example illustrates how to set a receiver:
*
Factory class to create controller instance
class cl_ai_factory definition load.
* Variables to identify receiver
systems
data: l_receiver type
ait_rcvr,
lt_receivers type
rmt_recsys.
* Define
'l_input' and 'l_output' according to
* the generated Dictionary types for your message types
[...]
*
Controller class
data: l_controller type ref to if_ai_posting_controller.
*
Superclass for all global exceptions
data: l_exception type ref to cx_root.
try.
* Create instance of controller
l_controller = cl_ai_factory=>create_controller( ).
* In
this example, we only specify one receiver system as the
destination:
l_receiver = ‘TravelAgencyBCE’.
append l_receiver to lt_receivers.
* Pass
receiver system table to proxy framework
l_controller->set_to_parties( lt_receivers ).
* Set
OUTPUT parameter with data for body of message
[...]
* Call outbound proxy
call method
co_flight_booking_reserve_out=>EXECUTE_ASYNCHRONOUS
exporting
controller = l_controller
output = l_output
importing
input = l_input.
* For
asynchronous calls the message is sent after commit work:
commit work.
* Error handling
catch cx_ai_system_fault into l_exception.
* Handle your error
endtry.