Problem bei WinCC VB-Script

Stefan592

Level-2
Beiträge
109
Reaktionspunkte
25
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Gemeinde,

ich versuche alle Datensatznamen einer Rezeptur auszulesen und die Datensatznamen in interne Variablen zu schreiben.

Code:
For i = 1 To 8
 SmartTags("Script_DatensatzNr") = i
 GetDataRecordName 1, SmartTags("Script_DatensatzNr"), "Script_Rezeptname", "Script_Datensatzname", "Script_Status"
 Select Case  Script_Status
  Case 12
   Exit For
  Case 4 
   Select Case i
   Case 1
    SmartTags("Datensatz_1") = Script_Datensatzname
   Case 2
    SmartTags("Datensatz_2") = Script_Datensatzname
   Case 3
    SmartTags("Datensatz_3") = Script_Datensatzname
   Case 4
    SmartTags("Datensatz_4") = Script_Datensatzname
   Case 5
    SmartTags("Datensatz_5") = Script_Datensatzname
   Case 6
    SmartTags("Datensatz_6") = Script_Datensatzname
   Case 7
    SmartTags("Datensatz_7") = Script_Datensatzname
   Case 8
    SmartTags("Datensatz_8") = Script_Datensatzname   
   End Select
 End Select
 Script_Status = 0
Next

Laut Dokumentation zu Funktion GetDataRecordName gibt es folgende Statusnummer:
2 = Systemfunktion wird gerade ausgeführt.
4 = Systemfunktion wurde erfolgreich beendet.
12 = Systemfunktion wurde nicht ausgeführt, weil ein Fehler aufgetreten ist.

Beim ausführen des Scriptes wird dieses mit folgender Fehlermeldung kommentiert:
Code:
Datensatzbearbeitung nicht möglich, da bereits Rezepturaktion läuft.

Eigentlich sollte doch erst wenn eine Bearbeitung abgeschlossen ist die nächste gestartet werden (Case abfrage Status 4).

Habt Ihr dazu Ideen?


Stefan
 
Hallo,

Problem hat sich erledigt. Ich habe es mit einer Do Schleife gelöst.


Code:
For i = 1 To 8
 SmartTags("Script_DatensatzNr") = i
 GetDataRecordName 1, SmartTags("Script_DatensatzNr"), "Script_Rezeptname", "Script_Datensatzname", "Script_Status"
 Do
  If Script_Status = 12 Then
   Exit For
  End If
 Loop Until Script_Status = 4
 Select Case i
  Case 1
   SmartTags("Datensatz_1") = Script_Datensatzname
  Case 2
   SmartTags("Datensatz_2") = Script_Datensatzname
  Case 3
   SmartTags("Datensatz_3") = Script_Datensatzname
  Case 4
   SmartTags("Datensatz_4") = Script_Datensatzname
  Case 5
   SmartTags("Datensatz_5") = Script_Datensatzname
  Case 6
   SmartTags("Datensatz_6") = Script_Datensatzname
  Case 7
   SmartTags("Datensatz_7") = Script_Datensatzname
  Case 8
   SmartTags("Datensatz_8") = Script_Datensatzname  
 End Select
 Script_Status = 0
Next
 
Zurück
Oben