CLASS LHC_PRODUCT DEFINITION INHERITING FROM CL_ABAP_BEHAVIOR_HANDLER.
  PRIVATE SECTION.
    METHODS:
      CREATE FOR MODIFY
        IMPORTING
          ENTITIES FOR CREATE  Product,
      UPDATE FOR MODIFY
        IMPORTING
          ENTITIES FOR UPDATE  Product,
      DELETE FOR MODIFY
        IMPORTING
          KEYS FOR DELETE  Product,
      LOCK FOR LOCK
        IMPORTING
          KEYS FOR LOCK  Product,
      READ FOR READ
        IMPORTING
          KEYS FOR READ  Product
        RESULT result.
ENDCLASS.

CLASS LHC_PRODUCT IMPLEMENTATION.
  METHOD CREATE.
  ENDMETHOD.
  METHOD UPDATE.
  ENDMETHOD.
  METHOD DELETE.
  ENDMETHOD.
  METHOD LOCK.
  ENDMETHOD.
  METHOD READ.
  ENDMETHOD.
ENDCLASS.
CLASS LCL_ZI_ABS_PRODUCT_DEMO DEFINITION INHERITING FROM CL_ABAP_BEHAVIOR_SAVER.
  PROTECTED SECTION.
    METHODS:
      FINALIZE REDEFINITION,
      CHECK_BEFORE_SAVE REDEFINITION,
      SAVE REDEFINITION,
      CLEANUP REDEFINITION,
      CLEANUP_FINALIZE REDEFINITION.
ENDCLASS.

CLASS LCL_ZI_ABS_PRODUCT_DEMO IMPLEMENTATION.
  METHOD FINALIZE.
  ENDMETHOD.
  METHOD CHECK_BEFORE_SAVE.
  ENDMETHOD.
  METHOD SAVE.
  ENDMETHOD.
  METHOD CLEANUP.
  ENDMETHOD.
  METHOD CLEANUP_FINALIZE.
  ENDMETHOD.
ENDCLASS.
