Show TOC

HintergrundFormelskripte schreiben

 

Formelskripte für die Datenerfassung verwenden interpretiertes JavaScript als Scripting-Sprache.

Hinweis Hinweis

Das Scripting ist aus Sicherheitsgründen im Standard deaktiviert. Weitere Informationen finden Sie unter Anfang des Navigationspfads Berechtigungen Navigationsschritt Standardrollen Navigationsschritt SAP NetWeaver UME Security Roles and Actions Ende des Navigationspfads im SAP ME Security Guide. Dieser liegt unter Anfang des Navigationspfads http://service.sap.com/instguidesAuf Nicht-SAP-Site veröffentlichte Informationen Navigationsschritt SAP Business Suite Applications Navigationsschritt SAP Manufacturing Navigationsschritt SAP Manufacturing Execution 15,1 Ende des Navigationspfads.

Ende des Hinweises
Verfügbare Methoden für Formelskripte

SAP ME unterstützt in Datenerfassungsformeln die folgenden Methoden:

  • callEJB()

  • executeQuery()

  • exit()

  • findSingleParameter()

  • getEJBProperties()

  • print()

  • printAll()

callEJB()

Diese Methode ruft Enterprise JavaBeans (EJB) auf.

call(EJBname, EJBmethod, argument, …)

EJBname ist der Name des EBJ, z.B. ItemBO oderSFCBO.

EJBmethod ist die aufzurufende Methode, z.B. Starten oder Beenden.

argument - mindestens ein an die Methode zu übergebendes Argument.

Beispiel Beispiel

props = callEJB("SFCBO", "getProperties", SFC_BO, "PRIORITY");

priority = props.get("PRIORITY");

exit(priority);

Ende des Beispiels.
executeQuery(<SQLstring>)

Diese Methode führt eine SQL-Abfrage in der SAP-ME-WIP-Datenbank aus. Sie gibt ein Datenobjekt mit den Abfrageergebnissen zurück. Dieses kann leer sein.

Die SQL muss für den Datenbankserver, den SAP ME für die WIP-Datenbank verwendet, gültig sein.

Beispiel Beispiel

queryStr = "select PRIORITY from SFC where HANDLE=\'";

queryStr = queryStr + SFC_BO+"\'";

result = executeQuery(queryStr);

priority = result.get("PRIORITY");

exit(priority);

Ende des Beispiels.
exit ()

Diese Methode stoppt die Ausführung des Skripts.

Beispiel Beispiel

exit(A)

Beendet die Skriptausführung und gibt den Wert der Skriptvariablen A als Ergebnis der Formelberechnung aus. Das ist der Wert, der für den Datenerfassungsparameter verwendet wird, zu dem die Formel gehört.

Ende des Beispiels.
findSingleParameter ()

Sie können die Methode findSingleParameter mit folgenden Argumenten verwenden:

findSingleParameter("parameter_name", "this" | "subassy", "item_name", "item_revision", "operation_name", "operation_revision", "resource_name", "last")

Beachten Sie, dass Sie alle Argumente entweder in doppelte oder einfache Anführungszeichen einschließen.

Argument

Beschreibung

parameter_name

Name des Parameters wie er im Feld Parametername in der Aktivität Datenerfassung pflegen erscheint

this | subassy

Verwenden Sie eines dieser Literale: this gibt die aktuelle PSN zurück, subassy gibt die PSN einer von der aktuellen PSN verbrauchten Unterkomponente zurück

item_name

Name des Materials, das mit der PSN verknüpft ist

item_revision

Version des Materials, das mit der PSN verknüpft ist

operation_name

Name des Vorgangs, an dem Daten für die PSN erfasst wurden

operation_revision

Version des Vorgangs, an dem Daten für die PSN erfasst wurden

resource_name

Name der Ressource, an der Daten für die PSN erfasst wurden

last

erforderliches Wort am Ende des Arguments

