Hi
the problem is always the same, you're using a wrong headerline (WA_MSEG2) while reading internal table IT_KNA1 and IT_MKPF. You need to use WA_KNA1 and WA_MKPF
read TABLE it_kna1 into wa_mseg2 with key kunnr = wa_mseg-kunnr.
read TABLE it_kna1 into WA_KNA1with key kunnr = wa_mseg-kunnr.
if sy-subrc = 0.
move wa_kna1-name1 to wa_mseg2-name1.
read TABLE it_mkpf INTO wa_mseg2 with KEY mblnr = wa_mseg-mblnr.
read TABLE it_mkpf INTO WA_MKPFwith KEY mblnr = wa_mseg-mblnr.
if sy-subrc = 0.
move wa_mkpf-budat to wa_mseg2-budat .
move wa_mkpf-xblnr to wa_mseg2-xblnr.
endif.
ENDIF.