Object-Oriented Design with ABAP: A Practical Approach