Beachten Sie, dass Sie keine mathematischen Symbole (+, -, *, /) in Parameternamen verwenden können, die für Berechnungen Anwendung finden.

Beispiel Beispiel

Die Datenerfassungsgruppe DC1/A hat einen Parameter, P1, Typ Numerisch.DC1/A ist an den Vorgang OP1 angehängt.

Die Datenerfassungsgruppe DC2/A hat drei wie folgt definierte Parameter:

Parametername

Typ

P2

Nummerisch

P3

Numerisch

PFORM

Formel

DC2/A ist an den Vorgang OP2 angehängt.

Der Werker erfasst Daten an OP1 über den Plug-In Datenerfassung. Wird die Formel PFORM verwendet, wenn ein Werker am Vorgang OP2 Daten für P2 und P3 eingibt und die Eingaben sichert, berechnet der Plug-In Datenerfassung die Summe der beiden Werte und des gesicherten Wertes, den Sie an OP1 für P1 eingegeben haben. Der berechnete Wert wird für den Parameter PFORM gesichert.

a=P2+P3;

b=findSingleParameter("P1", "this", "MAT1", "*", "OP1", "A", "RES1", "last");

c=a+b;

exit(c);

Ende des Beispiels.

Beispiel Beispiel

value = findSingleParameter("PARAM1", "this", "M1", "A", "O1", "A", "DEFAULT", "last");

exit(value);

Ende des Beispiels.

Achtung Achtung

Stellen Sie beim Anlegen von Formeln sicher, dass Benutzereingaben keine Division duch Null verursachen.

Ende der Warnung.
getEJBProperties()

Diese Methode ruft eine oder mehrere Eigenschaften von Enterprise JavaBeans (EJB) ab.

call(EJBname, objectHandle, property, …)

EJBname ist der Name des EBJ, z.B. ItemBO oderSFCBO.

objectHandle ist der Verweis zum EBJ für den Abruf der Eigenschaften.

properties - eine oder mehrere abzurufende Eigenschaften.

Beispiel Beispiel

props = getEJBProperties("SFCBO", SFC_BO, "Priority");

priority = props.get("PRIORITY");

exit(priority);

Ende des Beispiels.
print () und printAll ()

Die Methode print(value,…) druckt den Stringwert einer oder mehrerer Variablen. Diese Methode sollte nur für Zwecke der Fehlerbeseitigung und für Tests verwendet werden.

Die Methode printAll() druckt die Stringwerte aller Variablen, die im Skript verfügbar sind. Diese Methode sollte nur für Zwecke der Fehlerbeseitigung und für Tests verwendet werden.

Beispiel Beispiel

print(SFC_BO);

printAll();

exit(1);

Ende des Beispiels.
Druckergebnisse anzeigen

Die Ergebnisse der Methoden print() und printAll() können Sie im Protokoll-Viewer (Sicht Entwickler-Traces) in SAP NetWeaver Administrator anzeigen.

Konfigurieren Sie dafür das Tracing wie folgt:

  1. Wählen Sie in SAP NetWeaver Administrator Protokollkonfiguration.

  2. Wählen Sie in der Sicht Protokollkonfiguration: Java im Feld Anzeigen die Option Trace-Orte aus. Geben Sie in das Feld Lokation com.sap.me.script.ScriptBOBean ein und wählen Sie Starten, um die Lokation zu suchen.

  3. Ändern Sie Schweregrad von Fehler in Fehlersuche.

  4. Stellen Sie sicher, dass im Bild SAP Manufacturing Execution Logging Configuration (Anfang des Navigationspfads http://<SAP-ME-Server>:<Port>/manufacturing-adminAuf Nicht-SAP-Site veröffentlichte Informationen Navigationsschritt Logging Configuration Ende des Navigationspfads) das Ankreuzfeld Debugging-Information ausgewählt wurde.

Weitere Informationen

Datenerfassung pflegen