Es ist möglich Datensätze zu initialisieren und diese anstatt zu speichern in einer Maske auf einem Tab oder in einem Dialog zu öffnen. Beispielsweise könnte man vor dem Erstellen des Datensatzes einen Dialog voranstellen und auf Basis der Eingaben des Anwenders einen Datensatz initialisieren. Anschließend wird dieser neue und ungespeicherte Datensatz in einer Maske geöffnet.

In BA werden alle neuen Datensätze sofort gespeichert und befinden sich damit in der Datenbank. Dafür erhalten diese Datensätze einen temporären Schlüssel, der sie von den realen Datensätze unterscheidet. Dabei wird nur der Datensatz selbst gespeichert. Beispielsweise werden Relationen noch nicht angelegt. Die Masken selbst arbeiten auf einem Cache, in dem der Datensatz mit allen Informationen, also auch mit den ungespeicherten Relationen, abgelegt ist.

// Session mit temporären Schlüssel anlegen
Guid tempKey = Guid.NewGuid();
UnitOfWork uow = Api.ORM.GetNewUnitOfWork(tempKey);
// Neuen Datensatz erstellen
OrmEngine myData = Api.ORM.GetNewORM<OrmEngine>(uow);
myData.AddSource(parentGuid, EnumRelationType.Parent, null);
myData.Name = "Name";
// Datensatz 'speichern'.
myData.Save();
uow.CommitChanges();
// Datensatz in den Cache legen
Guid cacheGuid = myData.SaveToCache();

Im folgenden Kapitel wird beschrieben, wie ein Datensatz in einer Maske geöffnet werden kann.