Home Forum Nuclos Entwicklung Makros und Regeln in einer Regel alle Business-Entitäten finden

Ansicht von 3 Beiträgen - 1 bis 3 (von insgesamt 3)
  • Autor
    Beiträge
  • #8015
    Michael Hönnig
    Teilnehmer

    Ist es möglich, in einer (zeitgesteuerten) Regel, alle Business-Entitäten zu finden, sowie die Meta-Daten ihrer Felder, um dann im Endeffekt alle Feldwerte von Feldern eines bestimmten Typs auszulesen?

    Gibt es ein API dafür?

    Falls nicht, wird das vermutlich durch reine Datenbank-Queries erreichbar sein, wenn auch weniger elegant.

    Danke für Tipps!
    … Michael

    #8063
    Ramin Goettlich
    Teilnehmer

    Wie wärs mit einem virtuellen BO, das auf einer View basiert, die T_MD_ENTITY und / bzw. T_MD_ENTITY_FIELD ausliest? Diese kann dann mit dem QueryProvider der API ausgelesen werden.

    Oder eine Datenquelle, die auf diesen beiden Tabellen basiert? Diese kann dann mit dem DatasourceProvider der API ausgelesen werden.

    #8083
    Thomas Hempel
    Teilnehmer

    Hallo Michael,

    den ersten Vorschlag von nuclosian habe ich mit diesem SQL-Statement realisiert:

    CREATE VIEW [nuclos].O181_V_DOKUMENTIERER
    -- =============================================
    -- Name: O181_V_DOKUMENTIERER
    -- Author: Thomas Hempel
    -- Create date: 04.01.2015
    -- Description: Dokumentation von Entitäten und Feldern
    -- =============================================
    AS

    SELECT
    ROW_NUMBER() OVER(ORDER BY nuclos.T_MD_ENTITY_FIELD.STRUID) AS INTID,
    nuclos.T_MD_ENTITY.STRUID AS STRUID_ENTITY, nuclos.T_MD_ENTITY.BLNUSESSTATEMODEL AS [mit_Statusmodell],
    nuclos.T_MD_ENTITY.BLNLOGBOOKTRACKING AS [mit_History], nuclos.T_MD_ENTITY.STRENTITY AS Entitaet, nuclos.T_MD_ENTITY.STRDBENTITY AS [DB_Tabelle],
    nuclos.T_MD_ENTITY_FIELD.STRUID AS STRUID_FIELD, nuclos.T_MD_ENTITY_FIELD.STRFIELD AS Attribut,
    nuclos.T_MD_ENTITY_FIELD.STRDBFIELD, nuclos.T_MD_ENTITY_FIELD.STRDATATYPE AS Datentyp,
    nuclos.T_MD_ENTITY_FIELD.INTDATAPRECISION AS Nachkomma, nuclos.T_MD_ENTITY_FIELD.INTDATASCALE AS Feldlaenge,
    nuclos.T_MD_ENTITY_FIELD.STRDEFAULTCOMPONENTTYPE AS Layoutkomponente, T_MD_ENTITY_2.STRENTITY AS FOREIGNENTITY,
    nuclos.T_MD_ENTITY_FIELD.BLNINDEXED AS [Indiziert], nuclos.T_MD_ENTITY_FIELD.BLNNULLABLE AS [mit_NULL],
    nuclos.T_MD_ENTITY_FIELD.BLNUNIQUE AS eindeutig, nuclos.T_MD_ENTITY_FIELD.STRLOOKUPENTITYFIELD AS Nachschlagefeld,
    T_MD_ENTITY_1.STRENTITY AS [NachschlageEntitaet], nuclos.T_MD_ENTITY_FIELD.STRVALUE_DEFAULT AS Standardwert,
    nuclos.T_AD_APPLICATION.NAME AS Nuclet, nuclos.T_MD_ENTITY_FIELD.DATCREATED ,
    nuclos.T_MD_ENTITY_FIELD.STRCREATED , nuclos.T_MD_ENTITY_FIELD.DATCHANGED ,
    nuclos.T_MD_ENTITY_FIELD.STRCHANGED , nuclos.T_MD_ENTITY_FIELD.INTVERSION
    FROM nuclos.T_MD_ENTITY INNER JOIN
    nuclos.T_MD_ENTITY_FIELD ON nuclos.T_MD_ENTITY.STRUID = nuclos.T_MD_ENTITY_FIELD.STRUID_T_MD_ENTITY INNER JOIN
    nuclos.T_AD_APPLICATION ON nuclos.T_MD_ENTITY.STRUID_T_MD_NUCLET = nuclos.T_AD_APPLICATION.STRUID LEFT OUTER JOIN
    nuclos.T_MD_ENTITY AS T_MD_ENTITY_1 ON nuclos.T_MD_ENTITY_FIELD.STRUID_LOOKUPENTITY = T_MD_ENTITY_1.STRUID LEFT OUTER JOIN
    nuclos.T_MD_ENTITY AS T_MD_ENTITY_2 ON nuclos.T_MD_ENTITY_FIELD.STRUID_FOREIGNENTITY = T_MD_ENTITY_2.STRUID

    Darauf habe ich das VBO Entitätenfelder gesetzt. In diesem könntest du nun alle Felder durchsuchen.

    Gruß
    Thomas

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