>But i have not used field mappings and all..
Sorry bu i dont get this point. you need the fieldmapping to get the values on/from the tabstripe.
So i think your are able now to
- show the new fields in the header section
- get the data from the header section into the table
Am i right?
To manipulate data on header/item level is created an implementation of the badi: ME_PROCESS_PO_CUST
Quite simple to use, let say i want to recalculate every volume to m³
IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM is used, so every time and item is change this interface is triggered.
DATA: ls_item TYPE mepoitem.
DATA : l_header TYPE REF TO if_purchase_order_mm.
DATA : l_headerdata TYPE mepoheader.
"Holen des Kopfes anhand des Items
CALL METHOD im_item->get_header
RECEIVING
re_header = l_header.
"Holen der Kopfdaten
CALL METHOD l_header->get_data
RECEIVING
re_data = l_headerdata.
CLEAR: l_headerdata-zfield1.
CLEAR: l_headerdata-zfield2
"Holen ALLER Items
CALL METHOD l_header->get_items
RECEIVING
re_items = l_items.
IF l_headerdata-zfield1 IS NOT INITIAL.
SELECT SINGLE vtext FROM tvsbt INTO l_headerdata-zz_beschreib WHERE vsbed = l_headerdata-zfield1 AND spras = 'D'.
ENDIF.
l_headerdata-zfield1= 'M3'.
l_headerdata-zfield2 = 'KG'.
LOOP AT l_items INTO l_item.
re_data = l_item-item->get_data( ).
IF l_voleh_inval <> 'X' AND re_data-loekz = ''.
CASE re_data-voleh.
WHEN 'IN3'. "Kubilzoll 1 in3 = 0.000016387064 m3
l_headerdata-zfield1 = l_headerdata-zz_volum + re_data-volum * 163870 / 10000000000 * re_data-menge.
WHEN 'CDM'. "Kubikdezimeter 1 dm3 = 0.001 m3.
....
ENDCASE.
ENDIF.
CALL METHOD l_header->set_data( l_headerdata ).
Hope this helps,
Br Nikolaus