If you need to update custom fields in historical data only once you can do this with an UPDATE Statement for involved table in a loop like this:
SELECT SINGLE FOR UPDATE * FROM mkpf
WHERE mblnr EQ '4711'
AND mjahr EQ '2015'.
IF sy-subrc EQ 0.
mkpf-zzfield1 = 'XYZ'.
mkpf-zzfield2 = '123'.
UPDATE mkpf.
ENDIF.