Ziel: Informationen zu einem Material ergänzen

Mit CIS mobile können eine Reihe an Informationen zu einem Material angezeigt werden. Dazu gehört neben technischen Daten auch die Bezeichnung eines Materials. Da die interne Bezeichnung nicht zwangsläufig die gleiche ist, die der Kunde verwendet, macht es Sinn, beide Namen aus dem ERP-System abzurufen und anzuzeigen. Letzter wird uns in diesem Addon besonders interessieren.

Die Stelle, an der zusätzliche Informationen eingefügt werden sollen, befindet sich auf der Detailansicht zu einem Material. Durch Aktivieren der Testausgabe für die Addons in den Einstellungen werden Platzhalter für Addons in orange angezeigt. Wir benötigen in diesem Fall das "MaterialAddon3".


Platzhalter für die möglichen Addons anzeigen


Verfügbare Schlüssel für ein Addon

Um ein Material eindeutig zuordnen zu können, wird die (interne) Materialnummer benötigt. Da die Materialbezeichnung bei einem Kunden gelesen werden soll, so ist zudem dessen Kundennummer erforderlich. Durch einen Klick auf einen Platzhalter für ein Addon können alle an dieser Stelle verfügbaren Schlüssel und deren aktuelle Werte anzezeigt werden. In diesem Beispiel haben wir ein Material mit der Nummer "P-109" ausgewählt. Die Kundennummer  "0000001032". Wir werden zudem den Vertriebsweg und die Verkaufsorganisation beachten. In diesem Fall ist eine einfache Abfrage der Tabelle KNMT ausreichend. 


Schlüssel und deren aktuellen Werte an dieser Stelle in CIS mobile


Mapping von SAP-Tabellen

Alle erforderlichen Daten (Materialbezeichnung des Kunden) können aus einer SAP-Tabelle durch einen einfachen Zugriff abgerufen werden. Damit wir in VB.net mit den Daten arbeiten können, erstellen wir eine Klasse mit dem S10-Repository. Die Details dazu finden Sie im S10 Forum (www.synactives10.com), die wesentlichen Schritte sind:

- Verbindung zu einem SAP-System im Repository konfigurieren
- Menüpunkt "Klasse aus SAP-Tabelle erzeugen" und Angabe der Tabelle, hier KNMT
- Ändern des Assemblynamens zu "s10cisaddon"
- Generieren und Einbinden der erzeugten Dateien in das VB.net-Projekt

Im Repository sehen sie auch, welche Schlüssel für die Tabelle definiert sind (dbkey="yes").
Die Daten in VB.net besorgen

Der Platzhalter für das Addon hat den Namen "MaterialAddon3", wir müssen daher eine Methode "BuildMaterialAddon3" im Addon-Projekt implementieren. Öffnen Sie dazu das Projekt für VB.net "s10cisaddon.sln", das sich im Verzeichnis config von CIS mobile auf dem Server befindet.

Da wir Zugriff auf die Schlüssel im dictionary-Objekt benötigen, sowie die gelesenen Daten in HTML-Form an CIS mobile zurückgeben werden, verwenden wir folgende Parameter für die Methode:

Public Function BuildMaterialAddon3 (ByVal keys As Dictionary(Of String, String), ByRef buttons As String) As String Der String "buttons" bleibt in unserem Beispiel leer. Wir könnten ihn jedoch verwenden, um dem Benutzer das Abrufen weiterer Informationen zur Materialbezeichnung zu ermöglichen.

Zugriff auf das dictonary-Objekt haben wir mit folgendem Aufruf:
GetItem(keys, "Schlüsselname").

Wir erstellen nun ein Objekt aus der Klasse "KNMT", tragen die erforderlichen Schlüsselwerte ein und veranlassen ein Lesen aus der SAP-Tabelle. Bei Erfolg können wir direkt auf die zurückgelieferten Werte zugreifen, diese in einen HTML-String einbetten (in diesem Fall eine Tabellenzeile) und den String zurükggeben.

Bitte schauen Sie sich die Kommentare im Beispielcode an für weitere Details.


S10 liest und erstellt automatisch eine Klasse aus einer SAP Tabelle


VB.net

Objekte der S10-Klassen können im Code oder im S10-Repository instanziiert werden


Ergebnis

Im Beispiel haben wir in den Einstellungen "Addons hevorheben" aktiviert. Dadurch sind Informationen, die in Form eines Addons hinzugefügt wurden, orange markiert.


Die Materalbezeichnung beim Kunden, realisiert als Addon