Wednesday, 21 August 2019

SAP ABAP - Adopt Purchase Requisition Header Note to Purchase Order Header Text

Adopt purchase requisition header note to purchase order header text when creating purchase order with purchase requisition reference using BADI ME_PROCESS_PO_CUST 

Copy this source code to Method : IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM

DATA :  LS_MEPOITEM TYPE MEPOITEM.
DATA :  L_HEADER    TYPE REF TO IF_PURCHASE_ORDER_MM,
      LS_HEADER   
TYPE MEPOHEADER.

DATA :  IM_TDID         TYPE TDID,
      IM_TEXTLINES    
TYPE MMPUR_T_TEXTLINES,
      MMPUR_TEXTLINES 
TYPE MMPUR_TEXTLINES,
      LT_LINES        
TYPE TABLE OF TLINE,
      LS_LINES        
TYPE TLINE,
      LV_TDNAME       
TYPE THEAD-TDNAME.

LS_MEPOITEM = IM_ITEM->GET_DATA( ).

  
CALL METHOD IM_ITEM->GET_HEADER
    RECEIVING
      RE_HEADER 
= L_HEADER.

  
CALL METHOD L_HEADER->GET_DATA
    RECEIVING
      RE_DATA 
= LS_HEADER.
 
  
"Get Purchase Order Header Note 
  
IF LS_MEPOITEM-BANFN IS NOT INITIAL AND SY-TCODE = 'ME21N'.
    
CLEAR   : LV_TDNAME, LS_LINES, IM_TEXTLINES.
    
REFRESH LT_LINES.

    LV_TDNAME 
= LS_MEPOITEM-BANFN.
    
CALL FUNCTION 'READ_TEXT'
      
EXPORTING
        
CLIENT                                           = SY-MANDT
        
ID                                                     = 'B01'
        
LANGUAGE                                   = SY-LANGU
        NAME                   
= LV_TDNAME
        OBJECT                 
= 'EBANH'
      
TABLES
        
LINES                                              = LT_LINES
      
EXCEPTIONS
        
ID                                                     = 1
        
LANGUAGE                                   = 2
        NAME                    
= 3
        NOT_FOUND               
= 4
        OBJECT                  
= 5
        REFERENCE_CHECK         
= 6
        WRONG_ACCESS_TO_ARCHIVE 
= 7
        
OTHERS                                          = 8.

    
IF SY-SUBRC = 0.
      
LOOP AT LT_LINES INTO LS_LINES.
        
CLEAR MMPUR_TEXTLINES.
        MMPUR_TEXTLINES
-TDID     = 'F01'.
        MMPUR_TEXTLINES
-TDOBJECT = 'EKKO'.
        MMPUR_TEXTLINES
-TDFORMAT = LS_LINES-TDFORMAT.
        MMPUR_TEXTLINES
-TDLINE   = LS_LINES-TDLINE.
        
APPEND MMPUR_TEXTLINES   TO IM_TEXTLINES.
        
CLEAR LS_LINES.
      
ENDLOOP.
    
ENDIF.

    IM_TDID 
= 'F01'.
    
CALL METHOD L_HEADER->IF_LONGTEXTS_MM~SET_TEXT(
      
EXPORTING
        IM_TDID      
= IM_TDID
        IM_TEXTLINES 
= IM_TEXTLINES ).
  
ENDIF.


No comments:

Post a Comment

Turn off default MS Word Editor in Smartforms SAP S/4HANA

Fix SMARTFORMS and SE71 Access Issue in S/4HANA - Enhancement Solution Fix SMARTFORMS and SE71 Access Issue in S/...