Beispiel Stückzahlermittlung II
Schritt 1
Der Bediener startet den Verarbeitungs-Dialog an der Waage mit der F3-TasteDer F3-Taste ist fest das Makro #3 zugeordnet. Das Makro #3 ruft das Makro #63.
63%^ // Makro 63 rufen
Makro #63 sendet die Zeichenkette F3 und das Sonderzeichen Carriage-Return an die Process-Engine.
F3%$ // Zeichenkette F3 senden 13%& // Sonderzeichen 13 (Carriage-Return senden)
Schritt 2
Die Process-Engine durchsucht alle aktiven Regeln und findet die zur Meldung F3 passende Regel GSEF3.Die Regel löscht das Tara und gibt die Information Behaelter auflegen am Bildschirm aus. Anschließend ruft sie das Makro #90 auf.
$cmd .= 'Pa%C'; // Anzeige löschen $cmd .= 'Behaelter auflegenP1,1%C'; // Text auf Zeile 1 ausgeben $cmd .= '0%t'; // Tara löschen $cmd .= '%z'; // Waage Nullstellen $cmd .= '90%^'; // Makro 90 rufen
Schritt 3
Das Makro #90 der Waage gibt den Text bestaetigen [Y/N] am Bildschirm aus und wartet auf die Eingabe.Bestätigt der Bediener mit der Y-Taste, sendet die Waage die Zeichenkette M90= gefolgt von Bruttogewicht und Carriage-Return.
Bei Betätigung der N-Taste wird der Bildschirm gelöscht und der Dialog beendet.
bestaetigen [Y/N]P2,1A%C // Text auf Zeile 2 ausgeben %Y // Falls Y eingegeben wurde M90=%$ // Zeichenkette M90 ausgeben 0.0.16385P%o%$ // Bruttogewicht der aktuellen Waage mit Einheit ausgeben 13%& // Sonderzeichen 13 (Carriage-Return) ausgeben %N // Falls N eingegeben wurde Pa%C // Bildschirm löschen %E // Ende falls
Schritt 4
Die Process-Engine durchsucht alle aktiven Regeln und findet die zur Meldung M90=18 g passende Regel GSEM90.Die Regel zeigt das Behältergewicht am Bildschirm an und tariert die Waage. Anschließend ruft sie das Makro #91 auf.
$cmd .= 'Pa%C'; // Anzeige löschen $cmd .= 'Beh.gew. ' . $gew . 'P1,1%C'; // Text auf Zeile 1 ausgeben $cmd .= '%t'; // Tarieren $cmd .= 'Materialnr. eingebenP2,1%C'; // Text auf Zeile 2 ausgeben $cmd .= '91%^'; // Makro 91 rufen
Schritt 5
Das Makro #91 wartet auf Eingabe einer Materialnummer. Falls keine Eingabe erfolgt, wird der Bildschirm gelöscht und das Makro beendet.Bei vorhandener Eingabe wird diese in der Variablen 61 zwischengespeichert und danach an die Process-Engine gesendet.
Mat[ ]P3,1A%C // Text auf Zeile 3 ausgeben 3,5,13,13%K // Eingabe auslesen %\ // falls keine Eingabe Pa%C // Anzeige löschen %B // Makro abbrechen %E // Ende falls =80.61P%o // Eingabe (Materialnummer) in Variable 61 speichern M91=%$ // Zeichenkette M91= ausgeben 80.61P%o%$ // Variable 61 (Materialnummer) ausgeben 13%& // Sonderzeichen 13 (Carriage-Return) ausgeben
Schritt 6
Die Process-Engine durchsucht alle aktiven Regeln und findet die zur Meldung M91=80 passende Regel GSEM91.Die Regel ermittelt per Web-Service das Stückgewicht und legt es im Stückgewichtsregister 34 ab.
Anschließend schaltet sie in den Zählmodus um und ruft das Makro #92 auf.
XWEB( $wsdl, 'GetMatWeight', N, $user, $pwd, $matnr, &$error, &$weight, &$unit, &$bez ) $cmd .= 'Mat.gew. ' . $weight . ' ' . $unit . 'P2,1A%C'; // Text auf Zeile 2 ausgeben $cmd .= 'Zaehlteile einfuellenP3,1A%C'; // Text auf Zeile 3 ausgeben $cmd .= '34P=' . $weight . '%o'; // Stückgewicht setzen $cmd .= '30%s'; // Zählmodus einschalten $cmd .= '92%^'; // Makro 92 rufen
Schritt 7
Das Makro #92 wartet auf eine Bestätigung mit der Y- oder N-Taste.Nach Betätigung der Y-Taste wird die Zeichenkette M92= gefolgt von der Stückzahl, danach die Zeichenkette MatNr= gefolgt von der Variablen 61 (Materialnummer) und dem Steuerzeichen Carriage-Return ausgegeben.
bestaetigen [Y/N]P4,1A%C // Text auf Zeile 4 ausgeben %Y // Falls Y eingegeben wurde M92=%$ // Zeichenkette M92= ausgeben 30.0P%o%$ // Stückzahl ausgeben MatNr=%$ // Zeichenkette MatNr= ausgeben 80.61P%o%$ // Variable 61 (Materialnummer) ausgeben 13%& // Sonderzeichen 13 (Carriage-Return) ausgeben %N // Falls N eingegeben wurde Pa%C // Anzeige löschen %E // Ende falls
Schritt 8
Die Process-Engine durchsucht alle aktiven Regeln und findet die zur Meldung M92=6MatNr=80 passende Regel GSEM92.Die Regel verbucht die Stückzahl über einen Web-Service und gibt eine Erfolgemeldung auf dem Bildschirm aus.
XWEB( $wsdl, 'UpdateQty', N, $user, $pwd, $stk, $matnr, &$error ) $cmd .= 'Pa%C'; // Anzeige löschen $cmd .= $stk . ' x Mat ' . $matnr . 'P1,1%C'; // Text auf Zeile 1 ausgeben $cmd .= 'gebucht' . 'P2,1%C'; // Text auf Zeile 2 ausgeben $cmd .= '0%s'; // Wägemodus einschalten $sysreply = $cmd;
Waagen-Variablen
Nr | Name | Datentyp | Länge Nachkommastellen Style |
---|---|---|---|
61 | MatNr | Strng | 13 |
zurück zur Process Engine
SAP®, R/3® und ABAP™ sind eingetragene Marke der SAP AG in Deutschland und vielen anderen Ländern.