Skip to main content
Skip table of contents

DT489 Prozessregeln

Nachfolgend findet man Beschreibungen der Prozessregel-Parameter ( Prozessregel-Datenfelder), die in den Standardmodulen verwendet werden. 

DI041217 Prozessregel-ID

Identnummer der Prozessregel wird automatisch beim Anlegen generiert.

DI041228 Prozessregel

Bezeichnung der Prozessregel, die im Feld Regel DI041230 definiert wird

Bearbeitbar

  • im Modul Prozessregeln,
  • vorausgesetzt der bearbeitende Benutzer besitzt die hierfür notwendige Berechtigung.

DI041229 Kommentar

Kommentar zu Prozessregel

Bearbeitbar

  • im Modul Prozessregeln,
  • vorausgesetzt der bearbeitende Benutzer besitzt die hierfür notwendige Berechtigung

DI057862 Klasse

Bezeichnung (Inkarnationsfeld) der Prozessregelklasse. Hier wird festgelegt, ob die Prozessregel in Python oder SQL geschrieben wird.

Bearbeitbar

  • im Modul Prozessregeln,
  • vorausgesetzt der bearbeitende Benutzer besitzt die hierfür notwendige Berechtigung.

Hinweis

DI057966 Objektart

Bezeichnung (Inkarnationsfeld) der Planungsobjektart. Hier wird festgelegt, ob die Regel für Projekte, Ideen, Vorhaben oder für Requests zur Verfügung steht.

Bearbeitbar

  • im Modul Prozessregeln,
  • vorausgesetzt der bearbeitende Benutzer besitzt die hierfür notwendige Berechtigung.

Hinweis

DI059086 Regelart

Bezeichnung (Inkarnationsfeld) der Regelart. Hier wird festgelegt, ob es sich bei der Prozessregel um eine Prozessaktion (z.B. Statusbericht erstellen oder Projektart ändern) oder um eine Prüfregel (z.B. Feld Projektleiter ist gefüllt) handelt.

Bearbeitbar

  • im Modul Prozessregeln,
  • vorausgesetzt der bearbeitende Benutzer besitzt die hierfür notwendige Berechtigung.

Details

Hinweis

DI041230 Regel

Hier wird die Prozessregel definiert, nach der die Erledigung eines Prozessschrittes geprüft wird.

Bearbeitbar

  • im Modul Prozessregeln,
  • vorausgesetzt der bearbeitende Benutzer besitzt die hierfür notwendige Berechtigung

Informationen

  • Prozessregeln werden vom Customizer bereitgestellt.
  • Bei den Regeln handelt es sich um SQL-Statements oder Python-Methoden, die bei der Prüfung eines Prozessschrittes ausgeführt werden.
    • Prozessregeln mit Regelart "Prüfregel" können mit SQL-Statements oder Python-Methoden geschrieben werden.
    • Prozessregeln mit Regelart "Aktion" können nur mit Python-Methoden geschrieben werden.
  • Bei Prozessregeln, die mit Python-Methoden geschrieben werden, wird das Feld Regel automatisch mit den Standardzeilen (Anfangszeile, Return-Zeile und Endzeile) für die entsprechende Regelart gefüllt.
MethodeDefinition
SQL-Statement
Wenn es sich um eine Quantitätsprüfung mehrerer Felder auf Projektebene handelt, müssen die Spalten des Select-Statements mit einem Platzhalter besetzt werden, da diese aus den Regelparametern der Prozessschritte ausgelesen werden.

Beispiel: Prüfregel Prüfung auf Projekt. Diese Regel fragt anhand der in den Stammdaten hinterlegten Regelparameter Spalten aus der Projekttabelle ab.

  • Select {0} from DT461 WHERE DI001001='{1}'

    Details

    • Der Platzhalter {0} wird mit den Regelparametern der Prozessschritt-Stammdaten befüllt
    • Der Platzhalter {1} wird mit der aktuellen Projektnummer befüllt

Wenn es sich um eine Qualitäts- oder Verwendungshäufigkeit-Prüfung handelt, muss für Suchkriterium auf Projekt ein Platzhalter definiert werden.

Beispiel: Prüfregel VH-Risiken. Diese Regel prüft, ob für das aktuelle Projekt bereits Risiken definiert wurden.

  • SELECT count(DI007696) FROM DT810 p WHERE p.DI007696='{0}'
Python-Methode

Die Methode "computeProcessRule" wird für Prüfregeln verwendet und an das Dataitem-Objekt vererbt.

Allgemeiner Aufbau einer Prüfregel:

  • def computeProcessRule(result,di_to_check,object_id,dtp_rec):
    • INHALT der Methode
    • return result
  • di.computeProcessRule = computeProcessRule

 Beispiel: Prüfregel Prüfung auf Projekt. Diese Regel fragt, anhand der in den Stammdaten hinterlegten Regelparameter, Spalten aus der Projekttabelle ab.

PY
def computeProcessRule(result,di_to_check,object_id,dtpRec):
	di_list=di_to_check.split(",")
	for attribute in ppms.db_select(ppms.get_query("000357").format(di_to_check,object_id))[0]:
		if attribute in ("",0):
			result+=1
	return result

di.computeProcessRule = computeProcessRule

 Details

  • di_to_check beinhaltet die zu prüfenden Spalten des Regelparameters der Prozessschritt-Stammdaten
  • object_id beinhaltet die Identnummer des zu prüfenden Projekts

Die Methode "executeProcessAction" wird für Prozessaktionen verwendet und an das Dataitem-Objekt vererbt.

Allgemeiner Aufbau einer Aktion:

  • def executeProcessAction(mts_rec=None,object_id=None):
    • Innerhalb dieser Funktionen können diverse Operationen durchgeführt werden
      • Diese Operationen werden individuell pro Regel definiert
      • Wenn eine Operation mehrfach verwendet werden soll, muss diese in einem Python-Modul bereitgestellt werden und von dort aus gestartet werden
    • Die Funktion wird beim Ausführen im Planta Session Dictionary bereitgestellt und einem Modulobjekt zugeordnet, wenn die Aktion des Prozessschritts in den operativen Daten ausgeführt wird
    • ppms.get_session_dict()["planta_functions"]=[executeProcessAction]

 Beispiel: Prozessaktion Statusbericht erstellen:

PY
def executeProcessAction</p>
(mts_rec=None,object_id=None):
	from ppms import create_report
	from ppms import processes
	from ppms import project_rights
	#create report
	mapping_dict=project_rights.get_report_mapping_definition()
	vzh = create_report.Versionizer_helper(mapping_dict["source_dt"], mapping_dict["target_dt"], mapping_dict["data_items"], object_id)

processes.create_report_for_processes(processes.get_object_type_by_pr_id(object_id),object_id,vzh.report_id)
	project_rights.set_report_title(object_id,vzh.report_id)
	return [mts_rec,object_id]

ppms.get_session_dict()["planta_functions"]=[executeProcessAction]

Hinweis

  • Im Lieferumfang von PLANTA project sind bereits mehrere vordefinierte Prozessregeln enthalten.
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.