Home Forum Nuclos Bedienung Administration und Installation Referenzfeld als berechnetes Attribut

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Autor
    Beiträge
  • #3244
    Carsten Hof
    Teilnehmer

    Hallo,

    irgendwie lassen mich die Referenzfelder zur Zeit nicht los 😉
    Diesmal hätte ich gerne ein berechnetes Attribut mit Datentyp Referenzfeld. Die Berechnungsvorschrift habe ich erstellt und bin mir ziemlich sicher, dass die so stimmt.
    Soweit so gut. Auf Datenbankseite schaut das auch gut aus. In der View ist die Spalte vorhanden, in der Tabelle nicht, wie erwartet.
    Will ich nun aber einen neuen Datensatz anlegen, so bekomme ich die Meldung, dass der Datensatz nicht gespeichert und auch nicht erzeugt werden konnte, da „T“.“INTID_STRBEZEICHNUNG“ ungültiger Bezeichner ist. (ORA-00904). Bezeichnung ist hierbei der Feldname des Referenzfeldes das ich berechnen lassen will.
    Was mache ich falsch?

    Vielleicht noch zum Hintergrund: Das Feld soll ein Referenzfeld sein, damit ich von dem Feld aus über eine Layoutregel eine weiteren Wert nachschlagen lassen kann. Ein berechnetes Attribut soll es sein um doppeltes Abspeichern in der Datenbank zu vermeiden.

    Vielen Dank schonmal,
    Bettina Sieber

    #3255
    Claudia Mangstl
    Teilnehmer

    Hallo Frau Sieber,

    das wird über ein berechnetes Attribut nicht möglich sein. Ein Referenzfeld verlangt immer eine Spalte INTID_T_EO_xxx in der Tabelle, weil darin die ID des referenzierten Objektes gespeichert wird.

    Hinweis: das Übertragen eines Wertes über eine Layoutregel ist im Grunde auch doppelte Datenhaltung, weil dieser Wert anschließend in diesem Objekt (in das er übertragen wurde) gespeichert wird. Häufig ist das so gewollt, z.B. um eine Art Historie zu haben.

    Für Ihren Fall würde ich vorschlagen, alle zu übertragenen Felder als berechnetes Attribut abzubilden. Dann haben Sie immer den aktuellen Wert und müssen keine Daten übertragen. Auf das Referenzfeld müssten Sie aber wegen o.g. Grund verzichten.

    Viele Grüße,
    Claudia

    #3281
    Carsten Hof
    Teilnehmer

    Hallo Claudia,

    ok, dann werde ich mir diese Möglichkeit aus dem Kopf schlagen. Schade, es hätte so schön ausgesehen, wenn die berechneten Felder gleich mit befüllt werden, sobald sich der Wert eines (normalen) Referenzfeldes der Entität ändert.

    Was mich jedoch wundert ist Ihr Hinweis über die doppelte Datenhaltung bei Layoutregeln. Habe im Moment die betreffenden Felder als Textfelder mit Berechnungsvorschrift angelegt. Eines der Felder soll sich in Abhängigkeit eines (normalen) Referenzfeldes aktualisieren. Wenn ich nun eine Layoutregel auf diesem Referenzfeld definiere, die mir einen Wert in das berechnete Attribut überträgt, so funktioniert das wunderbar. In der Datenbank erscheint die Spalte nur (wie gewünscht) in der View.
    Deswegen bin ich auch erst auf die Idee mit dem Referenzfeld gekommen. Hatte die Hoffnung, dass das was mit Textfeldern so schön klappt auch mit Referenzfeldern geht.

    Viele Grüße
    Bettina Sieber

    #3283
    Claudia Mangstl
    Teilnehmer

    Hallo Frau Sieber,

    wenn Sie ein berechnetes Attribut einsetzen, brauchen Sie eigentlich keine Layoutregel um einen Wert zu übertragen. Das Ergebnis wird ja immer dynamisch über die DB-Funktion berechnet. Den Effekt, den sie hier sehen, kommt evtl. nur von dem clientseitigen Kopiervorgang des Wertes in das andere Feld. Danach greift aber die Berechnungsvorschrift.
    Die Verwendung von Layoutregeln ist nur dann „doppelte Datenhaltung“, wenn das Zielfeld kein berechnetes Attribut sondern ein normales Textfeld ist. Denn nur dann wird dieser Wert auch in der Datenbank gespeichert.

    Viele Grüße,
    Claudia

    #3284
    Carsten Hof
    Teilnehmer

    Ok, sowas habe ich mir schon fast gedacht. Schaut trotzdem schön aus, dass sich das Feld gleich füllt 😉
    Vielen Dank für die schnelle Hilfe!

    Liebe Grüße
    Bettina Sieber

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)