an example of enhancement framework

This scenario would work from ECC6.0 onwards.

In Enhancement Framework, we can add our own Code at particular points.

While debugging the standard SAP program, we have to decide at which place we would need to write our own code. There we need to check whether enhancement can be implemented.  

Requirement: In Sales Order (VA01 & VA02), we have to pick the Material Description from Custom Table.

an example of enhancement framework_第1张图片

an example of enhancement framework_第2张图片

While debugging it is found that the code needs to be written in the FORM USEREXIT_MOVE_FIELD_TO_VBAP. Now click on Enhance button as shown below.

an example of enhancement framework_第3张图片

It shows the screen as below :

an example of enhancement framework_第4张图片

an example of enhancement framework_第5张图片

Then it shows the Screen as below:

an example of enhancement framework_第6张图片

""" indicates we can write our code here. 

Now Right click on """"""""""""" and select Enhancement Implementation -> Create.

an example of enhancement framework_第7张图片

 

an example of enhancement framework_第8张图片

Select Code.

an example of enhancement framework_第9张图片

Now click on Create button in the above screen. Another Screen appears as shown below:

an example of enhancement framework_第10张图片

In the above screen, click on Create Composite Implementation and the following Screen appears.

an example of enhancement framework_第11张图片

an example of enhancement framework_第12张图片

 

Now here we can write our own code as shown below:

an example of enhancement framework_第13张图片

Code:

ENHANCEMENT 315  ZSD_EI_BOQDESC.    "active version
*  Modification Done By : Sajid Shaik.
*  Date                 : 08.06.2009
*  Requirement Given by : Avinash Gyale
*  Requirement          : Material Description should be fetched from BOQ based on the Plant and Boq Type 'Erection or Civil'.
*                       : This should work only for Order type ZCO1 - Civil & Order type ZER1 - Erection

  
DATA : VAR_ARKTX    TYPE VBAP-ARKTX,
         VAR_MAKTX    
TYPE ZBOQ_ITEM-MAKTX,
         VAR_TENDERID 
TYPE ZBOQ_ITEM-TENDERID,
         VAR_LENGTH   
TYPE INT4.

IF ( SY-TCODE EQ 'VA01' OR SY-TCODE EQ 'VA02' ) AND ( VBAK-AUART EQ 'ZCO1' OR VBAK-AUART EQ 'ZER1' ) AND VBAP-WERKS IS NOT INITIAL.
  
CLEAR : VAR_ARKTX,VAR_MAKTX,VAR_TENDERID .

  
IF VBAK-AUART EQ 'ZCO1'.
    
SELECT SINGLE TENDERID FROM ZBOQ_HEADER INTO VAR_TENDERID WHERE WERKS EQ VBAP-WERKS AND TYPE EQ '3'.
      
IF SY-SUBRC NE 0.
      
ENDIF.
  
ELSEIF VBAK-AUART EQ 'ZER1'.
    
SELECT SINGLE TENDERID FROM ZBOQ_HEADER INTO VAR_TENDERID WHERE WERKS EQ VBAP-WERKS AND TYPE EQ '2'.
      
IF SY-SUBRC NE 0.
      
ENDIF.
  
ENDIF.

  
SELECT SINGLE MAKTX FROM ZBOQ_ITEM INTO VAR_MAKTX WHERE TENDERID EQ VAR_TENDERID.
     
IF SY-SUBRC NE 0.
     
ENDIF.
  VAR_LENGTH = 
STRLEN( VAR_MAKTX ).

  
IF VAR_LENGTH LE 40.
    VAR_ARKTX = VAR_MAKTX(VAR_LENGTH).
  
ELSE.
    VAR_ARKTX = VAR_MAKTX(
40).
  
ENDIF.
  
IF   VAR_ARKTX IS NOT INITIAL.
    VBAP-ARKTX = VAR_ARKTX.
  
ENDIF.
ENDIF.

ENDENHANCEMENT. 

Then Save and Activate it. 

OUTPUT :

Before Enhancement Implementation

an example of enhancement framework_第14张图片

 

After Enhancement Implementation

an example of enhancement framework_第15张图片

 

你可能感兴趣的:(user,framework,exit,Enhancement,Enhancement,framewor,va02,va01)