Hello Sebastian,
as I understand your question is not about algorithmic decomposition, but about how to judge a design. There is no right or wrong without context, but OO design principles help:
1) How to design classes: make sure each class have a Single Responsability
Craig Larman says the most important OO development skill to learn is the ability to assign responsabilities to software objects. It is challenging to master, with many degrees of freedom and yet everyone must do it from day one.
2) How to choose between competing designs: Sandi Metz says we must make sure a class only depends on classes that changes less often than itself
e.g. you have a relationship between classes CL_ADJUST and CL_PROM via the promotionID attribute. Promotions now depend on the Adjustment class to work properly.
Is it likely that CL_ADJUST will change in a way that you also have to change the CL_PROM class? Then you should not separate those.
Check this site for more information.
JNN