Das ist eigentlich normal. Anderes Verhalten wird über die Art des Ref.Constraint definiert, hängt von den Möglichkeiten der
DB ab.
Du muss eigentlich nur dafür sorgen, dass der Masterrecord auch gepostet wird, bevor der 1. Detaildatensatz angelegt (oder spätestens gepostet) wird.
Das ist sowieso sinnvoll, da bei der Be/Ver-arbeitung der Detaildatensätze u.U. weitere Constraints oder Regeln greifen können, die mit dem Masterrecord in Zusammenhang stehen.
Es wäre ohne weiteres denkbar, dass der aktuelle, nicht gepostete DS einen
DB Constraint verletzt. Würde man das System dazu bringen, auf Basis des ungeposteten Satzes einen, mehrere oder viele Detaildatensätze anzulegen, die am Ende beim Commit dann alle hinfällig sind, weil der Masterrecord nicht eingetragen werden kann, wäre das ärgerlich.
Ein Commit macht, kontrolliert, steuert oder prüft gar nichts. Es schreibt die transaktionalen Änderungen einfach nur fest.