Show TOC

Arrière-planÉcriture de scripts de formule

 

Les scripts de formule pour la collecte des données utilisent le JavaScript interprété comme langage de scripting.

Note Note

Le scripting est désactivé par défaut pour des raisons de sécurité. Pour plus d'informations, voir Début du chemin de navigation Autorisations Etape de navigation Rôles standard Etape de navigation Rôles et actions de sécurité SAP NetWeaver UME Fin du chemin de navigation dans le Guide de sécurité SAP ME via Début du chemin de navigation http://service.sap.com/instguidesInformations publiées sur un site non SAP Etape de navigation Applications SAP Business Suite Etape de navigation SAP Manufacturing Etape de navigation SAP Manufacturing Execution 15,0 Fin du chemin de navigation.

Fin de la note.
Méthodes disponibles pour les scripts de formule

SAP ME prend en charge les méthodes suivantes dans les formules de collecte de données :

  • callEJB()

  • executeQuery()

  • exit()

  • findSingleParameter()

  • getEJBProperties()

  • print()

  • printAll()

callEJB()

Cette méthode appelle Enterprise JavaBeans (EJB).

call(EJBname, EJBmethod, argument, …)

EJBname est le nom de l'EJB tel que ItemBO ou SFCBO.

EJBmethod est la méthode d'appel telle que le lancement ou la clôture.

argument - un ou plusieurs arguments à transférer à la méthode.

Exemple Exemple

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

priority = props.get("PRIORITY");

exit(priority);

Fin de l'exemple.
executeQuery(<SQLstring>)

Cette méthode exécute une requête SQL dans la base de données WIP SAP ME. Elle retourne un objet de données contenant les résultats de la requête. Elle peut être nulle.

La requête SQL doit être valide pour le serveur de base de données utilisé par SAP ME pour la base de données WIP.

Exemple Exemple

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

queryStr = queryStr + SFC_BO+"\'";

result = executeQuery(queryStr);

priority = result.get("PRIORITY");

exit(priority);

Fin de l'exemple.
exit ()

Cette méthode arrête l'exécution du script.

Exemple Exemple

exit(A)

Termine l'exécution du script et retourne la valeur de la variable de script A comme résultat du calcul de la formule. Il s'agit de la valeur qui sera utilisée pour le paramètre de collecte de données auquel la formule appartient.

Fin de l'exemple.
findSingleParameter ()

Vous pouvez utiliser la méthode findSingleParameter avec les arguments définis ci-dessous :

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

Notez que vous devez inclure chaque argument entre guillemets simples ou doubles.

Argument

Description

parameter_name

Nom du paramètre tel qu'il apparaît dans la zone Nom de paramètre dans la Gestion de la collecte des données.

this | subassy

Utilisez l'un de ces littéraux : this renvoie le SFC actuel subassy renvoie le SFC d'un assemblage consommé par le SFC actuel

item_name

Nom de l'article associé au SFC.

item_revision

Version de l'article associé au SFC.

operation_name

Nom de l'opération dans laquelle les données ont été collectées pour le SFC.

operation_revision

Version de l'opération dans laquelle les données ont été collectées pour le SFC.

resource_name

Nom de la ressource dans laquelle les données ont été collectées pour le SFC.

last

Littéral requis pour terminer l'argument.

Notez que vous ne pouvez pas utiliser les symboles mathématiques (+, -, *, /) dans les noms de paramètres utilisés dans les calculs.

Exemple Exemple

Le groupe CD DC1/A a un paramètre, P1, du type Numérique. DC1/A est affecté à l'opération OP1.

Le groupe de collecte des données DC2/A a trois paramètres, définis comme suit :

Nom de paramètre

Type

P2

Numérique

P3

Numérique

PFORM

Formule

DC2/A est affecté à l'opération OP2.

L'agent de production collecte les données à OP1 avec le plug-in Saisie de la collecte de données. En utilisant la formule suivante pour PFORM, lorsque l'agent de production à OP2 saisit les données pour P2 et P3 puis sauvegarde les entrées, le plug-in Saisie de la collecte des données calcule la somme de ces deux valeurs plus la valeur sauvegardée saisie pour P1 à OP1. La valeur calculée est sauvegardée pour le paramètre PFORM.

a=P2+P3;

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

c=a+b;

exit(c);

Fin de l'exemple.

Exemple Exemple

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

exit(value);

Fin de l'exemple.

Attention Attention

Lors de la création de formules, assurez-vous que les entrées utilisateur ne provoquent pas d'erreurs de division par zéro.

Fin de l'avertissement.
getEJBProperties()

Cette méthode récupère une ou plusieurs propriétés d'Enterprise JavaBeans (EJB).

call(EJBname, objectHandle, property, …)

EJBname est le nom de l'EJB tel que ItemBO ou SFCBO.

objectHandle est la référence à l'EJB nécessaire pour accéder aux propriétés.

properties - une ou plusieurs propriétés à récupérer.

Exemple Exemple

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

priority = props.get("PRIORITY");

exit(priority);

Fin de l'exemple.
print () et printAll ()

La méthode print(value,…) imprime la valeur de chaîne d'une ou plusieurs variables. Cette méthode doit seulement être utilisée pour le débogage et les tests.

La méthode printAll() imprime les valeurs de chaîne de chacune des variables disponibles dans le script. Cette méthode doit seulement être utilisée pour le débogage et les tests.

Exemple Exemple

print(SFC_BO);

printAll();

exit(1);

Fin de l'exemple.
Affichage des résultats d'impression

Vous pouvez afficher les résultats des méthodes print() et printAll() dans Affichage du journal (vue Traces développeur) dans SAP NetWeaver Administrator.

Pour ce faire, configurez Traçage comme suit :

  1. Dans SAP NetWeaver Administrator, sélectionnez Configuration du journal.

  2. Dans l'écran Configuration du journal : Java, sélectionnez Positions de traçage dans la zone Afficher, saisissez com.sap.me.script.ScriptBOBean dans la zone Position et sélectionnez Go pour trouver la position.

  3. Modifiez le degré de gravité de Erreur à Débogage.

  4. Dans l'écran Configuration de la connexion SAP Manufacturing Execution (Début du chemin de navigation http://<serveur SAP ME>:<port>/manufacturing-adminInformations publiées sur un site non SAP Etape de navigation Configuration de la connexion Fin du chemin de navigation), vérifiez que la case Informations de débogage est cochée.