Show TOC

Procedure documentation Setting the Receiver System Locate the document in its SAP Library structure

Use

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.

Note

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.

Procedure

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).

Note

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).

Example

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.

 

 

 

 

Leaving content frame