Customizing
Version 27 Version 26 39.5.25 39.5.23 39.5.22 39.5.21 39.5.20 39.5.19 39.5.18 39.5.17 German English
Version 27 Version 26 39.5.25 39.5.23 39.5.22 39.5.21 39.5.20 39.5.19 39.5.18 39.5.17 German English

Export von Moduldaten in JSON-Datei

Allgemeines

Mit Hilfe der Schnittstelle Moduldaten auslesen können die Daten eines PLANTA project-Moduls über das Web ausgelesen und in einer JSON-Datei gespeichert zur einfachen Lesbarkeit oder um die Daten weiterzuverarbeiten oder zwischen weiteren Plattformen auszutauschen.

Dieser Ansatz kann als eine umfangreichere Alternative zur Transformation der Daten über Web-Entitäten, deren Möglichkeit dadurch beschränkt sind, da sich Web-Entitäten immer auf eine Tabelle beziehen und dadurch komplexe Modulkonstruktionen nicht über sie abgebildet werden können.

Auch kann der Ansatz zum vereinfachten Customizing verwendet werden, da der gesamte Customizing-Baukasten (Formate, Verdichtung, Gruppierung, virtuelle Felder, ...) zur Verfügung steht.


Modul-Endpunkt

Über den Modul-Endpunkt ModuleReaderImplementation kann ein freigegebenes Modul übers Web ausgelesen werden. Die Query-Parameter werden an die Modulklasse weitergegeben. Standardmäßig bekommt man die Daten zu einem Modul als JSON. Übergibt man “format=json-schema", bekommt man eine JSON-Schema Datei zum Modul, statt den Moduldaten.

Die Implementation prüft, ob das angeforderte Modul für das Web freigegeben ist. Wenn ja, wird es über ein Makromodul (009DVH) in einer Clientless-Session geöffnet und die read_module_data_for_web()-Methode aufgerufen.


Konfiguration im Customizing

Im Modul Weitere Modulparameter muss für das Modul, dessen Daten exportiert werden sollen, die Checkbox Web-Export aktiviert werden.

Die Datenbereiche des Moduls, die beim Export berücksichtigt werden sollen, müssen eine Python-ID und Datenfelder in Fenster 1/2/3 haben.

Ist für einen Datenbereich auf oberster Ebene die Checkbox Nie Anzeigen aktiviert, wird er übersprungen.

Über die Datenfeld-Konfiguration kann das Verhalten für einzelne Felder angepasst werden:

  • get-tech-value: Liest den technischen Wert aus dem Feld, statt die String Repräsentation

  • use-df-heading: Statt der Python-ID wird die DF-Überschrift als Schlüssel verwendet


Individuelle Kundencustomizings

Die Methode read_module_data_for_web(self, query_parameters) auf der Modulklasse ist dafür verantwortlich, die Daten auszulesen und zurückzugeben. Sie kann in einer Modulunterklasse überschrieben werden, um das Verhalten anzupassen und z.B. über die Query-Parameter, die Filter im Modul zu setzen.

class ExampleCustomerReader(Base):
    def read_module_data_for_web(self, query_parameters):
        # Read a project_id from the query parameters and set it as search criteria in a specific DA
        project_id = query_parameters.get('project_id', None)
        if project_id is not None:
            self.project.get_customizing().pr_id.set_search_criteria(project_id, project_id)
 
        return super().read_module_data_for_web(query_parameters)