Dopo aver creato o modificato un record, salvare le modifiche al database effettuando le seguenti operazioni:
Il metodo Validate esegue gli script di convalida dello schema e restituisce una stringa contenente tutti gli errori di convalida. Se questa stringa non è vuota, è possibile utilizzare il metodo GetInvalidFieldValues per ottenere un elenco di campi che contengono dati non corretti. Una volta corretti tali valori nei campi, è necessario richiamare nuovamente il metodo Validate. Se il metodo Validate restituisce una stringa vuota significa che non esistono ulteriori errori.
Una volta convalidato il record, ed eseguita con esito positivo la convalida, l'utente esegue il commit delle proprie modifiche nel database richiamando il metodo Commit dell'oggetto Entity corrispondente.
Come annullare le modifiche: se la convalida di un record non riesce, non è possibile eseguire il commit delle modifiche al database. La soluzione più sicura è di riportare il record al proprio stato originale e notificare un errore. Per riportare un record al proprio stato originale, richiamare il metodo Revert dell'oggetto Entity.
Eseguendo l'annullamento di una serie di modifiche, lo stato del record ritorna sullo stato che aveva prima di utilizzare il metodo EditEntity. Se si esegue l'annullamento delle modifiche apportate nell'oggetto Entity creato tramite il metodo BuildEntity, il record non viene creato e i dati vengono eliminati. Gli ID associati ai record non vengono riutilizzati. Se si annullano modifiche apportate ad un record reso modificabile con l'utilizzo del metodo BuildEntity, il record viene eliminato, ma non il suo ID visibile così da impedirne l'utilizzo da parte di record futuri.
# Modificare il record ed eseguire il commit delle modifiche. $entityObj = $sessionobj->GetEntity("defect","BUGID00000042"); $sessionObj->EditEntity($entityobj,"modify"); # Modificare l'oggetto Entity # Il codice dovrebbe anche controllare le eccezioni $status = $entityObj->Validate(); if ($status == ""){ $status = $entityObj->Commit(); if ($status == ""){ # commit riuscito } else { # controllare il messaggio di errore } } else { $entityObj->Revert(); } # L'oggetto Entity non è più modificabile.