As a rule, more than one specification type is always required in customer projects. It has proven to be best practice to implement a superclass in the customer namespace to be able to add new logic across specification types or extend existing standard logic.
The superclass inherits from /SCT/QP_CL_VART.
In these instructions:
Create package
Create a general class for inheriting specific rule types
Create a general interface for inheriting specific rule types
Create package
Create super package (ZQP_VART)
Create object
Create the class: ZCL_QP_VART
Create interface and assign to class: ZIF_QP_VART