Individuelle System-Prüfklasse customizen (ab DB 39.5.7)

Aufgabe

  • Customizen einer individuellen Prüfklasse
    • Die Klasse soll prüfen, ob in dem Pfad, der in Parameter hinterlegt wird, eine Datei existiert.

Vorgehensweise

  • Anlegen einer neuen Datei check.py unter /py/customer/ppms/interface/parameter/conditional
  • Der folgende Code wird in die Datei eingefügt:
import os

from ppms.interface import BaseConditional


class FileExistsConditional(BaseConditional):
    """Check if the file configured in the parameter exists"""
    
    @property
    def is_satisfied(self):
        return os.path.isfile(self.parameter)
    
    @property
    def value(self):
        if self.is_satisfied:
            return 'Datei existiert!'
        
        return 'Datei existiert nicht!'
PY
  • Den PLANTA-Dienst neustarten.
  • Die Klasse kann nun verwendet werden.

Stempeln beim Export

Aufgabe

  • Ist-Stunden sollen verdichtet in eine Datei (ohne Pool) exportiert werden. Die Quell-Datensätze in der DT472 sollen gestempelt werden.

Vorgehensweise

Beispiel

  • Neue DIs in DT472: L100_exported_on und L100_exported_by anlegen.
  • Das folgende Quellmodul anlegen:
    • DT463 Vorgang gruppiert
      • DT463 Vorgang (verdichtet) mit DA-Python-ID: task_source_records
        • DT466 Ressourcenzuordnung (verdichtet) mit DA-Python-ID: res_source_records
          • DT472 Belastung mit DA-Python-ID: load_act_source_records
  • Dazugehörige Modulunterklasse stamp_mts.py eintragen.

Hinweise

  • Bei Verwenden der Schnittstelle Belastungs-Export werden standardmäßig folgende Datenfelder aus der DT472 Belastung gestempelt: SAP-Status, Exportiert am, Exportiert durch.
  • Das obige Customizing-Beispiel zeigt auf, wie beliebige Datenfelder gestempelt werden können. Dies ist z.B. dann notwendig, wenn die Ist-Daten mehrmals (an unterschiedliche Ziele) exportiert werden müssen.

Performance beim Aufrufen einer Schnittstelle optimieren (ab DB 39.5.8)

Aufgabe

  • Die Performance des PLANTA link wurde in DB 39.5.8 verbessert, indem die Anzahl der notwendigen Datenbankzugriffe deutlich verringert wurde.
  • Individueller Code, der Schnittstellen aufruft, kann ebenfalls optimiert werden.

Vorgehensweise

  • Folgende Änderung vornehmen:
  • Alter Code:
from ppms.interface import Config

config = Config('config-uuid')
# copy/execute the interface ...
PY
  • Neuer Code:
from ppms.interface import StaticConfig

config = StaticConfig('config-uuid')
# copy/execute the interface ...
PY