cancel
Showing results for 
Search instead for 
Did you mean: 

ODATA Service at Production System

venkateswaran_k
Active Contributor
0 Kudos

Dear All

May be a simple question, but not able to get it.

Can someone please explain the steps.

1. I created a ODATA service in the Development Client 103. (development client no data)

     How to use that url - to access data from client 102, (which is a testing client where data is there).

2. Once tested, how to transport the Service to Production system.

    or do i need to recreate it in production system

  

Regards,

Venkat

Tags edited by: Jitendra Kansal (Moderator)

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

OData is created in 103 but its accessed through gateway system. The gateway system is connected to your 102 system and it will fetch the required data once the services are registered in it. In case you have a embeded system, the gateway and 102 should be the same system.

Secondly when we create OData, it asks for transports. Hence, we dont need to re-create everything in PRD. We need to move the respective transports.

You can refer

This will help you in detailed understanding.

Regards,

Aashika

venkateswaran_k
Active Contributor
0 Kudos

Thank you very much for the clear explanation Aashika,

Can you please clear my following doubts.

Our system is a embeded.

1. How  to register the service for the specific client.  (is it through system alias )?

2. Suppose, if i transport the request, the sytem alias will also be copied?

Regards,

Venkat

Former Member
0 Kudos

In case of a embedded system you do not need system alias. Instead you have to select LOCAL for service registration. System Alias is used when we are interacting through different systems.

Whenever system ALIAS is created, it will go in a separate TR.

Regards,

Aashika

venkateswaran_k
Active Contributor
0 Kudos

Hi Aashika,

I am slightly confused.

For example i created a odata service say

   development_servername/sap/opu/odata/sap/ZGL_SRV/$format=xml 

   I assign system alias as LOCAL to it.

Now, 1) when I transport this request to production, what is the URL would be

         2) do i need to go to SPRO and set the system alias to it again in production

Regards,

Venkat

NagaPrakashT
Contributor
0 Kudos

Hi Venkateswaran,

If you are testing the service in Development, as you have data on other client

1. Create a RFC connection between these two client

2. While registration of service you can choose this RFC destination instead of LOCAL.

When you want to move the service to the Production system

1. When you develop a service is Service Builder a TR would generated and move this TR.

2. Register the service as LOCAL, because in PRD system we don't have two different clients.

Thanks,

Naga

Former Member
0 Kudos

Hi.

Where are you giving this server name in your requirement. How are you trying to consume your OData service.

venkateswaran_k
Active Contributor
0 Kudos

Thank you Ashika, Naga

I am going to Access it from a Dotnet Application which is from a different domain.

So, after the transport, will the URL remains same?

Example,

in development client, when i created/registered a web service, folowing url is created.

hanaXXXXXXX.internal:8000/sap/opu/odata/sap/ZGL_SRV/$format=xml


REgards,

Venkat



venkateswaran_k
Active Contributor
0 Kudos

Dear Naga,

Suppose, while registering a service, say i used my rfc connectoin.

After testing , if  i move to production,

I am not ableto change the RFC destination to local in my service,

Can u hint me the steps to modify that

I used Remote RFC function to populate the entity set.

Regards,

venkat

EkanshCapgemini
Active Contributor
0 Kudos

Hi Venkateswaran,

The FM which you are using for generating the service would be available in both the clients 103(dev), 102(unit testing) in development system but in production system we would be having only one client. So I understand your problem of system alias in the production.

So what I would suggest is to make use of Multiple Origin Concept of gateway system. You may refer this link .

What I am trying to say is to have 2 system aliases associated with the service. Make LOCAL one the default alias so that when you transport it to Production you may enjoy the uninterrupted service. While in the development system you can specify the SAP_ORIGIN to system alias of 102 client so that you get the data to test.

Regarding the URL, the url would change from http://<dev>:<port>/sap/opu.... to http://<prod>:<port>/sap/opu.... For this you need not to change anything anywhere.

For transporting the services and system alias, you will be prompted for TR which will transport all the objects to production. As I suggested, the alias LOCAL would be having RFC destination as NONE so it will work in Production also.

