Generierten Code ändern

Codeblöcke in der generierten Ausgabe werden von EGL-Kommentaren begrenzt, die bei BEGIN starten und bei END enden. Beispiel:
		/*
     * This function returns true if the supplied record is valid.
     * Customize to supply validation rules as needed.
     * isValid() is called prior to updating or inserting a row into the database.
     */
	//BEGIN IsValid
	// @generated - Delete generated tag to preserve modified code       
	Function IsValid(testRecord Employee) returns( boolean )
		return(true);
	end
	//END IsValid

Sie können den Code zwischen den Tags BEGIN und END ändern. Gehen Sie jedoch vorsichtig vor, wenn Sie vorhandene Funktionen anpassen.

Um Ihre Änderungen bei beim erneuten Umwandeln des UML-Modells beizubehalten, löschen Sie die Kommentarzeile, die das Tag "@generated" enthält. Code, der außerhalb des von den Tags BEGIN und END begrenzten Bereichs steht, ist nach der Umwandlung nicht mehr vorhanden. Ein Hinzufügen der Tags BEGIN und END zu einem geänderten Code reicht noch nicht aus, damit er beibehalten wird.

Wenn Sie eine vorhandene Funktion ändern, funktioniert sie später möglicherweise nicht mehr. Wenn Sie eine Bibliotheksfunktion und das UML-Modell oder die Umwandlungsparameter so ändern, dass das Ergebnis der Umwandlung geändert wird, müssen Sie auch den geänderten Code mit der aktualisierten Umwandlungsausgabe abstimmen.

Darüber hinaus müssen Sie die Verzweigungen der folgenden Änderungen berücksichtigen:

Hinweise zu kaskadierende Löschoperationen

Die generierten Löschfunktionen kaskadieren nicht. Gehen Sie wie folgt vor, um sicherzustellen, dass die Funktionen Ihre Geschäftsanforderungen erfüllen:
  • Überprüfen Sie die Beispiel-DDL und alle kaskadierenden Anweisungen, die durch das Datenbankmanagementsystem (DBMS) erzwungen werden.
  • Überprüfen Sie die generierten Löschfunktionen und fügen Sie Code hinzu, um die Kaskadierungen wie gewünscht zu bearbeiten.
  • Da es keine generierte Kaskadierung gibt, müssen Benutzer der Benutzerschnittstelle sicherstellen, dass Löschoperationen so ausgeführt werden, dass keine Integritätsbedingungen über Fremdschlüssel verletzt werden. Versuche, einen Löschvorgang durchzuführen, die diese Bedingungen verletzten, schlagen fehl.
  • Zeilen von zugehörigen Tabellen, die von vielen Beziehungen generiert wurden, werden beim Löschen einer Zeile nicht gelöscht. Der Code muss hinzugefügt werden, um dieses Verhalten gemäß den Geschäftsstandards zu erzeugen.

Hinweise für Datenbankschlüssel

Datenbankschlüssel werden unterschiedlich bearbeitet, wenn eine vorhandene Datenbank oder ein UML-Modell vorhanden ist.

Hinweise zur Benutzerschnittstelle

Sie können Datenbankelemente angeben, die durchsuchbar sind, und die Daten zum Element, das in den Suchergebnissen als Teil der Umwandlungsparameter angezeigt wird. Wenn Sie Schnittstellenseiten erstellen, die Such- und Zusammenfassungsfelder enthalten, müssen Sie Folgendes berücksichtigen:
  • Suchfelder
    • Sie können große Objekte, beispielsweise BLOB- und CLOB-EGL-Typen, als durchsuchbar angeben. Wenn ein Attribut eines Datenbankfelds ein großer Objekttyp ist, wird das durchsuchbare Attribut ignoriert.
    • Wenn kein durchsuchbarer Parameter angegeben wird, sind die Schlüsseltabellen durchsuchbar.
  • Zusammenfassungsfelder

    Wenn nichts angegeben wurde, das in einer Zusammenfassung einbezogen werden soll, werden standardmäßig alle anzuzeigenden Spalten in der Suchergebniszusammenfassung angezeigt.

Hinweise für Festschreibungspunkte

EGL-Festschreibungspunkte identifizieren, ab welchem Punkt die Daten während einer Operation in die Datenbank gespeichert werden. Die generierten Datenzugriffsroutinen enthalten keine expliziten Festschreibungspunkte. Es wird das allgemeine EGL-Verhalten für implizite Commit- und Rollback-Operationen auf der Basis der Ausführungseinheit verwendet. Wenn Ihre Geschäftsanforderungen von den Standardanforderungen abweichen, müssen Sie explizite Festschreibungspunkte hinzufügen, um Ihre Geschäftsanforderungen zu erfüllen.

Hinweise zu seitenweise abgerufene Suchergebnisse

Die generierten Datenzugriffsbibliotheken enthalten Seitensteuerungsfunktionen. Dadurch können die generierten JSPs die Suchergebnisse seitenweise effizient durchblättern. Wenn das Zieldatenbankmanagementsystem (DBMS) die folgenden EGL-Anweisungen nicht unterstützt, müssen Sie diese Funktion bearbeiten, bevor Sie die Listenseiten-JSP verwenden können:
  • OPEN <resultSet> SCROLL
  • GET ABSOLUTE
  • GET RELATIVE

Darüber hinaus unterstützen einige DBMS die Verwendung von verschiebbaren Cursors bei Auswahlen nicht, die LONG VARCHAR oder LOB-Spalten enthalten. Wenn dies der Fall ist, müssen Sie die Blätterfunktion vor der Verwendung der Listenseiten-JSP bearbeiten.


Feedback