It is with pleasure that I get involved again at the Community day. This is my 4th. Community Day and I still think it is the highlight of the whole week.
Last years (and during SAPphire/ASUG 2008) I’ve been involved, with the help of others ( Rich Heilman and Alexandre Giguère ), in the development and presentation of the ABAP Report Wizard. It has been a great experience and it is very rewarding to see it downloaded more then 1300 times! Way to go! That is the power of the community.
Some links to past project presentations:
Now it is time to talk about something else: I’ve worked with ABAP Object Oriented programming for a while now and I found that there was something important missing: a general guideline/standard on development of Business classes (Classes that represent business objects; Sales orders, Deliveries, materials, etc). Let me explain a bit better: Object orientation is a vast subject and can be applied in ABAP in different ways (even SAP has not applied a standard in its own code). It is nobody’s fault since we understand that is it hard to process such a change in programming paradigm considering thousands of programs that are already coded, tested and that work that were coded in the “old” way.
Additionally, OO ABAP is as not widely used as it should. I think it is greatly a result of the fact that most companies don’t invest in creating a set of business classes that can be reused accross many programs. To be able to achieve that, you need standards.
Igor Barbaric came up with this nice book/workshop called Design Patterns in OO ABAP. It is a great work of his part. What I still needed was a way to get concrete definitions of how to structure business classes efficiently. How do I implement the designs? More important still, how to make these classes coherent across development teams and different environments?
This is the goal of the session: Present/discuss the standards that I have been using for the past years that I think can benefit many. Also, since this is the community day, it gives is the flexibility/freedom to turn this session in a nice opportunity to even improve it further. Topics to be covered:
- Conventions (attributes/methods, etc), Attribute accesses, READ, GET and READ* CREATE* methods;
- Application of SINGLETON pattern in a business object class;
- Use of Exception classes;
- Instance buffering;
- Inheritance in SAP business model;
- Possibility of automating the generation of business classes;
We’ll work with concrete examples used on a day-to-day basis that should be of benefit of most.
Please feel free to join me at the community day!
See you guys there!
Leonardo De Araujo