cancel
Showing results for 
Search instead for 
Did you mean: 

Is SAP HCM GENiL/BOL layer the best foundation to start a HCM wide OData?

0 Kudos

For many reasons, we've decided to create an SAP HCM (for PA) wide OData service, similar to SuccessFactors OData.

We were wondering where to start - is HCM BOL/GENIL that's already in place for HR renewal https://help.sap.com/viewer/6b8fd09163834a8aaf684887fc9757b8/2.5.41/en-US/92c0b0771ac649d4b74ab65424... the best place to start?

Or should we start somewhere else? Please throw some light

Accepted Solutions (1)

Accepted Solutions (1)

Andre_Fischer
Product and Topic Expert
Product and Topic Expert

Hi Ido,

I checked with colleagues from HCM development that told me that GENiL/BOL still plays a role in development for HCM.

That said it can be confirmed that BOL/GENIL is a way to go.

What I cannot recommend to use is the generation of OData services based on GENIL objects (that you might find in the SAP Online Help).
As described in SAP Note 1574568 - SAP NetWeaver Gateway 2.0 - Known Constraints

https://launchpad.support.sap.com/#/notes/1574568

there are several technical restrictions with this scenario:

  • Currently, the CUD (create, update, delete) operations are not supported on the related objects
  • Dependent objects which are assigned as related objects to more than one root/access/dependent object in the GenIL model are not supported
  • Each root/access object is assigned one default query during generation, which can be changed by the application developers after generation
  • Filtering is supported only for those properties of an entity (corresponding to the root/access object) which has a similar named field in the attribute structure of the default query

Since this integration is not going to be developed any further the above described restrictions will remain.

I would thus rather recommend to go for a code based implementation of your OData services and perform calls to your BOL/GENIL objects from within your code based implementation in the data provider class.

For more details about code based development see my blog "OData service development options":

https://blogs.sap.com/2017/12/12/odata-service-development-options/

Regards,

Andre

0 Kudos

Thank you very much for the clarity, Andre.

We'll start with custom development as per your blog. In your blog you talk of SEGW - does this support model based OData creation? We already have some sort of OData edm in place. Is there a possibility to just import this into SEGW? Of course, we would still need to create the "glue code" in the proxy class (may not be called proxy class in OData).

-Udo

Andre_Fischer
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Udo,

there is an option in SEGW to import EDMX files.

The only drawback is that in contrast to using an inside out approach (DDIC Import) you won't be able to leverage stuff like conversion exits that are present in your DDIC structures.

When using DDIC import for example the return structure of a GET_ENTITYSET method is the same as the one of your DDIC structure so it is easier to pass data.

As my colleague Siddharth Rajora I would also recommend to take a look at existing OData services in HCM that are used by SAP Fiori apps how they have performed the implementation.

Regards,

Andre

Answers (1)

Answers (1)

siddharthrajora
Product and Topic Expert
Product and Topic Expert

Andre, thanks for this detailed answer, i do agree with your recommendation

HCM or HR renewal still relies on BOL/GENIL layer also for FIORI

You can check standard fiori odata services which are released for example to make your own