Das System besteht aus zwei Teilen:
Ein efc ERP Demo kann unter F:\Build\efcclient_starter\ gestartet werden.
Es gibt verschiedene Varianten, ich hab ausprobiert z.B.:
F:\Build\efcclient_starter\effective_company_highmem.exeefc ERP HandbuchKompakt - mein Konspekt von dem Handbuch
Die Einstellungen des Servers sind an folgenden Stellen gespeichert.
efc.propertiesefc_sysparamSELECT * from efc_sysparamSvBoBomDocImpl - service implementationSachmerkmalleisten erlauben eine bestimmte Datenstruktur um eine beliebige Anzahl der “(kunden-)spezifischen” Felder zu erweitern.
Im Client sind die Felder und deren Werte in dieser “bestimmten” Datenstruktur im Tab “SML” zu finden. Die Voraussetzung dafür ist natürlich zuerst das Vorhandensein von den Sachmerkmalsleisten. Beispiel (bei der srv07 DB): Materialstamm → Mat.Nr. “1005.16214.70” oder “1001.20305.70”. Dann in das Tab “SML” wechseln. Dort sind dann SML “TD_BB1” (Technische Daten BB) zu sehen, die verschiedene Attribute enthält. Wie z.B. “Breite” oder “Einbauort”.
Sachmerkmalleisten anlegen: * In der efc Client-Anwendung im Start-Menü Ordner “Referenztabellen” wählen. Dort dann Ordner “Sachmerkmalsleiste”. Unter “SML-Attribute” kann man die Attribute anlegen und ändern. Unter “Sachmerkmalsleisten (SML)” kann man diese Attribute zu den einzelnen Sachmerkmalsleisten hinzufügen.
Sachmerkmalstabellen in der DB:
Die benutzten Versionen werden in “build.gradle” Datei vom Server-Projekt verwendet.
Z.B.:
api 'org.apache.derby:derby:' + Deps.JDBC_DERBY_VER
Die Version ist hier durch Konstante “Deps.JDBC_DERBY_VER” festgelegt. Diese Konstante ist im github Projekt “EffectiveCompany/efc_gradle_common_plugin”. Konkret hier in der Datei “https://github.com/EffectiveCompany/efc_gradle_common_plugin/blob/main/src/main/java/org/effectivecompany/gradle/Deps.java”
Dieses Projekt (“efc_gradle_common_plugin”) will man normalerweise nicht anfassen, d.h. die Version muss man am besten bei sich im “build.gradle” anpassen.
Beispiel für den MariaDB JDBC Treiber:
api ('org.mariadb.jdbc:mariadb-java-client') {
version {
strictly '2.7.9'
}
}
Dieses “strictly” ist notwendig damit es definitiv die andere Einstellung überschreibt.
Nach der Änderung muss man Gradle neu synchronisieren und um zu prüfen, ob die Änderung wirklich funktioniert hat - im Eclipse im Package Explorer unter “Project and External Dependencies” von dem entsprechenden Projekt die Version von dem JAR-Paket (hier z.B. “mariadb-java-client-2.7.9.jar”).
DB Updates werden _manuell_ durch die Ausführung von entsprechenden Update-Skripten gemacht. Die Skripte sind im Projekt efc_db_update.
Die eigentlichen Skripte liegen im Verzeichnis MySQL oder MSSQL.
Wenn ich das richtig verstehe, werden alle Skripte ausgeführt, die seit der existierenden Version neu sind. Welche Version in der DB liegt kann man mit dem SQL Skript abfragen:
SELECT * FROM EFC_SYSPARAM where PARAMKEY = 'DBVERSION'
Fenster-Info (in window menu under “Hilfe / Fenster-Info”) helps to find references to:
efc_java_client project, but the files (which should be edited) are under efc_runner project. efc_java_client project.tr(MY_KEY) (also is possible to add the keys to custom.pot)build_client_i18Generate (under efc_tools/efc)efc_runner/po/generated.potefc_runner/po/messages.pot efc_runner/po/<language>/messages.po efc_runner/po/de/messages.po efc_runner/src/resources/i18n/messages_<lng>_<LNG>.properties/efc_runner/src/resources/i18n/messages_de_DE.propertiesmessages.po with #, fuzzy#, fuzzy de only, because other languages are not yet really translated)build_client_i18Generate again*.po and *.properties files efc_sysparam: SELECT * from efc_sysparam WHERE paramkey=…paramkeys)DBVERSION - database version used by current installation