Zum Hauptinhalt springen
Inhaltsverzeichnis überspringen

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.

CODE
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)

JavaScript errors detected

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

If this problem persists, please contact our support.