Friday, June 5, 2015

SAP ABAP : ENHANCEMENT

https://sites.google.com/site/programminginterviewquestions/enhancements

http://sapignite.com/sap-abap-interview-questions-and-answers/


1. What are the different ways in which you can make changes to SAP standard software ?

Customizing

Enhancements to the SAP Standard

Modifications to the SAP Standard

Customer Development

1. Source code enhancements (plug-ins)
2. Function group enhancements
3. Class Enhancements
4. Kernel-BADI enhancements

New BADI/KERNEL BADI : GET BADI/CALL BADI
Classic BADi : CAll cl_exithandller->get_instance

===========================================================

Enhancement :

    • Whenever we need to enhance any standard SAP delivered functionality by introducing new code. there are several ways to achieve this:
      • Code Modification : This required access key. not recommended. 



      • User Exits : there are some routines in the standard code start with USEREXIT_*. These subroutines are delivered by SAP but you can add code to them. this is manageable because they are in a single include.
        • To find user exits in SD :
          • Got to SE80
          • Select package VMOD
          • we have all the includes for user exits
        • In user Exit MV45AFZ1 we have subroutine userexit_save_document_prepare this can be used to add checks before a document saved. (VL02 ).
        • In user exit MV45AFZZ (sales order exit ), USEREXIT_MOVE_FIELD_TO_VBKD
      • Customer Exits : Function module not delivered by SAP. we can implement our code.  customer exits are nothing but a include in customer name space will be provided in the function module which starts with CALL CUSTOMER.
        • SAP creates customer exits for special programs, screens, menus within standard applications.
        • Type of customer exit
          • Screen exit : Call Customer Sub ScR
          • function module exit : Call Customer Function
          • menu exit : +US00 
      • BADI (Business add ins):
        • are based on oops concept.
        • multiple implementation.
        • Filter Badi.
  • Enhancement Point and enhancement section
      • Enhancement point does not offer any default code implementation whereas Section offers a default logic between ENHANCEMENT SECTION and END ENHANCEMENT SECTION. whenever you implement enhancement section standard automatically insert this logic to your code, you may keep it or may not.
      • ENHANCEMENT-POINT is the empty placeholder for the code where as ENHANCEMENT-SECTION is the placeholder with default code.
      • Enhancement point are provided on some specific place whereas the enhancement section is there to replace some special lines of code.
  • Implicit Enhancement Vs Explicit Enhancement
      • Implicit Enhancement are provided by SAP at the beginning and End of code blocks like subroutines, type definitions etc.
      • Explicit enhancements you can implement anywhere in the code.
      • Here is both of the options mean:
        • Declaration – When you choose this type, the implementation would be created and treated as Static implementation. Means, it would be always available in all the clients.
        • Code– When you choose this option, the implementation would be Dynamic implementation. It would be only called based on switch’s status if the switch is assigned.
===========================================================

Classic BADI : ME_PROCESS_PO_CUST /DOCUMENT_AUTH02
New BADI : DOCUMENT_STATUS02 / DOCUMENT_STATUS





No comments:

Post a Comment