Classic mode of creating Odata services

Hi,
Am new to Odata service and was given a requirement to create notification using Odata service. Our system doesnot support SEGW. Please help me with steps how we can create Odata using classes/methods and how we register the service. Please share a example. However searching on google for more info.
Regards,
Vikram.

Hi,
Refer How To Write an OData Channel Gateway Service. Part 1 - The Model Provider Class and How to Write an OData Channel Gateway Service. Part 2 - The Runtime Data Provider Class
Regards,
Chandra

Similar Messages

  • Create oData service using oracle Store procedure

    Hello Experts,
    I need to create oData service from oracle store procedure,
    what are the steps to do it.
    We are using SMP Integration gateway.
    Please Suggest.
    Regards
    Manish

    Hello Experts,
    Here is my code to join 2 tables , in debug it does not give error, but it gives on only one table output not merged output.
    Please suggest.
    function processRequestSQL(message) {
      //Import statements
      importPackage(com.sap.gateway.ip.core.customdev.util);
      importPackage(java.util);
      importPackage(org.apache.olingo.odata2.api.edm);
      importPackage(com.sap.gateway.core.ip.component.commons);
      importPackage(org.apache.olingo.odata2.api.uri);
      importPackage(com.sap.gateway.ip.core.customdev.logging);
      //Get the SQL statement contained in message body
      var sqlStatement = message.getBody();
      var uriInfo = message.getHeaders().get(ODataExchangeHeaderProperty.UriInfo.toString());
      var map = new HashMap();
      map = uriInfo.getCustomQueryOptions();
      //Create the query and sub query
      var JOIN_WO_WHERE = "INNER JOIN ZONE ON AREA.AREA_ID = ZONE.AREA_ID ";
      var WHERE = " WHERE ";
      var JOIN = " INNER JOIN ZONE ON AREA.AREA_ID = ZONE.AREA_ID ";
      //Modify the SQL statement
      var modifiedSqlStatement = "";
      var entitySet = uriInfo.getStartEntitySet();
      var odataMethod = message.getHeaders().get(ODataExchangeHeaderProperty.ODataMethod.toString());
      modifiedSqlStatement += sqlStatement;
      if (odataMethod.toString() == "GET_FEED") {
      entitySetName = entitySet.getName();
      if (entitySetName == "AREA") {
      if (sqlStatement.indexOf("WHERE") != -1
      || sqlStatement.indexOf("where") != -1) {
      modifiedSqlStatement += JOIN_WO_WHERE;
      } else {
      // modifiedSqlStatement += WHERE;
      modifiedSqlStatement += JOIN;
      //Set the message body back with the modified SQL statement
      message.setBody(modifiedSqlStatement);
      //Logger
      log.logErrors(LogMessage.TechnicalError, "This is first log");
      //Set the message body back with the modified SQL statement
      message.setBody(modifiedSqlStatement);
      //Logger
      log.logErrors(LogMessage.TechnicalError, "This is first log");
    -------------------End Sample Implementation---------------------------------------
      return message;

  • AppBuilder:create oData service

    Hi
    I have an error when I am trying to create a new odata service in appbuilder.
    As you can see below
    I enter the name of my database in the field of name and
    in the field of URL I put the URL that appears when I click on "open service document" in Gateway Management Cockpit, which is http://localhost:8080/gateway/odata/sap/intgwtest;v=1
    But when I press confirm an error message appears:
    How can I solve my problem?
    thank you in advance
    Angeliki

    SAP AppBuilder is a browser-based application development tool for developers to easily build HTML5/JavaScript mobile applications.
    I have an error when I am trying to create a new odata service in appbuilder.
    As far as i know App builder can only consume Odata services to quickly develop few applications. but not to develop Odata services.
    --> If you are working to consume the services with Appbuilder - Please try the opening the URL in the browser to check if any data / metadata is retrieved .

  • Creating OData Service Issue on AppBuilder ?

    HI Experts,
    I have an error when i'm trying to create a New OData Service in AppBuilder.
    Here is the Response getting from Browser using this link
    And in the AppBuilder i'm getting this HTTP Error Now.
    Yesterday i worked on same Service it works, But Now i getting HTTP request failed,
    Here is the Yesterdays Service Response
    How can solve this Issue ?
    thanks in advance,
    Vamsi K.

    Hi Vamsi,
    Please check if there is any proxy enabled / to be enabled
    I just tried with the northwind service and was successful.
    -virinchy

  • Creating odata service

    Hello,
    We are creating an oData service importing a RFC.
    According to RFC, we need to pass some input parameters of one of the output tables, and we use another output table which eventually gets the data list after execution.
    Kindly advice, how can we build a OData service following the same.
    Thanks & Regards
    Ajay

    Thank you I have created O data Service but when I try to generate results I am getting the following error:
    1. I have generated O data Service on MDX query
    2. from gateway if generate output (/sap/opu/odata/sap/Z_TEST_1_SRV/E0IC_C03_0IC_C03_Q0031Results)
    It is giving me following error Kindly advice
    <?xml version="1.0" encoding="utf-8" ?>
    - <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> 
    <code>BRAINOLAPAPI/100</code>  
    <message xml:lang="en">Invalid MDX command with ON</message>  
    - <innererror> 
    <transactionid>7135F6E36BE9F125A022000C294D5782</transactionid>  
    - <errordetails> 
    - <errordetail> 
    <code>BRAINOLAPAPI/100</code>  
    <message>Invalid MDX command with ON</message>  
    <propertyref />  
    <severity>error</severity>  
    </errordetail>
    - <errordetail> 
    <code>/IWBEP/CX_MGW_BUSI_EXCEPTION</code>  
    <message>No exception text available</message>  
    <propertyref />  
    <severity>error</severity>  
    </errordetail>
    </errordetails>
    </innererror>
    </error>

  • How to get nested JSON structure from OData service result

    Hi all,
    This is what I have done :
    I have developed OData service where I am following below steps :
    1. Created Stored procedure for the logic
    2. Created scripted calculation view and call stored procedure from the view.
    3. Created OData Service where I am calling calculation view with multiple parameters.
    Every thing is working fine and I am getting proper JSON Result which all the attributes that I am returning from the view in flatten structure.
    Additional requirement:
    On top of this I have additional requirement where I want to get various aggregation or counts.
    For example : from view I am getting all the customers result as result set and I also want some summary level information along with that such as :
    1. Total Number of Records
    2. Total VIP Customers
    3. Total Individual Customers
    4. Total Business Customers
    Above counts can not be each records level information so I need this details in my OData Service result as separate summary section like nested JSON structure.
    For example :
    d: {
    results: [
    __metadata: {
    uri: "http://servername:8000/testmulti.xsodata/calmultiview1('123456')",
    type: "Cust.Multiview1.calmultiview1Type"
    aggregation: {
    totalrecords: "",
    totalVIPCustomers: "",
    totalIndividualCustomers:"",
    totalbusinesscutomers:""
    ID: "123456",
    ENT_ID: 1234,
    FIRST_NM: "ABC",
    LAST_NM: "XYZ",
    CITY: "DELHI",
    In above example like _metadata , I am asking how to get aggregation section also in the JSON result?
    aggregation: {
    totalrecords: "",
    totalVIPCustomers: "",
    totalIndividualCustomers:"",
    totalbusinesscutomers:""
    Please suggest best possible way to implement this kind of requirements.
    Thanks
    - Dharmesh

    Don't expect that OData can help you for this. Still you can try the following.
    Create a XSJS service where you can execute your procedure manually and get the aggregation as well. From the XSJS , you can loop over the result sets and build your corresponding JSON format. But, you can not implement the features of OData, as the return would be "just" a JSON.
    in any way you can establish an association with your main entity and aggregation entity(I am Sure, the worst case), you can get both in the same payload.
    Sreehari

  • Error while creating Manual Service PO in Extended Classic Scenario

    Hi Experts,
    Extended Classic scenario (SRM 7.0 with ECC 6.0)  While Creating Manual Service PO in SRM i am getting the below mentioned error messages. Can any one suggest what could be the problem.
    Error Msgs:
    1. Backend Error:In case of account assignment, please enter acc. assignment data for item
    2. Backend Error:Purchase order still contains faulty items
    Regards,
    Mohan

    Hi,
    Yes i given all CC and GL information properly in Purchase Order Document for Service.. Still finding the error for Service PO alone.
    Pl do the needful
    Regards,
    Mohan

  • The differences between an applications created in the classic mode vs. EPM

    Hi,
    the differences between an applications created in the classic mode vs. EPMA?
    Thanks
    SYED
    Edited by: SYED on Jun 15, 2009 5:38 AM

    Hi Carla
    Are these ledgers A and B your FI ledgers - Leading & Non Leading?
    KO8G has no specification to restrict posting to any FI ledger... By default, the postings made in Leadin ledger go to Non Leading as well...
    If you are settling to a GL in KO8G which is restricted only to Non Leading Ledger, then that might be the cause. however, you can restrict a GL to ledger only on a system which is on EhP4
    Regards
    Ajay M

  • Create a record using SAPUI5 and ODATA Service

    Hi there,
    since SPS6, SAP HANA should allow CRUD operations using an ODATA Service.
    That sounds nice and so I wanted to give it a try.
    I've started by creating a simple table and set up a tiny application that displays the data in a grid (using a JSON Model) and allows to insert new records by entering data into two textfields and save them as a new record to the databse. That works well, the grid shows the records which I have created using the SAP HANA Studio.
    So I wanted to create new records, and the documentation says very clearly how to create a new record.
    I've tried it this way, but when the request is send I get an 501 Not Implemented error.
    Thats the code I'm using in my SAVE-Button:
    btnSave.attachPress(function() {
       var entry = {};
       entry.id = tfUserId.getValue();
       entry.username = tfUserName.getValue();
       oData.create('/tbl_user', entry, null,
       function() {
          alert("Create successful");
       function() {
          alert("Create failed");
    After that I've tried to create a record using the POSTMAN extension for Chrome browser as mentioned in this cool video by Thomas Jung.
    Unfortunately, this also doesn't work for me. After sending the request I get as respone a sap hana xs login window with Status Code 200 instead of a status code "201 created".
    Here's a screenshot:
    I'm using SAP HANA Cloud Trial.
    Anybody got an idea what I'm doing wrong? Or does ODATA CRUD not work an SAP HANA Cloud Trial?
    Many thanks,
    ben

    Hi Jason,
    exactly, it's the logon page returned that is opened when I open the service URL in the browser. After logging on I can see the results of the ODATA service call.
    The URL must be correctly defined, the grid shows up the data from the ODATA Service.
    And yes, the URL looks OK when expecting in Chrome developer tools...
    Thanks,
    ben

  • How to open an Appleworks document created in the classic mode with a one year old iMac using 10.6.8

    Trying to open a 10 year old Appleworks document. Get a dialog box that the Classic Mode is not supported on this machine. Is there a way to work around this problem and open the doc?

    Try dropping the document onto the icon for AW 6.2.9; or use the Open item in AW 6.2.9's File menu.
    Provided the document is in AW 5.x or later format, it should b openable in AW 6.
    If the document is in AW 6.x format, it should also be able to be opened by Pages.

  • Can't run software in Classic mode

    Boy, I've tried to fix this myself and just can't. I have a new out-of-the-box Mac Mini with a generic USB keyboard. I've got some old Mac software (really old) which is really a main reason I bought the mini. I can't get Classic to run because it's not already installed. I have the OS9.2.1 disc, but I can't boot from the CD (I tried pressing C on bootup -- either my Mac can't boot from CD or my keyboard doesn't communicate properly). When I try to run the OS9 installer to get Classic to work, I get the hair-pulling error message that I need to run the installer in Classic
    mode.
    A friend said I need the discs which came with the Mini, but I don't think there are any. Can the software which should have come with it be downloaded and burned on to a new CD in order to create a bootable CD?
    Argh!!! Please help!
    Warren

    Thanks -- I did try that, just forgot to mention it. the CD isn't one of the options in startup disk. It says I can choose the hard drive or the network, and I've tried both. A friend said that Mac Minis can't boot from CD -- don't know if that's correct or not, but I can't seem to get it as an option.
    I've tried to find any CD that may have come with the Mac Mini -- my friend said to look for one called "additional software and apple hardware test CD that came with the Mac Mini" but that is nowhere to be found. Either it didn't actually come with it (my hunch) or the staff in the receiving department took them out for safekeeping and hid them in a drawer somewhere and have forgotten. (Also possible.)
    I can't imagine that I'm the only person in the world with this problem, but my tech support staff warned me in the first place. I wanted to try using some macs mixed in with our PC setup (because they can run this software, and because it seemed easy) and they said that they wouldn't be able to provide much support, since they're all PC people. I figured "how much support can it need? They're designed to be easy to use!" Oh well.
    I'd really be keen to get any more suggestions from anyone who can help!!
    Mac Mini Mac OS X (10.3.9)

  • SEGW : Copy Project vs Redefine(OData Service)

    Dear Friends,
    This is regarding the differences between various modeling approaches in SEGW
    1. An Existing Project ( and Technical Service , say, Parent 1.0 ) is live
    2. A new Project ( and Technical Service , say, Child 1.0) is to be implemented.
    What is the real difference between
    (A) ... copying the existing project "Parent" to  "Child" and publishing the Technical service as "Child 1.0"
    (B) ...copying the existing project "Parent" to  "Child" and publishing the Technical service as "Parent 2.0"
    (C) ...Redefining the "Parent 1.0" in a new project "Child" and "Overwrite Base/Extend the Service" ...which publishes the Technical Service as "Parent 1.0"
    (D) ...Redefining the "Parent 1.0" in a new project "Child" ..without "Overwrite Base/Extend the Service" .. and publish the Technical Service as "Child 1.0"
    In other words, what really is the idea of "Redefine >OData Service (GW)" ...( with / without "Overwrite Base/Extend the Service" )
    Many thanks for your patience
    Suresh

    Hi Suresh,
    by copying the project you create a complete independent new project, which does not have any relation to the original project. The runtime objects (model provider classes and data provider classes) are independent from those of the first project.
    By redefining the project you can select which entities and which associations you want to use in your child project. Those redefined objects can't be changed in the child project, you only can redefine names and labels. On the other hand if you change any of the redefined object attributes in the parent project the changes will also be available in the child project.
    And the data provider class of the child project inherits from the one of the parent project.
    So you have a real parent-child relationship.
    Redefining with option "Extend" means to add objects of the parent project, which haven't been redefined before.
    Redefining with option "Overwrite" means to redo the redefinition. All redefinitions done earlier will be overwritten. Objects which had been redefined before, but are not selected in the new redefinition will be deleted from the child project.
    Hope that makes it a little bit clearer.
    Regards,
    Juergen

  • Creating a Service Request in metalink

    When creating a service request what product do I choose for ODSI? I see no form of ODSI listed, or DPS (although apparently there used to be one). Should I just choose Oracle Data Integrator or Oracle Web Logic? If it helps, I'm using the "new" version of Metalink, not the classic view.

    Do you know if this is only available in the classic view of metalink? Perhaps it has something to do with what's supported under our contract or something? I know I sound like an idiot but it's really not available on my list.

  • Trying to create a service that starts at boot

    People,
    I'm trying to create a service that will start at boot (in single-user mode, actually). I am up and running but I do NOT want to run the service now. I only want to run the service when the machine reboots.
    I've been rummaging around all day trying to figure this out but I'm stuck. I can create a service that runs. I can create an XML file in /var/svc/manifest/site/patch-install.xml that will be read when I boot- because after I boot, I can list the service:
    svcs -a | grep patch
    disabled       18:23:23 svc:/site/patch-install:defaultI have inserted the following in my xml:
    <create_default_instance enabled='true' />and also
    <create_default_instance enabled='false' />but it makes no difference. Anyone have any idea? What is the purpose of create_default_instance? I don't understand; item 9 on http://www.sun.com/bigadmin/content/selfheal/sdev_intro.html seems rather opaque to me.
    Also, what exactly is the purpose of /var/svc/profile/ ? I tried putting some code to enable my xml but it didn't do anything. Just wondering if this might fit into the picture.
    BTW, I do not want the login prompt to appear until my method is complete.
    Thanks.
    -mschwage
    Here fyi is my /var/svc/manifest/site/patch-install.xml file:
    <?xml version="1.0"?>
    <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
    <service_bundle type='manifest' name='Patches:patch-install'>
    <service
            name='site/patch-install'
            type='service'
            version='1'>
            <create_default_instance enabled='false' />
            <single_instance />
            <dependent
                    name='patch-install_single-user'
                    grouping='require_all'
                    restart_on='none'>
                    <service_fmri value='svc:/milestone/single-user' />
            </dependent>
            <exec_method
                    type='method'
                    name='start'
                    exec='/var/tmp/S92delay'
                    timeout_seconds='86400' />
            <exec_method
                    type='method'
                    name='stop'
                    exec=':true'
                    timeout_seconds='0' />
            <property_group name='startd' type='framework'>
                    <propval name='duration' type='astring' value='transient' />
            </property_group>
            <stability value='External' />
            <template>
                    <common_name>
                            <loctext xml:lang='C'>
                            Install patchset upon boot.
                            </loctext>
                    </common_name>
            </template>
    </service>
    </service_bundle>

    Hushpuppy wrote:
    People,
    I'm trying to create a service that will start at boot (in single-user mode, actually). I am up and running but I do NOT want to run the service now. I only want to run the service when the machine reboots.I'd probably create the service now (by importing the manifest manually rather than waiting for the reboot), then set general/enabled in the default instance to be be true with svcprop. That should tell it to start at boot, but not enable it immediately.
    I've been rummaging around all day trying to figure this out but I'm stuck. I can create a service that runs. I can create an XML file in /var/svc/manifest/site/patch-install.xml that will be read when I boot- because after I boot, I can list the service:Yes, that's the default. Or you can load it immediately to create the service now.
    # svccfg import patch-install.xml
    I have inserted the following in my xml:
    <create_default_instance enabled='true' />and also
    <create_default_instance enabled='false' />but it makes no difference. Anyone have any idea? What is the purpose of create_default_instance? I don't understand; item 9 on http://www.sun.com/bigadmin/content/selfheal/sdev_intro.html seems rather opaque to me.There's a difference between a "service" like network/smtp or console-login and an "instance" like network/smtp:sendmail or console-login:default. In most cases, you just want a single "default" instance of your service. The above line sets the default instance 'enabled' property to true or false. When I import your manifest as is, the service comes in as 'disabled'. If I set it to true, it comes in as 'maintenance' (almost certainly because it was enabled, tried to start, and couldn't find the start method on my machine).
    Also, what exactly is the purpose of /var/svc/profile/ ? I tried putting some code to enable my xml but it didn't do anything. Just wondering if this might fit into the picture.'profiles' are loaded exactly once, and they are mainly used to set certain services to enabled or disabled.
    3 of them are loaded if present, platform.xml, generic.xml, and site.xml. The last is not generated by the OS, but left for you to use. But it's usually only useful as a "first boot" type thing. Because if you make changes to it, it will not be reread. This isn't usually a problem because after first boot you're in control of the services. The usual thing is that at first boot the manifests load to create services, then the profiles are loaded to set then enabled or disabled. This isn't possible before that point because there's no service to modify yet.
    BTW, I do not want the login prompt to appear until my method is complete.Any login prompt like a network login, or only the console login prompt? If the latter, then you'll want a dependency so that system-console-login depends on your service. But if your service has a problem at boot time, you'd make it difficult to log in.
    Darren

  • Error  while creating the service pr

    Dear All,
    i have one Currency change while creating the PR issue
    i have co  code  currenecy is  USD while creating the material  PR sysytem is
    allowing to change the USD currency in AED Currency modifible condition where as if iam creating the Service  pr system is default  USD In hide mode but my user want to create the Service pr in  AED.
    So please  help me ASAP.
    Rgards
    kishore Edagali

    Hi,
    The currency in service PR/PO is fetched from service condition master,
    Change the Currency in Deliv/Inv Tab, which will change the currency in service condition or manually change in the service condition master, so each time currency in PR needs not to be changed by user.
    Regards,
    Ahmad Farhan Khalid
    Edited by: Ahmad Farhan Farhan on May 16, 2011 3:50 PM

Maybe you are looking for

  • PS Process flow

    Hi Folks, Actully im a technical consultant. Now I want to study Projrct systems. tell me the process flow of the Project systems. And also I need important transactions and Master tables. Please anybody guide me. Thanks for your valuable time, Point

  • External Harddrive, time machine issue

    alright im sure this is gonna seem sorta confusing but here it goes. right now i have a 160GB hard drive, and 40 GB of stuff on my 250GB external harddrive. all of it is full. and now i was wondering if i could back up the 200 GB of info (160 on hard

  • GL Master deletion

    Hi, I want to delete one expense account. I already transferred the whole Debit balance to another expenses account. But when i am trying to delete the GL account system is throwing an error message...given below"- Company code 0002 still contains tr

  • IPhoto storage question

    Is it possible to store all of your photos in the iCloud?  If not then is it possible to store them to an external hard drive? I currently have waaaaaaaay too many on my laptop and I would still like access to them.

  • Good troubleshooting tip

    This is a condensed version of an issue on the recording section, I thought it would be good to share with all. The main idea is that the app you are recording, or other apps that are running can affect Captivate in negative ways. Problem: All I do i