Mittels Connectors kann auf den MS SQL Server der Sage 100 Datenbank zugegriffen werden. Damit kann der Zugriff auf alle oder ausgesuchte Tabellen bestimmt werden. Im SQL Server werden die Rechte dieses Zugriffs konfiguriert.
Diese Web Anwendung ist primär zum Lesen der Sage Daten vorgesehen. Die Rechte der Webbenutzer können pro Tabelle in der entsprechenden Datendefinition separat definiert.
Die Elemente und Datenstrukturen der eigenen Web-Anwendung können mit Hilfe der Assistenten einfach mit den Sage Tabellen verknüpft werden.
Konfiguration
config/_init.php:
domain_rightmode
Der domain_rightmode wird für die Sage 100 auf 4 gestzt. In verschiedenen Bereichen werden dadurch die Besonderheiten der Sage 100 berücksichtigt:
- Anmeldung mit Mandant und Berechtigungsprüfung
- Mandant als Session-Vorgabe
- Key Handling in den Tabellen
- Key mit Tan
connector
In der php array wird der Connector "OLDemo" für die Sage Datenbank eingetragen. Der Name kann frei gewählt werden.
type
Der MS SQL Server wird hier mit dem Typ: "sqlsrv" eingetragen.
parameter
Hier werden die Parameter für die SQL Datenbank eingegeben. Der eingetragene Benutzer erhält die Zugriffsrechte vom SQL Server auf Datenbank und Tabellen. Ein Benutzer, wie "sa" mit allen Rechten sollte nur auf einem Entwicklungs- oder Testsystem verwendet werden.
rights_default
Jede Datendefinition benötigt eine Rechtedefinition. Diese Vorgabe wird in allen neuen Definitionen eingetragen.
Elements online
Sage Tabelle einbinden
Datadefinition erstellen
- datadefID
- connector: OLDemo
- Tabelle: KHKArtikel (aus Sage 100)
Wird eine vorhandene Tabelle eingegeben, wird die Struktur vorgeblendet.
Tabellenstruktur KHKArtikel:
Achtung: Die Sage 100 Tabellenstrukturen sollten hier nicht geändert werden.
Visible
Vorhandene ERP-Tabellen haben zum Teil viele Spalten, die hier in einer Web App nicht von Bedeutung sind. Mittels visible können die wesentlichen Spalten bestimmt werden. Nur diese werden für die Web Elemente verwendet.
Speichern
Wird nur Visible geändert, findet keine Änderung an der Tabellenstruktur statt.
Create datadefID
Die Elmente zur Darstellung der Artikel werden generiert.
Erstellen einer datalist column
myproject/KHKArtikel/KHKArtikel.jon:
Die datalist Spalte wird in anderen Formularen verwendet, um den passenden Datensatz zu finden. Diese sollte bei der Artikeltabelle mindestens aus den beiden Spalten bestehen:
- Artikelnummer
- Matchcode
Das Suchfeld (datalist) wird dann so dargestellt:
- 10300004 Druckkassette für Laserjet-Drucker
Erstellen einer datalistcolumn:
- SQL-Editor aufrufen oder
- in sql_additionals/select ein neue Spalte anlegen
Die neue Spalte dispArtikel muss manuell in der Datendefinition deklariert werden:
- datalistcolumn: "dispArtikel"
Achtung: Im SQL-Ausdruck (sql_additionals / select / dispArtikel) sollte immer "Tabellenname und Spalte" stehen:
- KHKArtikel.Artikelnummer
Eigene Tabelle in der Sage Datenbank erstellen
Datendefinition mit dem Sage Konnektor erstellen.
Tabelle
Der Key besteht aus 2 Feldern:
- <MeinKey>, Extra:
- auto_increment
- sage_tan
- leer -> Benutzer-Eingabe
- Mandant
Als weitere Spalte wird der Primary Key einer Sage Tabelle angelegt, zum Beispiel aus der Tabelle KHKArtikel:
- Artikelnummer
Datentyp und Größe (VARCHAR 31) müssen exakt dem Primary Key "Artikelnummer" aus "KHKArtikel" entsprechen.
Wird eine Benutzer-Eingabe für den Key vorgesehen, wie bei der Artikelnummer, kann eine Eingabe-Maske zur Formatierung und Vergabe einer neuen Nummer verwendert werden. Weitere Details dazu:
Eigene Tabelle mit Sage verknüpfen mit dem Form Assistant
Form Assistent
Im Form Assistenten wird der Cursor auf der Spalte positioniert, die verknüft werden soll, "Artikelnummer". Über das Menü wird "new join" gewählt. Anschließend wird die Datendefinition "KHKArtikel" ausgesucht. Das System erstellt ein neues Feld mit dem datalist Namen: "dispArtikel". Bitte Speichern und "Update+Open" aufrufen. Nun kann das datalist Feld im Formular geprüft werden. Nach Verlassen des Feldes wird die Artikelnummer in das Artikelnummer-Feld übernommmen. Dies kann nach dem Test im Formular Assistenten Type:"hidden" gesetzt werden. Der Wert wird in das Feld übertragen, aber es wird nicht mehr angezeigt.
Aufruf des Artikelstamms mittel HTML Attribut:
- "data-linkfield":"Artikelnummer"
Registrierung
config/_init.php:
Da die Webanwendung zur Zeit nicht über Sage Anmeldedienste verfügt, sollte die Registrierung abgeschaltet werden. Stattdessen legt der Administrator den Benutzer an und kommnuniziert ein Initialkennwort.
Benutzername
Zur Anmeldeprüfung muß ein Sage Benutzername gewählt werden!
Anmeldung / Login
Mandant
Der Web Benutzername muß gleich dem Sage Benutzer sein und in den Sage Berechtigungen Zugriff auf den Mandanten erhalten.