Du benötigst noch einen

and exists (select * from ako01pf c where a.imbeln = c.akanr and c.akkdt2 >
130101)

Wenn nämlich kein Satz gefunden wird, liefert der Subselect NULL-Werte.
Diese sind wohl in deiner Zieltabelle nicht zulässig.
Anmerkung:
Wenn NULL-Werte zulässig wären, hättest du die Inhalte für nicht existierende Daten auf NULL gesetzt!