cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Frage zur Programmierung von Transactionen unter SAP MII Workbench, generische Liste etc.

fixuli
Newcomer
0 Kudos
315

Hallo,

ich habe eine technische Frage bezüglich der Programmierung von Transactionen unter SAP MII Workbench.

Version der SAP MII Workbench 15.2.3.5

An sich ist es eine Grundlagenfrage. Ich bin relativer Anfänger was die Programmierung unter SAP MII Workbench angeht, komme eher aus der VB.NET Umgebung.

Die Fragestellung habe ich mit den Schlagwörtern Array, Structure, generische Liste, List, Map etc im Internet in Support Foren gesucht, aber keine zufriedenstellende Antwort gefunden.

Für eine Berechnung und Zusammenfassung von Maschinen Status Zeitdauern, z.B. innerhalb einer Schicht, benötige ich etwas Ähnliches einer generischen Liste einer Klasse um die Zusammenfassung der MaschinenStati zu berechnen.

Über eine Query bekomme ich die jeweiligen Einträge der Statusmeldung mit StatusNr und Zeitstempel einer Maschine.

Innerhalb einer Repeater Schleife wird die Zeitdauer in Sekunden (Integer) zwischen zwei Status Meldungen berechnet und der StatusNr (Integer) zugeordnet.

Für die Zusammenfassung der StatusZeiten für die jeweilige StatusNr muss nun eine Liste etc auf die StatusNr überprüft werden.

Wenn StatusNr nicht in Liste etc. vorhanden, in Liste etc. anlegen und berechnete Zeitdauer des Status einfügen Liste(StatusNr).Zeitdauer und Anzahl Meldungen des Status = 1

Wenn StatusNr in Liste etc. vorhanden, neue Zeitdauer für StatusNr in Liste etc. ist gleich Liste(StatusNr).Zeitdauer + berechnete Zeitdauer des Status, Anzahl Status Meldungen ist gleich Liste(StatusNr).AnzahlStatus + 1

Nach vollständigem Durchlauf des Repeaters wird die Liste etc. für jeden Status in eine xml-Ausgabe der Transaction zur weiteren Verwendung bereitgestellt.

Ich habe versucht diese benötigte Funktion Liste etc. in der Transaction mit einer lokalen Variable Typ Map mit Key = StatusNr und Value = Liste(Zeitdauer, Anzahl) darzustellen, jedoch wird bei Abruf der Value List ein NULL Wert zurückgeben, obwohl bei Zuweisung kein Fehler gemeldet wird.

Gibt es eine Konstrukt für diese Problemstellung? Ein mehrdimensionales Array? Array von Structure?

Danke für Eure Hilfe

fixuli

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member185280
Active Contributor
0 Kudos

Hopefully too much doesn't get lost in translation :).

Basically the only real "complex" data type in the workbench is XML. If you are going to be working with MII I recommend getting very familiar with XPath/XSL/XML. The Transaction engine basically runs on XML and there are a lot of built in functions and actions you can use to manipulate XML based on your needs. Look under the "XML Functions" category of actions in the workbench. Usually most tasks can be accomplished with some combination of raw XSL transformation with the "XSL Transformation" action and/or the other available XML actions. From what you seem to be doing the "Calculated Columns" and "Crosstab" actions will probably be the most helpful.

From a performance perspective it's best to avoid the repeater if possible. Especially if you are working with a large data set. You will also typically get the best performance from using an XSL Transformation but the downside is ease of maintainability.

Regards,
Christian

Ask a Question
Top Q&A Solution Author