Das folgende Script findet alle Verwendungen eines bestimmten Feldes in den Datenquellen und Datenbankobjekten von Nuclos.

Dazu müssen nur der Schemaname (ganz oben) und der Feldname in der WHERE-Bedingung (ganz unten) angepasst werden.

 

SET search_path TO 'nuclos';
 
SELECT
	nuclet,
	source,
	"valid",
	"name",
	"beschreibung"
FROM
	(SELECT
		n.name nuclet,
		'Report & Formular' source,
		blnvalid "valid",
		ds.strdatasource "name",
		ds.strdescription "beschreibung",
		ds.clbdatasourcexml "text"
	FROM
		t_ud_datasource ds
		INNER JOIN t_ad_application n ON n.struid = ds.struid_t_md_nuclet
	UNION ALL SELECT
		n.name,
		'Valuelistprovider' source,
		blnvalid,
		ds.strname,
		ds.strdescription "beschreibung",
		ds.clbdatasourcexml "text"
	FROM
		t_md_valuelistprovider ds
		INNER JOIN t_ad_application n ON n.struid = ds.struid_t_md_nuclet
	UNION ALL SELECT
		n.name,
		'Dynamisches Businessobjekt' source,
		blnvalid,
		ds.strname,
		ds.strdescription "beschreibung",
		ds.clbdatasourcexml "text"
	FROM
		t_md_dynamicentity ds
		INNER JOIN t_ad_application n ON n.struid = ds.struid_t_md_nuclet
	UNION ALL SELECT
		n.name,
		'Diagramm' source,
		blnvalid,
		ds.strdescription,
		'', 
		ds.clbdatasourcexml "text"
	FROM
		t_ud_chart ds
		INNER JOIN t_ad_application n ON n.struid = ds.struid_t_md_nuclet
	UNION ALL SELECT
		n.name,
		'Datensatzfreigabe' source,
		blnvalid,
		ds.strname,
		ds.strdescription "beschreibung",
		ds.clbdatasourcexml "text"
	FROM
		t_md_recordgrant ds
		INNER JOIN t_ad_application n ON n.struid = ds.struid_t_md_nuclet
	UNION ALL SELECT
		n.name,
		'Berechnetes Attribut' source,
		blnvalid,
		ds.strname,
		ds.strdescription "beschreibung",
		ds.clbdatasourcexml "text"
	FROM
		t_md_calcattribute ds
		INNER JOIN t_ad_application n ON n.struid = ds.struid_t_md_nuclet
	UNION ALL SELECT
		n.name,
		'Dynamische Taskliste' source,
		blnvalid,
		ds.strname,
		ds.strdescription "beschreibung",
		ds.clbquery "text"
	FROM
		t_md_dynamictasklist ds
		INNER JOIN t_ad_application n ON n.struid = ds.struid_t_md_nuclet
	UNION ALL SELECT
		n.name,
		'Datenbankobjekt' source,
		ds.blnactive,
		o.strdbobject,
		o.strdescription "beschreibung",
		ds.clbsource "text"
	FROM
		t_md_dbsource ds
		INNER JOIN t_md_dbobject o ON o.struid = ds.struid_dbobject
		INNER JOIN t_ad_application n ON n.struid = o.struid_t_md_nuclet
	) tmp
WHERE
	text like '%dblmenge%'
ORDER BY
	nuclet,
	source,
	"name"