I hope it helps you

Regards,

Ekansh

venkateswaran_k
Active Contributor
0 Kudos

Dear Ekansh,

Thank you very much for the clear explanation.

I am having one more hurdle. 

Now I am able to create a service fetch data from 102 client.

my url goes like this

myhanaserver:8000/sap/opu/odata/sap/ZGL_SRV/

It works fine when I call this url in a browser,

However, when I call it from a external dotnet application, it gives 401 authentication error.

Though I have passed appropriate uerid and password in the request.

CAn you help me?  Where i am missing.

Regards,

Venkat

EkanshCapgemini
Active Contributor

Answers (3)

Answers (3)

0 Kudos

Hi, Venkateswaran


1.In your development Development Client 103, you have to create a trusted RFC and target will be client 102.

2.Manage system alias in spro-sap netweaver-sap gateway-odata channel-configuration-connection setting-sap gateway to sap system-manage sap system aliases.



3. go to transaction /iwfnd/maint_service



clic -----add service


chose----- system alias


click -----get service


double click on your service


put your package name in ----Package Assignment

check in -----enable oauth service.


and continue


come back to /iwfnd/maint_service and check your service with sap gateway client



0 Kudos

Hello every one, I am facing also the relative problem. Fiori launchpad and some Fiori Apps are working fine in development system along with Local Alias. But after Transporting these Backend (oData) services to Quality system the following "/UI2/" Gateway services are inactive.

  • ZINTEROP
  • ZPAGE_BUILDER_CONF
  • ZPAGE_BUILDER_CUST
  • ZPAGE_BUILDER_PERS
  • ZTRANSPORT

and these services are also missing in SICF under opu/odata. Even namespace category "ui2" is also missing, even though these services are also bound with Local system Alias in Q-System. Without these services I cannot run Fiori Launchpad. Any solution?

sreehari_vpillai
Active Contributor
0 Kudos

new post mate

0 Kudos

Hi, Raja

Assign the authorization role in quality system with the help of basis guy.

Gateway Development User : SAP FIORI Launchpad Designer

Z_SAP_UI2_ADMIN_700 (Role: Copy from SAP standard ROLE - SAP_UI2_ADMIN_700)
R3TR IWSGZINTEROP_0001 (Menu Authorizaton default)
R3TR IWSGZPAGE_BUILDER_PERS_0001 (Menu Authorization default)
R3TR IWSGZPAGE_BUILDER_CONF _0001 (Menu Authorization default)
R3TR IWSGZPAGE_BUILDER_CUST_0001 (Menu Authorizaton default)
R3TR IWSGZTRANSPORT_0001 (Menu Authorization default)
/IWFND/RT_ADMIN  (Authorization Template)
IWBEP/RT_BEP_ADM(Authorization Template)
S_RFCACL (Authorization Object)
S_RFC (Authorization Object)
S_SERVICE (Authorization Object)

Add authorizaton objects listed In the Authorizations- SAP Netweaver User lntarface Services- SAP Library.

Runtime User :SAP FIORI Launchpad User

Z_SAP_UI2_USER_700 (Role:Copy From SAP standard ROLE - SAP_UI2_USER_700 )
R3TR IWSGZINTEROP_0001 (Menu Authorization default)
R3TR IWSGZPAGE_BUILDER_PERS_0001 (Menu Authorization default)
/IWFND/RT_GW_USER (Authorizaton Template)
S_PB_CHIP(Authorization Object)
/UI2/CHIP (Authorization Object)
S_SERVICE (Authorization Object)
IWBEP/RT_MGW_USR  (Authorizaton  template)
S_RFCACL (Authorization Object)
S_RFC (Authorization Object)
App specific OOata role. SAP_MM_PO_APV_APP (Find itin the Fiori Apps Library)
App specific Odata service. For example RJTR IWSG GBAPP_POAPPROVAL_0001 (Find it in the Fiori Apps Library)
ChandraMahajan
Active Contributor
0 Kudos

you may want to check and

Regards,

Chandra