Gateway service with multiple entity sets

Hi,
I have designed a Gateway service with 3 entities, and 3 entity sets.Entity sets are not related one to another. This entity sets correspond to static data stored in 3 different custom table in SAP. The aim of this service is to provide static data (but customizable on the backend) for drop down lists on a SAP UI5 application consuming Gateway services.
I am wondering if it is possible through a single read operation, to retrieve all entity sets. Since the service URL to get data related to one entity set is /sap/opu/odata/sap/ZTEST_SERVICE_SRV/EntitySet, how should I process if I want to retrieve all 3 entity sets ? Is it something possible or do we have to call each entity set at once ?
Thanks in advance for your help.
Thibault

Hi Krishna,
I'd try and avoid a construct like this because I don't think it's very compliant or discoverable - you have to know how to access it. That's maybe acceptable for "internal" services, but really, we should try and use the protocol instead of introducing so many workarounds.
It seems that the simplicity of OData on some levels makes people think they have got the wrong answer. It can get complex but something like a value list is pretty basic and shouldn't be subject to loads of different interpretations.   
Batching GET's on the entities or using a grouping entity as per Andre's suggestion is what I'd be thinking of doing. I know that the former is used by some Fiori applications.
Regards
Ron.

Similar Messages

  • Services with multiple account assignment.

    Hi all,
    How can I find out the POs which are having the multiple account assignment for the service line items from tables ?
    I am looking for services with multiple account assignments
    Regards

    Hi
    Go to SE16 , give table name -EKPO
    Now if you have purchase order nos with you then copy paste the PO numbers here , or select company code or site to restrict your entries. It will control the performance of the data execution.
    Then execute this (remove max no 200 ) . Go to Settings-- Format List -- Choose fields. Deselect all and select fields as per your requirement.If field names are coming in technical names you can change this via settings--User parameter and select -Field Label.
    You can extract this report to excel as well. Same PO number with all account assignment category.
    Please note if you have high volume of data then extract all the POs under service orders first from EKKO table and copy all the service PO numbers availbvale and paste in table EKPO, it will increase performance as well.
    Cheers
    Mukta

  • Web service with multiple out parameters

    Hi Developers,
    I have been playing around with som web services in the developer studio.
    I can create a webservice from a normal ejb.
    But i can only get one out parameter, which is the return parameter of the ejb.
    I tried to make an object to use as return parameter, but then i couldn't use the method for the web service.
    Can anyone tell me how to make a web service with multiple out parameters?
    Br Rasmus

    Hi Developers,
    I have the same question, is it possible to have multiple outgoing parameters?
    When not, does SAP Netweaver knows a IN-OUT parameter? Because I found on the internet that it is possible to have a IN-OUT parameter. But that was with the BEA Weblogic 8.x.
    When not, is then the only solution to return a object? With in this object all the parameters you want.
    Or otherwise is there a other workaround?
    Thanks in advance,
    Marinus Geuze

  • Dynamic routing for a Business Service with multiple operations

    I have two business services with multiple operations. Business service A (bsA) has operations OpA1 and OpA2. Business service B (bsB) has operations OpB1 and OpB2.
    Depending on incoming Proxy message and operation, I have to do one of the following
    1. If someValue = A and operation= Op1 then invoke operation opA1 of bsA
    2. If someValue = B and operation= Op1 then invoke operation opB1 of bsB
    3. If someValue = C and operation= Op1 then invoke operation opA1 of bsA AND* operation opB1 of bsB and return aggregate data of both invocations
    1. If someValue = A and operation= Op2 then invoke operation opA2 of bsA
    2. If someValue = B and operation= Op2 then invoke operation opB2 of bsB
    3. If someValue = C and operation= Op2 then invoke operation opA2 of bsA AND* operation opB2 of bsB and return aggregate data of both invocations
    Using a dynamic route node or dynamic routing options, I am able to achieve cases 1, 2, 4, and 5.
    But for cases 3 & 6, I can not use a route node. When I use a Service call out instead, then I am forced to create a Operational branch but that does not seem like the best design since for every new operation added to the business services, I have to add a new branch to the Operational branch and redo all the functionality for that branch.
    Basically, I am looking to achieve the functionality of the Route node ( no need to specify the operation ).
    Any thoughts/ideas on what the best design would be?
    thanks

    For cases 3 & 6, why don't you route to another proxy service where you can simple do two service callouts, merge output data somehow and return them to the first proxy?
    If you look for "special route feature", that could possibly call two services for a single message, I'm afraid you won't succeed.

  • Create SAPUI5 application consuming Gateway service with the help of SAP NW Gateway Plug-in for Eclipse

    Hi,
    I followed the amazing SAPUI5 blog :
    How to create SAPUI5 application consuming Gateway service with the help of SAP NW Gateway Plug-in for Eclipse
    I was able to resolve all errors mentioned in this blog but then i get another error :
    Uncaught TypeError: Cannot read property 'dataServices' of undefined
    Any idea what is the problem.
    Thanks a lot!
    Amina

    Hi,
    I followed the amazing SAPUI5 blog :
    How to create SAPUI5 application consuming Gateway service with the help of SAP NW Gateway Plug-in for Eclipse
    I was able to resolve all errors mentioned in this blog but then i get another error :
    Uncaught TypeError: Cannot read property 'dataServices' of undefined
    Any idea what is the problem.
    Thanks a lot!
    Amina

  • Target Spry RowID on page with Multiple data sets from another page

    Hi all,
    I am trying to target a specific data item, on a page with
    multiple data sets, from a link on another page. (I also have to
    pass the link through Flash, but lets start with the simple
    part...)
    You can take a look at the site in progress here:
    http://www.3andband.com/TestSite/iframeTest3.html
    From the Home page I want to link to specific news or concert
    items on the News page
    I have been trying to get SpryURLUtils to do it but I can't
    seem to get it working.
    Any help would be greatly appreciated.
    Thanks!
    Ben

    did u try if it even passes the row value?? with a simple
    alert? alert(params.row)
    Also maby u need to reorder the scripts to this;
    <script src="../SpryAssets/SpryURLUtils.js"
    type="text/javascript"></script>
    <script src="../SpryAssets/xpath.js"
    type="text/javascript"></script>
    <script src="../SpryAssets/SpryData.js"
    type="text/javascript"></script>
    <script src="../SpryAssets/SpryCollapsiblePanel.js"
    type="text/javascript"></script>
    <script src="../SpryAssets/SpryEffects.js"
    type="text/javascript"></script>
    <script src="../SpryAssets/SpryAccordion.js"
    type="text/javascript"></script>
    and your js script
    var params = Spry.Utils.getLocationParamsAsObject();
    var dsConcerts = new
    Spry.Data.XMLDataSet("includes/concerts.xml", "Concerts/concert");
    dsConcerts.setColumnType("image", "image");
    var dsNews = new Spry.Data.XMLDataSet("includes/news.xml",
    "News/item");
    //Set an observer so that when the data is loaded, we update
    the current row to the url param value
    dsNews.addObserver({ onPostLoad: function(ds, type) {
    dsNews.setCurrentRow(params.row); }
    function MM_effectBlind(targetElement, duration, from, to,
    toggle)
    Spry.Effect.DoBlind(targetElement, {duration: duration,
    from: from, to: to, toggle: toggle});
    So url params get loaded before the data

  • Problem with Get Entity Set

    Hi All,
    I need urgent help here. I have my Odata services written in ECC and am maintaining them in Gateway client. Now when I am calling the Gateway client it is just generating a xml but with no data. I have put external breakpoint in code where GetEntitySet is written but breakpoint is not getting triggered. Ttwo systems are identifying each other as I can 'Add Service' and find my 'Entity Sets' in Gateway.
    Can anyone please help me in understanding what might be wrong here?
    Any quick help will be really appreciated.
    Regards.

    Hi Murali,
    Thanks again. I tried this too. But GetEntitySet method is not getting called.
    Here is what I can see :
    /IWCOR/CL_DS_HDLR_HTTP->IF_HTTP_EXTENSION~HANDLE_REQUEST( )49.3
    /IWCOR/CL_DS_HDLR_ROOT->/IWCOR/IF_REST_HANDLER~HANDLE( )48.9
    /IWFND/CL_SODATA_ROOT_HANDLER->HANDLE_AUTHORITY_CHECK( )0.0
    /IWFND/CL_SODATA_SVC_FACTORY->CREATE_SERVICE( )6.1
    /IWCOR/CL_DS_URI_FACADE->PARSE_URI( )2.3
    /IWFND/CL_SODATA_PROC_DISPTCHR->PROCESS( )28.3
    /IWFND/CL_SODATA_PROCESSOR->/IWCOR/IF_DS_PROC_ENTITY_SET~READ( )26.9
    /IWCOR/CL_DS_EP_TEXT->WRITE_TO( )0.1
    Please advice.
    Regards,
    Saket

  • Having trouble with creation of a cloud service with multiple virtual machines using java sdk.

    I am creating a cloud service on azure with 2 virtual machines using java sdk API. Service created successfully.
    My input endpoint details are as follows.
    INPUT ENDPOINTS
    Head : 191.238.144.47:2400
    Head : 191.238.144.47:22
    Node0 : 191.238.144.47:43211
    For Head instance port 2400 is for HTTPS and port 22 is for SSH and for Node0 instance port 43211 is for SSH.
    But I am having problem with doing a ssh on Head instance. Sometimes it works sometimes doesn't. Same problem with HTTPS also.
    I have some application running over there but when i try to access it thru browser sometimes it works but most of the time doesn't. When I restart the instances from azure portal, its works after
    that(not always but most of the time). 
    Now I am confused what is going on there. I am creating cloud service and virtual machines using java sdk and setting input endpoints also. After creation of all instances i restart every instance programmatically .
    I am not sure whether restart is required or not. It must be something to do with input endpoints only but not able to get the right thing i guess. When i do the same thing thru azure portal(creation of cloud service with virtual machines and setting up input
    end points) everything works fine but not achieving the result when implementing it by java sdk API. Please help me.

    HI Nithin,
    Thanks for your reply. I am setting the endpoints after creating my instances using update call. Here's the code snippet.
    AzureService aServ = new AzureService(session);
     if(aServ.checkNameAvailability(clusterName)) {
               aServ.createHostedService(clusterName, "dbX cluster");         
             // Creating head instance
             aServ.createHead(clusterName, imgName, headType, userName, pswd);  
            // Setting end points for head node
             String name = "ssh";
             int port = 22;
             aServ.updateVMInputEndpoint(clusterName, "Head", name, port);
             // Restarting head instance
             aServ.restartVM(clusterName, "Head");
           String roleName = "Node";
           String tmpRoleName = "";
           for(int i=0; i<noi; i++) {
                      port = 43210+(i+1);
                      tmpRoleName = roleName + i;
                   // Creating node instance
                    aServ.createVM(clusterName, tmpRoleName, imgName, nodeType, userName, pswd);
                  // Setting end points for node instance
                   aServ.updateVMInputEndpoint(clusterName, tmpRoleName, name, port);
                  // Restarting node instance
                 aServ.restartVM(clusterName, tmpRoleName);
          // Method to update the input endpoint details 
          public void updateVMInputEndpoint(String clusterName, String vmName, String name, int port)
            throws Exception {
                    VirtualMachineGetResponse resp = computeManagementClient.getVirtualMachinesOperations().
                                                            get(clusterName, clusterName, vmName);
                    VirtualMachineUpdateParameters updateParameters = new VirtualMachineUpdateParameters();
                    //get the configuration list
                    ArrayList<ConfigurationSet> configlist = resp.getConfigurationSets();
                    //get inputendpoint list and update it
                    ArrayList<InputEndpoint> endpointlist = configlist.get(0).getInputEndpoints();
                    InputEndpoint inputEndpoint = new InputEndpoint();
                    inputEndpoint.setEnableDirectServerReturn(false);
                    inputEndpoint.setPort(port);
                    inputEndpoint.setLocalPort(port);
                    inputEndpoint.setName(name);
                    inputEndpoint.setProtocol(InputEndpointTransportProtocol.TCP);
                    endpointlist.add(inputEndpoint);
                    // Open port for https on head node
                    if(vmName.equals("Head")) {
                            inputEndpoint = new InputEndpoint();
                            inputEndpoint.setEnableDirectServerReturn(false);
                            inputEndpoint.setPort(2400);
                            inputEndpoint.setLocalPort(2400);
                            inputEndpoint.setName("https");
                            inputEndpoint.setProtocol(InputEndpointTransportProtocol.TCP);
                            endpointlist.add(inputEndpoint);
                    updateParameters.setConfigurationSets(configlist);
                    //required for update
                    OSVirtualHardDisk osVirtualHardDisk = resp.getOSVirtualHardDisk();
                    updateParameters.setOSVirtualHardDisk(osVirtualHardDisk);
                    updateParameters.setRoleName(resp.getRoleName());
                    OperationResponse updtResp = computeManagementClient.getVirtualMachinesOperations().update(clusterName, clusterName, resp.getRoleName(), updateParameters);
    And every time i am creating a new cloud service along with head and node instances. Region is "South Central US".
    I am setting ProvisionGuestAgent field to true at instance creation time. Thank you.

  • Web services with multiple elements in the results

    We are using ASP.Net and LiveCycle Forms with LiveCycle Designer 7.0. LiveCycle forms is running on JBOSS (turnkey installation). Our problem is that if the web service returns multiple results e.g.
          £12.99
          Widget
          £0.99
          Grommett
    The form does not grow to accommodate the extra results. Has anyone had any experience of this issue. Adobe say it can be done but so far we have had no luck.

    <[email protected]> ha scritto nel messaggio <br />news:[email protected]..<br />> We are using ASP.Net and LiveCycle Forms with LiveCycle Designer 7.0. <br />> LiveCycle forms is running on JBOSS (turnkey installation). Our problem is <br />> that if the web service returns multiple results e.g.<br />> <products><br />>   <product><br />>      <price>£12.99</price><br />>      <description>Widget</description><br />>   </product><br />>   <product><br />>      <price>£0.99</price><br />>      <description>Grommett</description><br />>   </product><br />> </products><br />> The form does not grow to accommodate the extra results. Has anyone had <br />> any experience of this issue. Adobe say it can be done but so far we have <br />> had no luck.<br /><br />You have to create a subform that has flow content, then flag "repeat the <br />subform for each data item" (or something similar, I've not Designer <br />installed on this machine). Remember to save as dynamic PDF.<br /><br />Bye,<br />Alessio

  • Oracle 8.1.6 Thin Driver with Multiple Result Sets

    We're using Oracle 8.1.6 on NT using the latest driver release.
    Java 1.2.2
    We're experiencing problems with resultSet.next when we have multiple result sets open. What appears to be happening when you've read the last result set entry do a .next() call which should result in a false value we actually get java.sql.SQLException: ORA-01002: fetch out of sequence.
    This seems to us that the driver is trying to go beyond the end of the result set.
    We've checked JDBC standards (and examples on this site) and the code we've got is compliant. We've also found that the code produces the correct results under Oracle 7.3.4 and 8.0.4.
    I can also say that there is no other activity on the db, so there are no issues such as roll back segments coming into play.
    Any solutions, help, advice etc would be gratefully appreciated!
    null

    Phil,
    By "multiple result sets open", do you mean you are using REF Cursors, or do you have multiple statements opened, each with its own ResultSet? If you could post an example showing what the problem is, that would be very helpful.
    You don't happen to have 'for update' clause in your SQL statement, do you?
    Thanks

  • Implement a View Object with multiple entity objects

    Hi
    In 'How to' section on the 'otn.oracle.com' (Jdeveloper) web site is tutorial how to implement a View Object with multiple updateable dependent entity objects.
    It allows user to insert an employee and a department at the same time.
    But I would like to change this example to insert a new department only if it does not already exist. How to change this sample?
    Is there any other way to this?
    Thanks
    Regards
    Gorazd

    Once again the structure, sorry.
    ViewObject
    |-ParentEntityObject
    ..|-PId
    ..|-PAttribute
    ..|-CId (FK)
    |-ParentChildAssociation
    |-ChildEntityObject
    ..|-CId
    ..|-CAttribute
    Christian

  • Stored Procedure With Multiple Result Sets As Report Source : Crosspost

    Hello Everyone,
    I have an issue where i have created a stored procedure that returns multiple result sets
    /* Input param = @SalesOrderID */
    SELECT * FROM Orders TB1
      INNER JOIN OrderDetails TB2 ON  TB1.ID = TB2.ID
    WHERE TB1.OrderID = @SalesOrderID
    SELECT * FROM Addresses
      WHERE Addresses.OrderID = @SalesOrderID AND Addresses.AddressType = 'Shipping'
    SELECT * FROM Addresses
      WHERE Addresses.OrderID = @SalesOrderID AND Addresses.AddressType = 'Billing'
    This is just a quick sample, the actual procedure is a lot more complex but this illustrates the theory.
    When I set the report source in Crystal X to the stored procedure it is only allowing me to add rows from the first result set.
    Is there any way to get around this issue?
    The reason that I would prefer to use a stored procedure to get all the data is simply performance. Without using one big stored procedure I would have to run at least 6 sub reports which is not acceptable because the number of sub reports could grow exponentially depending on the number of items for a particular sales order.
    Any ideas or input would be greatly appreciated.
    TIA
        - Adam
    P.S
    Sorry for the cross post, I originally posted this question [here|/community [original link is broken];
    but was informed that it might be the wrong forum
    Edited by: Adam Harris on Jul 30, 2008 9:44 PM

    Adam, apologies for the redirect, but it is better to have .NET posts in one place. That way anyone can search the forum for answers. (and I do not have the rights to move posts).
    Anyhow, as long as the report is created, you should be able to pass the datasets as:
    crReportDocument.Database.Tables(0).SetDataSource(dataSet.Tables("NAME_OF_TABLE"))
    Of course alternatively, (not sure if this is possible in your environment) you could create a multi-table ADO .NET dataset and pass that to the report.
    Ludek

  • ICF service with Multiple HTTP request handlers.

    Hi ,
    I have created a ICF service with "One HTTP request handler" using SICF transaction.
    it's working fine.
    After that  i have added anther "HTTP request handler".
    i have put  two External Break Points in two HTTP request handler classes.
    and i have debugged it.
    My problem is:
    The request is cached by first HTTP request handler.
    at the end it returns the response.
    it does not reached the second HTTP request handler.
    how can i forward my request to second HTTP request handler.
    please help me.
    lakshman

    Hi,
    Frankly I dont know too much on this topic but following links may help you:
    http://help.sap.com/saphelp_nw04/helpdata/en/25/dda73e5b7a424de10000000a114084/frameset.htm
    Troubleshooting ICF: http://help.sap.com/saphelp_nw04/helpdata/en/80/b2dd3a6dac703be10000000a11405a/content.htm
    Possibly experts in this forum will be able to help you:  Application Server->Internet Transaction Server (ITS)
    Regards,
    Gourav

  • Need to find a calendar to schedule multiple assignments with multiple tasks set on specific days for multiple people

    There may be no such animal as what I am searching for, but I thought I'd give it a try.
    What I need to do is find a calendar app that allows me to have individual calendars for staff members that I can place a several-days-long assignment and have those people access remotely on an iPad or iPhone (autosync).
    I also want to be able to have tasks set on specific days within that assignment that have alerts/reminders for each stage of the assignment.
    Being able to custom colour each individual assignment (not just the person's own calndar) is also necessary, as these asignments overlap and need to be easily distinguishable at a glance. Each assignment needs to be its own entity and not affect any furture or previous entries, even if I choose the same colour.
    It needs to be in a month by month view and be able to be something each person can subscribe to and sync up with for changes on a daily basis. It does nothave to be a calendar like in the screen shot below, it could be a linear calendar that has days across the top and assignments down the left side.....
    Here is a screen shot of a rudimentary excel spreadsheet I have been using. It is awkward and becoming unmanageable as the number of assigments increases and more staff are being added on. And I must send a new spreadsheet out every time I make a change or add an assignment, which is several times a week.
    I suspect I may be asking for the world, but if anyone knows a direction I can go in to start a search, I'd be grateful. I haven't had success of my own so far and need to find something soon.
    iCal doesn't work for me due to the fact I can only colour code the calendar itself and not the event, plus not being able to have multiple tasks within one event. And the qty of assignments I'd have would see most getting lost, eliminating my abilty to see every staff member's assignmanet at the same time.
    Thank you in advance if you have a suggestion and if not, thanks for looking at my dilemma! 

    check with T-code TPM44
    zashok

  • Biztalk schema exposing as WCF service with multiple operations

    Hi,
    I am working on a design pattern to expose the BizTalk schema as a WCF service and thought of taking expert’s advice. I have a single schema with 30 different nodes and each one is a different message type. For this 30 message types we need to expose WCF
    endpoints to customer for consuming from their application.
    When I exposed this schema as WCF service, a single receive location got created in BizTalk application and in IIS there is one .svc file. I defined 30 operations for this while exposing the endpoint with wizard.
    Currently I came up with the below 2 approaches but I did not like them as there is more redundancy
    Create 30 different orchestrations and each orchestration subscribes to Message Box direct binding with message type as filter.
    Create a single orchestration that binds to single receive location( this location got created by wizard..) and access the operation/message type in the expression shape. Based on this value create 30 IF conditions for each message type. For this the
    single orchestration receive shape should have a message type of xml document and then access the type. Is it possible?
    I don’t like the above approaches as it is very difficult to maintain and also difficult to add for any new message type.
    Does anyone has good ideas for doing this?
    Thanks
    JB

    "Canonical Schemas" are used where multiple source messages need to be addressed by a SINGLE Operation !!!
    Every operation anyway translates to a separate process. Forget that we're dealing with BizTalk for a minute, when you're writing plain we services, you introduce new service contracts (operations) when you deal with different data contracts. To come back,
    in BizTalk your data contracts are your schemas. So when you have multiple schemas, each requiring different processing then you need different orchestrations.
    Let us for a minute assume you've defined a single service schema (very possible with a service header and a service details where the service data contract could differ). Now you use this schema to expose ONE service endpoint (good till now). In that service
    you're suggesting to ADD decisions (something like a switch statement where you'll do 'x' set of activities is the message is of 'x' type and so on... How is this sustainable? Every time you introduce an new operation, you'll have to tear down and redeploy
    the new orchestration which will affect all other operations. During the introduction of ONE op you may touch other parts of the orchestration (multiple branches in a parallel shape anyways make the orchestration very unwieldy from a code management/support
    standpoint) and introduce errors in existing ops.
    Regards. 

Maybe you are looking for

  • Issues connecting to sql 2005 database using Oracle sql developer 1.2

    I just installed the sql developer and was trying to use the quick migrate to try a migration from a sql server to oracle.. I am getting the following error message when i click on the retrieve database after entering the database credentials Status

  • Not able to map the Bank's Format in R12 Payment interface

    Hi All, I have requirement to generate the flat file for a Bank to do the payments for Supplies in R12. Bank has given list of column (117 columns) details in R12 for New Zealand Bank. and I tred to do one payment through this format and Got the XML

  • Word for Mac Calendar

    Whenever I open the banner calendar in Word for Mac, I see nothing but gibberish that looks like merge coding. It appears only on my user account and not my wife's. I've tried to identify differences in preferences, but can't find any. Below is a scr

  • Filter attachments by name

    Hi All, I'd like my c100 Ironport appliances to filter (strip?) attachments of a certain name. I don't want to filter by file extension (ie. vbs, scr, etc.), only by the full filenames. I have a list of 20+ files I'd like the Ironport to lookout for,

  • WAD Report -Chart Type Line Diagram!!

    Hi All, I have a doubt in listing the Y axis value with a value of 2000 in addition for each category like 0,2000,4000,6000,etc till 20000. But I tried many way...But I culd able to achieve max..till 10,000.If i use 20,000..I get a value of 2500 for