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.
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:
from ppms.interface import Config
config = Config('config-uuid')
# copy/execute the interface ...
PY
from ppms.interface import StaticConfig
config = StaticConfig('config-uuid')
# copy/execute the interface ...
PY