cancel
Showing results for 
Search instead for 
Did you mean: 

DIFFERENCE BETWEEN ENHANCEMENT AND EXTENSIBILITY

Former Member
0 Kudos

Hi I am begineer on ByD Studio coming from .net background so got stuck with the two concept enhancement and extending a BO. Please provide me a scenario based explanation with example to determine which one to use under what kind of requirement. I followed the document but it does not discuss it with examples like that of CAR Park example. Please help with links to exact documents if possible or lively step wise example to demonstrate the difference between the two.

Regards, 

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Guys, I don't think he is much concerned with enhancement implementation. His doubt is general one I guess.

Anyway, if I am correct,

Building something in addition on the top of existing object - Extension

Modifying some existing process to give greater abilities - Enhancement

Extension is done on an object but enhancement is done to a process.

Answers (2)

Answers (2)

ReinholdK
Employee
Employee

Hi,

both techniques, enhancements and business object extensions, do not modify standard SAP objects but enable you to add/extend business logic or business object data.

Business object extensions allow you to add additional fields to SAP business objects. The fields can be added to screens, forms, or reports. Furthermore, you can add business logic at predefined events like AfterModify, BeforeSave or implement validations. Those events are available for all business objects.

Enhancement implementations are another way to extend the business logic. An enhancement option is an event where you can add you own business logic too. In contrast to the generic events for business object extensions (AfterModify, BeforeSave), enhancement options are offered for very specific business processes, e.g.: AdjustDueClearingProposal. A enhancement options are not bound to a business object instance (no 'this' is available in the implementation) but provide input and output parameters specific for the business process.

You can get an overview of the enhancement options available using the Repository Explorer view in SAP Business ByDesign Studio.

Regards

-- Reinhold

Former Member
0 Kudos

Enhancement is used to modify the behaviour of standard SAP objects without modifying the object itself.

In case of Extension, you will modify the SAP object with the additional/custom fields.

e.g.

For Enhancement: If you want to put some extra validation for a standard business object, say Customer Invoice, then you can enhance the Customer Invoice BO and add your own validation code. So here, you are modifying the behaviour of the Customer Invoice BO.

For Extension: If you want to add a custom field in Customer Invoice BO, then you can extend the Customer Invoice BO. Further you can add the same field in standard customer invoice screen, forms and reports.

Personally, I have not worked on any enhancement implemetations till now. So cant comment more If you have ByD studio documentation then refer to section 6.7.4 Enhancement Implementations. Also you cant enhance/extend all standard objects as you want. Only objects released for Public Solution Solution can be enhanced/extended.

Hope this clarifies.

Regards,

Hari