cancel
Showing results for 
Search instead for 
Did you mean: 

Selecting alias depending on calling system

0 Kudos

Hi.

Our landscape is like this :

external apps --> SAP Gateway HUB (custom code with RFC calls) --> SAP ECC

We have developed a global service that will be used by many apps. Depending on the calling system, the user to connect to SAP ECC should be different as in the backend will have different type of access.

external app (Germany) --> SAP Gateway HUB (RFC call to ECC with user with german roles) --> SAP ECC

external app (France) --> SAP Gateway HUB (RFC call to ECC with user with france roles) --> SAP ECC

I thought that this could be achieved by adding more aliases to the service and then with some logic I should be able to determine the calling system to select later the proper alias.

Is this solution possible? Any other way to do it?

thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

former_member187859
Participant
0 Kudos

Gateway provides an enhancement spot that I believe hits exactly on what you're asking about. Check out this documentation for the ABAP details. You may also wish to see this blog about controlling the origin on the UI side of a UI5 application, if SAP UI5/Fiori is part of your solution.

Let me know if this stuff helps, or if I'm missing the point of your question.

0 Kudos

HI Paul.

Really helpful. Now i'm able to filter upon the received user. I wonder if somehow we can identify the calling system by IP address, DNS ... to also establish some filtering rules.

Thanks for the support.

Answers (1)

Answers (1)

JyotiD
Active Participant
0 Kudos

Check out this 

You can use multi-origin concept here. Check this- How to Enable Multi-Origin Capability in SAP FI... | SCN

Create and RFC in your ECC system, which fetch the data for you.

Call the RFC from Gateway system using RFC destination.

Also you can Fetch RFC destination from system alias using this code in your DPC

DATA lo_destination_finder TYPE REF TO /iwbep/if_destin_finder.

DATA lo_dp_facade TYPE REF TO /iwbep/if_mgw_dp_int_facade.

DATA lv_destination TYPE rfcdest.

* Get RFC destination

lo_dp_facade         ?= /iwbep/if_mgw_conv_srv_runtime~get_dp_facade( ).

lo_destination_finder = lo_dp_facade->get_destination_finder( ).

lv_destination        = lo_destination_finder->get_rfc_destination_via_rout( ).