Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How enhancement implementations will be called in the Program???

Former Member
0 Likes
830

Hi,

i have enhanced a method by implementing post exit .

so what it does is

1. it created a include ( ZERENH_EMAILPROP==============EIMP ), where ZERENH_EMAILPROP is my enhancement implementation name

2. it created a local class definition and implementation as well along with constructor and interface and its method ( one which i am enhancing )

*----------------------------------------------------------------------*
*       CLASS LCL_ZERENH_EMAILPROP DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_zerenh_emailprop DEFINITION.
  PUBLIC SECTION.
    CLASS-DATA obj TYPE REF TO lcl_zerenh_emailprop.
    DATA core_object TYPE REF TO cl_hrrcf_candidate .
 INTERFACES IPO_ZERENH_EMAILPROP.
    METHODS:
     constructor IMPORTING core_object
       TYPE REF TO cl_hrrcf_candidate OPTIONAL.
ENDCLASS.                    "LCL_ZERENH_EMAILPROP DEFINITION
*----------------------------------------------------------------------*
*       CLASS LCL_ZERENH_EMAILPROP IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_zerenh_emailprop IMPLEMENTATION.
  METHOD constructor.
    me->core_object = core_object.
  ENDMETHOD.                    "CONSTRUCTOR

  METHOD ipo_zerenh_emailprop~assign_application.
*"------------------------------------------------------------------------*
*" Declaration of POST-method, do not insert any comments here please!
*"
*"methods ASSIGN_APPLICATION
*"  importing
*"    !APPLICATION type ref to CL_HRRCF_CANDIDATE_APPLICATION
*"  raising
*"    CX_HRRCF_INFOTYPE_OPERATION .
*"------------------------------------------------------------------------*

    core_object->get_applications( ).
  ENDMETHOD.                    "IPO_ZERENH_EMAILPROP~ASSIGN_APPLICATION
ENDCLASS.

3. in enhancement implementation if i see tab called "Enhancement include" the following code is added

ENHANCEMENT 1 .
  data %_ZERENH_EMAILPROP type ref to OBJECT .
ENDENHANCEMENT.

ENHANCEMENT 2  .
INTERFACE IPO_ZERENH_EMAILPROP .

  methods ASSIGN_APPLICATION
    importing
      !APPLICATION type ref to CL_HRRCF_CANDIDATE_APPLICATION
    raising
      CX_HRRCF_INFOTYPE_OPERATION .
ENDINTERFACE.
INCLUDE ZERENH_EMAILPROP==============EIMP .
ENDENHANCEMENT.

ENHANCEMENT 3 .
IF ME->%_ZERENH_EMAILPROP IS INITIAL.
   CREATE OBJECT LCL_ZERENH_EMAILPROP=>OBJ
     EXPORTING CORE_OBJECT = ME.
ME->%_ZERENH_EMAILPROP ?= LCL_ZERENH_EMAILPROP=>OBJ .
ELSE.
LCL_ZERENH_EMAILPROP=>OBJ ?= ME->%_ZERENH_EMAILPROP .
ENDIF.
LCL_ZERENH_EMAILPROP=>OBJ->IPO_ZERENH_EMAILPROP~ASSIGN_APPLICATION( APPLICATION = APPLICATION   ).
ENDENHANCEMENT.

my question now is how SAP will call this enhancement implemenation runtime, how these statements are integrated to class so that it gets called???

Thanks,

Kranthi.

Hi,

i have enhanced a method by implementing post exit .

so what it does is

1. it created a include ( ZERENH_EMAILPROP==============EIMP ), where ZERENH_EMAILPROP is my enhancement implementation name

2. it created a local class definition and implementation as well along with constructor and interface and its method ( one which i am enhancing )

*----------------------------------------------------------------------*
*       CLASS LCL_ZERENH_EMAILPROP DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_zerenh_emailprop DEFINITION.
  PUBLIC SECTION.
    CLASS-DATA obj TYPE REF TO lcl_zerenh_emailprop.
    DATA core_object TYPE REF TO cl_hrrcf_candidate .
 INTERFACES IPO_ZERENH_EMAILPROP.
    METHODS:
     constructor IMPORTING core_object
       TYPE REF TO cl_hrrcf_candidate OPTIONAL.
ENDCLASS.                    "LCL_ZERENH_EMAILPROP DEFINITION
*----------------------------------------------------------------------*
*       CLASS LCL_ZERENH_EMAILPROP IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_zerenh_emailprop IMPLEMENTATION.
  METHOD constructor.
    me->core_object = core_object.
  ENDMETHOD.                    "CONSTRUCTOR

  METHOD ipo_zerenh_emailprop~assign_application.
*"------------------------------------------------------------------------*
*" Declaration of POST-method, do not insert any comments here please!
*"
*"methods ASSIGN_APPLICATION
*"  importing
*"    !APPLICATION type ref to CL_HRRCF_CANDIDATE_APPLICATION
*"  raising
*"    CX_HRRCF_INFOTYPE_OPERATION .
*"------------------------------------------------------------------------*

    core_object->get_applications( ).
  ENDMETHOD.                    "IPO_ZERENH_EMAILPROP~ASSIGN_APPLICATION
ENDCLASS.

3. in enhancement implementation if i see tab called "Enhancement include" the following code is added

ENHANCEMENT 1 .
  data %_ZERENH_EMAILPROP type ref to OBJECT .
ENDENHANCEMENT.

ENHANCEMENT 2  .
INTERFACE IPO_ZERENH_EMAILPROP .

  methods ASSIGN_APPLICATION
    importing
      !APPLICATION type ref to CL_HRRCF_CANDIDATE_APPLICATION
    raising
      CX_HRRCF_INFOTYPE_OPERATION .
ENDINTERFACE.
INCLUDE ZERENH_EMAILPROP==============EIMP .
ENDENHANCEMENT.

ENHANCEMENT 3 .
IF ME->%_ZERENH_EMAILPROP IS INITIAL.
   CREATE OBJECT LCL_ZERENH_EMAILPROP=>OBJ
     EXPORTING CORE_OBJECT = ME.
ME->%_ZERENH_EMAILPROP ?= LCL_ZERENH_EMAILPROP=>OBJ .
ELSE.
LCL_ZERENH_EMAILPROP=>OBJ ?= ME->%_ZERENH_EMAILPROP .
ENDIF.
LCL_ZERENH_EMAILPROP=>OBJ->IPO_ZERENH_EMAILPROP~ASSIGN_APPLICATION( APPLICATION = APPLICATION   ).
ENDENHANCEMENT.

my question now is how SAP will call this enhancement implemenation runtime, how these statements are integrated to class so that it gets called???

Thanks,

Kranthi.

1 REPLY 1
Read only

Former Member
0 Likes
565

found some info here

[http://help.sap.com/saphelp_nw2004s/helpdata/en/86/b83142680d5c33e10000000a155106/frameset.htm|http://help.sap.com/saphelp_nw2004s/helpdata/en/86/b83142680d5c33e10000000a155106/frameset.htm]

not enough though!!!