Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Auszug
hiddentrue

Nuclos berechnete Attribute: Datenbankfunktion CA_, INTID-Parameter, SORT_CALCULATED_ATTRIBUTES, SQL-Beispiel, Ampel als Bild.

globe with meridians Sprache: Deutsch · English

hammer and wrench Berechnete Attribute

Attributwerte zur Laufzeit per Datenbankfunktion berechnen – inkl. SQL-Beispielen und Status-Ampeln.

Status
colourPurple
titleHow-to
Status
colourBlue
titleAnwendungsentwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel2

Definition

...

Was ist ein berechnetes Attribut?

Statt einen festen Wert zu speichern, bezieht ein berechnetes Attribut seinen Inhalt aus einer Funktion auf Datenbankebene

...

. Der Wert wird zur Laufzeit neu berechnet und angezeigt

...

ohne dass

...

der Datensatz

...

gespeichert

...

werden muss.

...

Typische Fälle: Jahresumsatz eines Artikels,

...

berechnete Datumswerte, Status-Ampeln.

Berechnete Attribute verhalten sich

...

fast

...

wie

...

normale

...

Attribute

...

(Anzeige in Layout und Suchergebnisliste), werden aber nicht in der Datenbank gespeichert

...

Die Berechnung von Attributen des Typs Referenzfeld ist nicht möglich.

Warnung

Berechnete Attribute sollten sparsam verwendet werden, da ihre Berechnung unter Umständen sehr zeitintensiv werden kann, vor allem bei Suchen und der Anzeige in der Suchergebnisliste.

. Ihr Wert kann daher auch nicht per Regel gesetzt werden; Referenzfelder lassen sich nicht berechnen.

Warnung
titlePerformance

Sparsam einsetzen: Die Berechnung kann – besonders bei Suchen und in Suchergebnislisten – sehr zeitintensiv werden.

Info
titleSortierung

Die Sortierung berechneter Attribute in der Suchergebnisliste ist standardmäßig deaktiviert und lässt sich über den

...

Parameter SORT_CALCULATED_ATTRIBUTES aktivieren.

Zwei Wege der Konfiguration

Es gibt zwei Wege für die Erstellung eines berechneten Attributes.

  • Über ein Datenbankobjekt

...

  • : eine Datenbankfunktion

...

...

  • anlegen. Sie erhält die ID des Datensatzes

...

Der Rückgabewert der Datenbankfunktion muss den Ergebniswert des berechneten Attributes zurückgeben. Der Datentyp muss mit dem Attribut im BO-Wizard übereinstimmen.

...

  • als Parameter und gibt den Ergebniswert zurück (Datentyp muss zum Attribut passen). Der Funktionsname beginnt mit CA_ (

...

  • Calculated Attribute)

...

  • .
  • Über eine Datenquelle

...

  • : das berechnete Attribut wird über eine Datenquelle

...

  • definiert

...

  • .

Beispiel 1: verfügbare Artikel berechnen

Berechnet

...

Bestand − Reserviert. Der Übergabeparameter id

...

ist die INTID

...

des aktuellen Objekts; der Rückgabewert ist varchar2 (Attributwerte werden als String abgelegt).

Codeblock
languagesql
CREATE OR REPLACE FUNCTION CA_ARTIKELVERFUEGBAR(id IN number) RETURN varchar2 IS
  summe number(12);
  bestand number(12);
  reserviert number(12);
begin
  SELECT strvalue INTO bestand
  FROM t_ud_go_attribute 
  WHERE intid_t_md_attribute = (SELECT intid FROM t_md_attribute WHERE strattribute='artikelBestand') 
        AND intid_t_ud_genericobject = id;
 
  SELECT strvalue INTO reserviert
  FROM t_ud_go_attribute 
  WHERE intid_t_md_attribute = (SELECT intid FROM t_md_attribute WHERE strattribute='artikelReserviert')
        AND intid_t_ud_genericobject = id;
 
  summe:=bestand-reserviert;
 
  RETURN(summe);
end CA_ARTIKELVERFUEGBAR;

Beispiel 2: Ampel als Bild zurückgeben

Ein berechnetes Attribut kann auch ein Bild

...

Image Removed

...

liefern – ideal für Status-Ampeln. Die Bilder werden vorab als Ressourcen (

...

Konfiguration

...

Sonstiges

...

Ressourcen)

...

hochgeladen.

...

Image Added

Ampel als berechnetes Attribut.

Codeblock
languagesql
CREATE OR REPLACE FUNCTION C31G_CA_PROJEKT_VERFUEGBARKEIT(id numeric) 
RETURNS bytea AS
$BODY$
DECLARE
   ist numeric(9,2);
   soll numeric(9,2);
   bild bytea;
BEGIN
   select dblfortschritt, dblusedbudget / dblworkingbudget * 100 into ist, soll from c31g_projekt where intid=id;
   if (ist = 100) then
      bild := null;
   else
      if (ist >= soll) then
         select blbcontent into bild from t_md_resource where strname = 'Ampel grün';
      else
         select blbcontent into bild from t_md_resource where strname = 'Ampel rot';
      end if;
   end if;
   RETURN bild;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;

Anwendung

Im

...

BO-Assistenten wird das berechnete Attribut

...

in Schritt 7

...

(Attributdefinitionen) verlinkt.

Image Modified

Verknüpfung im BO-Assistenten.

Verwandte Seiten

package Businessobjekt


Attribute.

Öffnen →

file cabinet Datenbankobjekte


DB-Funktionen.

Öffnen →

clipboard Spezielle Datentypen


Datentypen.

Öffnen →