Stephen Smith's Blog

Musings on Machine Learning…


with 12 comments

LinuxFest Northwest 2020

An Overview of the ARM Assembly Language Instruction Set


Khan Academy Style Training Videos

Learn about Sage’s SData protocol for Web Services.

Introduction to SData
How to Practice with SData
SData Queries
Special Character Encoding in URLs and XML
SData Results – Atom Entries
SData Results – Atom Feeds
SData Via a Rest Client 

These videos and how they are made are described here.

Written by smist08

April 28, 2012 at 5:12 pm

12 Responses

Subscribe to comments with RSS.

  1. […] added a Video page to my blog which will provide links to all the videos I produce. To start with there are three […]

  2. Great stuff here stephen

    Kannan Srinivasan

    May 7, 2012 at 10:51 am

  3. […] are interested in learning more about SData check out my learning SData videos which are located here and which I blogged about […]

    • Hi Stephen, Happy New Year by the way! I am new to Sage, but not new to REST and Oracle eBusiness ERP suite. Where can I find the actual xsd for 6.2 that provides all the objects and their elements, like PODetails would have the PO headers section, followed by unbounded sets of POLines, and each POLine could have an unbounded set of POLineReceipts, etc. Is there such a thing? I did find AOM60 set of XML documents for each of the core ERP objects, but they are not xsd’s..

      Thanks a bunch! This SData tier looks very flexible!


      December 31, 2013 at 9:36 pm

      • We don’t have the schema’s published anywhere. You can do a $schema request on any feed to get the schema in the SData format. Note that currently Sage 300 doesn’t have feeds for PO built in.


        December 31, 2013 at 11:55 pm

  4. Hi Stephen, How does one use basic java facilities such as JAXB unmarshaller on your schema if it fails schema validation as is? running .net REST client is not an option for us.. what do we do here?
    Thanks for much for your reply!


    January 1, 2014 at 5:31 pm

    • We’ve mostly used JiBX for this in the Java world.


      January 2, 2014 at 4:20 pm

      • Hi Stephen, I few more questions as we dig deeper into SDATA and are seriously considering using it:

        We downloaded CRMERP.xsd and Common.xsd and they are both valid xsd, unlike sageERP.xsd.

        Can we safely assume that using java client with JAXB should work just fine with your back end provider? Why / how is the $schema payload I got from your demo is different than the CRMERP.xsd?$schema

        Specifically, sageERP.xsd was missing this header below that I added to get it to recognize it as xsd:


        what is the difference between sageERP.xsd at version = 6 and your CRM equivalent which says ERP = 2008?

        You stated that the PO verb does not work.. How would one get a list of verbs that are not operable, i.e. NOT to be used for UPDATES / INSERTS? What do we do for data service when we need to create a PO via API call with a java client?

        Lastly, how can we go about getting more re-assurances that SDATA tier is in use out there, in a big way, and we will not be taking on a new implementation risk, if we assume that it can handle the following CREATE API calls:

        1. create VENDOR object
        2. create ITEM master object – just the catalog, no inventory, just enough to create SO and PO later
        3. create PO header and lines
        4. Receive specific lines against specific PO header / PO line number
        5. Create A/P invoice associated with just received PO lines
        6. Apply payment against A/P invoice (we pay via our own ACH, and want to update ERP retro-actively, to keep G/L updated)
        7. create SO (sales order) header and lines
        8. Apply shipment against specific sales order and sales line
        9a. by the way, how does Sage handle external supplier ‘ship confirm’ events? is there anything we can use to have Sage ERP ‘listen’ for these? sometimes people call them ASN also..
        10a. by the same token, how does Sage manage external supplier ‘RMA receipt’ notifications events in case of RETURNS, that are shipped to our ‘drop shipper’? Is there anything there at all to try to automate Sage ERP and get it to generate A/P credit memo?
        11. Create A/R invoice
        12. apply payments against specific A/R invoice and line number

        I know this is a big list, and 9a / 10a are separate needs when dealing with 3rd party suppliers.
        Thanks in advance, and happy New Year!


        January 3, 2014 at 4:36 pm

  5. JiBX is a bit dated, as most development nowadays is done with JAXB and SAX using annotations. Is there a specific reason why Sage SDATA platform is not supporting fully formed xsd documents, and all the benefits that come with it? By the way, i was able to ‘touch up’ your $schema, and get it to pass xsd validation..
    We have extensive java PD expertise, and would love to partner with Sage SDATA team to have a winning outcome for both of us. What say you?


    January 2, 2014 at 10:22 pm

    • SData is a new and still being developed system for Sage 300. I suspect you will run into problems with what you are proposing to do. A better alternative would be to use the COM API or the .Net API as these have access to everything with no restrictions.

      I can pass on your comments on xsd, but I suspect this won’t change. Mainly because the new work will concentrate on adding JSON payloads.


      January 4, 2014 at 12:21 am

      • thanks Stephen. Yes, sure, please, pass the comments and the architectural desire to have comparable java REST client feature sets with .Net.. Too bad Sue Swanson retired, as we worked together and i could have had her influence the direction, possibly.. Anyhow, we could use .net and create a bridge to java on our side.. not really pretty, but possible..


        January 4, 2014 at 12:50 am

  6. Would it it possible to chat with you live for 30 minutes, please? We like AccPac features and accessibility, and want to explore COM/DCOM access via IDL, or SOAP access via WSDL to your .Net server code, if that would make more sense than trying to use java REST API client. We just need to assess feasibility. Thanks…


    January 7, 2014 at 6:03 am

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: