http wikisdnsap

Upload: asiahazhar

Post on 09-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Http Wikisdnsap

    1/14

    Enhancement Framework - Class Enhancements - Pre-exit, Post-exit and Overwrite-exit methods -

    Concept and Simple Scenarios

    Welcome Guest

    Log In Register About Us How to Contribute

    SDN Community BPX Community BusinessObjects University Alliances SAP EcoHub

    Home Forums Wiki Blogs Articles eLearning Downloads Code Exchange Career Center Events InnoCentive Idea Place

    Enhancement Framework Class Enhancements Pre-exit, Post-exit and Overwrite-exit methods

    Class Enhancements (Klasse Verbesserungen) -

    We can take the advantage of enhancing the global parameters and interface of a class with the help of the new enhancement framework to achieve the expected business functionality.

    What things are possible when we can think of enhancing the features or functionality of a class?

    Adding new methods to the existing ones.

    Adding new, but optional global parameters to the existing method parameters.

    Enhancing (Customer defined business functionality) the way the methods are triggered or executed with the help of Pre-exit, Post-exit and Overwrite methods respectively with customer logic.

    The best way to utilize the functionality would be the combined use of enhancing the global parameters as well as applying the 'Pre-Post-Overwrite exit' methods.

    In Short,

    Pre-exit methods -

    Pre-exit methods are the enhanced methods which can be invoked at runtime before the original method code is supposed to be executed or triggered.

    A pre-exit can be utilized for certain validations or passing some data from the pre-exit to the original method.

    Note: In addition to the pre-exit some source code enhancements can be well used to adapt the changes from the enhanced 'pre-exit' method to the original method.

    Post-exit methods -

    Post-exit methods are the enhanced methods which can be invoked at runtime after the original method code has been executed or triggered.

    The post-exit can be used to add or enhance the data flowing from the original method and satisfy the custom business functionality.

    Overwrite-exit methods -

    Overwrite-exit methods are the enhanced methods which act as a replacement at run time for the original method.

    Point to correlate -

    If the things are observed closely then it reveals that the 'Pre-exit' and 'Post-exit' methods act like 'Enhancement-point' as in source code enhancements.

    Also, the 'overwrite-exit' method acts like 'Enhancement-section'.

    Note: This is the biggest function of the framework which knows what needs to be invoked for that particular 'Exit' method applied instead or along with the original code.

    To understand these powerful techniques here is a practical demonstration of them by means of some basic scenarios.

    Note: Here in this scenario the class used is in customer name space ('Z' class).

    With respect to the scenario, three methods are used to demonstrate the functionalities of the three enhancement methods (Pre, Post and Overwrite Exit methods).

    Access the class in 'Display' mode which needs to be enhanced.

    These are three methods which need to be enhanced,

    Added by Harsh Dave, last edited by Harsh Dave on Mar 17, 2009

    Page 1 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework - C...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    2/14

    Scenario 1: Applying 'pre-exit' for enhancing method 'ZDAVE_METHOD_KNA1'.

    Considering the first method 'ZDAVE_METHOD_KNA1', observe the global parameters

    Check the source code for the original method,

    This method can be called into an application (say) like a report program which will offer the standard functionality,

    Page 2 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework - C...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    3/14

    Execute the report, to check out the standard functionality

    Test case I -

    Observe the outcome,

    Test case II -

    Observe the outcome,

    Page 3 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework - C...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    4/14

  • 8/8/2019 Http Wikisdnsap

    5/14

    As some validation for customer range was carried out, observe the 'Pre-exit' method has triggered

    Observe the difference,

    Another test case,

    Validations are processed for the above test case,

    Finally, observe the difference in the output of the report as the 'Pre-exit' method of the class 'ZDAVE_METHOD_KNA1' has been invoked or triggered.

    Page 5 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework - C...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    6/14

    Scenario 2: Applying 'post-exit' for enhancing method 'ZDAVE_METHOD_KNA2'.

    Check the parameters for the method 'ZDAVE_METHOD_KNA2',

    Original source code for method 'ZDAVE_METHOD_KNA2',

    After calling the method in the application report program, execute the report

    Test case I -

    Page 6 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework - C...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    7/14

    Observe the output,

    Test case II -

    Observe the output,

    Access the 'Enhance' path (Enhancement Mode) 'Method ' 'Enhance'.

    Create an Implementation for the method 'ZDAVE_METHOD_KNA2',

    Create a 'Post-exit' method by accessing the path ' Enhancement operations' 'Insert Post-method'

    Page 7 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework - C...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    8/14

    Observe the 'Post-exit' method created and navigate inside to write the enhancement code,

    After the original method does its job the 'Post-exit' method will get invoked and it will allow to enhance the application by adding one more parameter which will be displayed by the application

    (here report program), here's the code.

    Now, call the second method 'ZDAVE_METHOD_KNA2' in the report program,

    Page 8 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework - C...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    9/14

    Execute and enter the desired data,

    Observe the difference,

    Scenario 3: Applying 'Overwrite-exit' method to the method 'ZDAVE_METHOD_KNA3',

    Check the parameters of the method 'ZDAVE_METHOD_KNA3',

    Page 9 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework - C...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    10/14

    Observe the source code of the original method,

    Call the method in the application report program and test it (Execute)

    Test case I -

    Output -

    Page 10 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework ...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    11/14

    Test case II -

    Output -

    Now, to replace this functionality with the customer's functionality, we make use of 'Overwrite-exit' method

    As usual access the path 'Method' 'Enhance ' to enable the enhancement mode.

    Create an Implementation,

    Add an 'Overwrite-method' accessing the path,

    Observe that the method has been created and follow the indication to code the functionality which will replace the original one,

    Page 11 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework ...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    12/14

    Observe the coding logic,

    Activate and call the method in the application report program,

    Page 12 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework ...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    13/14

    Now, its time to test the application,

    First test case,

    Observe that the overwrite-exit method has been triggered,

    To confirm, observe the output,

    Second, test case

    Again, observe that the overwrite-exit method has been triggered,

    Confirm with the output,

    Page 13 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework ...

    12/01/2011http://wiki.sdn.sap.com/wiki/display/ABAP/Enhancement+Framework+-+Class+Enh...

  • 8/8/2019 Http Wikisdnsap

    14/14

    Contact Us Site Index Marketing Opportunities Legal Terms Privacy Impressum

    Powered by SAP NetWeaver

    Labels

    Comments (1)

    enhancement framework class pre-exit post-exit overwrite-exit method concept simple scenario kategorien verbesserungen global parameter interface business functionality

    customer trigger execute invoke runtime original validations source code enhancement-point indication program access replace navigate enhc application report

    enhancement-section zdave kna1 standard mode implementation operation klasse

    Page 14 of 14SAP Community Network Wiki - ABAP Development - Enhancement Framework ...