Skip to end of metadata
Go to start of metadata

What is ZOA?

ZOA is an open source project to build an ABAP framework for consistent web services that read and update SAP data.  ZOA stands for developer oriented architecture (smile)

How is ZOA different to BAPIs and RFCs?

ZOA is a framework for exposing services that are:

  • simple
  • consistent
  • compact
  • complete
  • able to log and trace calls
  • extensible
  • able to supply metadata about fields and values
  • developer friendly

Benefits of using ZOA's consistent framework

Reduced development times - easy to find, intuitive to use, meaningful messages, traces and logs
Low-impact enhancement - easily incorporate new functionality
Pre-emptive messaging - propose default values, list allowed values,  related features, validate field entries, test user auth.
Extensible - parameter / value arrays for stable interfaces and proxies

What are "features'?

A feature is a flat structure reflecting SAP data, like Sales order header, or Purchase order item.
Features can have parents, children and siblings.
Relationships are managed using common classes and methods.

How can an interface be simple and complete?

Only very basic fields are named in interfaces
More complex fields are addressed using optional parameter/value arrays
GetFields method has filters to return mandatory, basic,  grouped etc fields
GetRelatedFeatures delivers rich hierarchical context
ProposeDefaults reduces guesswork around user/config settings

Illustrative subset of methods

Here are some of the methods defined in the ZOA superclass and, if necessary, reimplemented in classes for specific features:

  • SAPChange
  • IsFieldValueValid
  • ListProposedValues
  • ListFields
  • ListRelatedFeatures
  • SAPRead
  • SAPCreate
  • IsUserAuthorized
  • ListAllowedFieldValues
  • SAPListIds


How will I build new features?

It will be quite easy to build new features, because the superclass does most of the hard work.  The steps will be:

  1. Choose a name for the feature
  2. Put the basic fields into a structure
  3. Create a class under the ZOA superclass
  4. Register tables, fields names, keys and related features in the constructor
  5. Provide some code to implement each SAP data method - the superclass does the rest

 Current status of the project

Superclass defined
Code practices established
SAPSearch implemented for Address feature with:

  • Field registration
  • Core and extension field handling
  • Dynamic field mapping

Next Milestones
Launch Community Project - April 2009
Establish Protocols - July 2009
Develop superclass and first feature for alpha release - October 2009

How can I be involved?

If you are a very experienced ABAP developer and you would like to contribute to this project please register your interest by responding to this article or contacting the author directly.