Hello Omar,
Can you Explain the exact requirement ????
First thing you need to create BADI implementation.
For validation at Item level, you need write in method Process_Item or header level Process_header.
For example in the below code, i want make tax code as mandatory so i have written the below code.
i.e.,
decalration for acessing the data in method.
DATA: re_data TYPE mepoitem.
DATA: re_header TYPE REF TO if_purchase_order_mm.
DATA: re_hdrdata TYPE mepoheader.
INCLUDE mm_messages_mac. "useful macros for message handling
re_data = im_item->get_data( ). "fetching the item level data.
re_header = im_item->get_header( ).
re_hdrdata = re_header->get_data( ).
IF ( sy-tcode = 'ME21N' OR sy-tcode = 'ME22N' ) and re_hdrdata-ekorg = '0001' AND re_data-pstyp NE '7' and re_data-mwskz IS INITIAL and re_data-LOEKZ eq ''.
mmpur_metafield mmmfd_tax_code. "metafield for Taxcode.
mmpur_message_forced 'E' 'ME' '563' '' '' '' ''. "Error msg number 563 and Msg class 'ME', Msg type 'E' error
* to invalidate the object call the method invalidate
CALL METHOD im_item->invalidate( ). " im_item is parameter of badi PROCESS_item
ENDIF.