| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX | | |  | Doll Fahrzeugbau GmbH: Stücklisten-Qualität unter Kontrolle , ein Anwenderbericht
|
Autor
|
Thema: WF Abbruch (1760 mal gelesen)
|
InvCorax Mitglied Systembetreuer / Konstrukteur
 
 Beiträge: 454 Registriert: 21.03.2006 Intel Xeon 3,2GHz 12GB DDR3 NVIDIA Quadro 4000 Win 7 (64bit) SE ST8 MP10 SE ST10 (Test) TC 10.1.5
|
erstellt am: 30. Okt. 2014 14:28 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, kennt jemand einen Handler der bewirkt das der WF abbricht ohne weiter auf "Beenden" zu laufen? Alternativ: Gibt es evtl. einen Handler welcher z.B. in einem Subprocess ein "no-go" für den parent-process ausspucken kann wenn die verzweigung gewählt wird? Bin für jeden Hinweis dankbar...mit der TC-Hilfe stehe ich hier irgendwie aufm Schlauch Grüße Corax ------------------ Schreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
     
 Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 30. Okt. 2014 15:47 <-- editieren / zitieren --> Unities abgeben:          Nur für InvCorax
>>kennt jemand einen Handler der bewirkt das der WF abbricht ohne weiter auf "Beenden" zu laufen? Nein, ist mir noch nicht aufgefallen. Ich halte es wie beim Nassi-Shneiderman-Diagramm: Es gibt genau einen Eingang und genau einen Ausgang, keine "exception" und keinen "interrupt". Wenn ich eine Fehlerbedingung feststelle, folgt eine Fehlerbehandlung, die letztlich entweder ein reguläres Fortsetzen des Vorgangs erlaubt oder aber den Vorgang mit dem gewöhnlichen "Ende" beendet. Zum angehängten Bild sei lediglich gesagt, dass Rücksprung-Adressen vom "demote-on-reject" nicht dargestellt werden. >>Gibt es evtl. einen Handler welcher z.B. in einem Subprocess ein "no-go" für den parent-process ausspucken kann wenn die verzweigung gewählt wird? Das Workflow-System von TC ist ursprünglich für einfache Abläufe einer Dokumenten-Freigabe gedacht. Es verfügt nicht über die Flexibilität herkömmlicher Programmiersprachen. Mit ein paar Tricks kann man schon viel machen. Aber eine Beschränkung ist, dass es keine temporären Variablen im Workflow gibt, die man in einem beliebigen Schritt setzen und in einem anderen Schritt auswerten kann. Ich greife manchmal auf eine interaktive Eingabe zurück und lasse einen Anwender ein Attribut in einem Formular ausfüllen. Auf dieses Attribut kann ich dann mittels TC Query an einer anderen Stelle zugreifen. Aber wenn Du mehr Einzelheiten zu Deinem Problem Preis gibst, will ich gerne darüber nachdenken. ------------------ Rainer Schulze
[Diese Nachricht wurde von Rainer Schulze am 30. Okt. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InvCorax Mitglied Systembetreuer / Konstrukteur
 
 Beiträge: 454 Registriert: 21.03.2006 Intel Xeon 3,2GHz 12GB DDR3 NVIDIA Quadro 4000 Win 7 (64bit) SE ST8 MP10 SE ST10 (Test) TC 10.1.5
|
erstellt am: 31. Okt. 2014 07:54 <-- editieren / zitieren --> Unities abgeben:         
Hallo Rainer, ich will versuchen mein problem etwas ausführlicher darzustellen. Wir nutzen, wie viele andere sicher auch, verschiedene Bauteilarten, wie z.B. Fertigungsteile oder Kaufteile. Eine dieser bauteilarten ist dazu gedacht ein Teil eines Kaufteils dazustellen. Also z.B. ein Teil eines motors der sich bewegen soll, aber nich extra eingekauft wird. So ein Teil muss auch Freigegeben werden da im freigabeprozess definiert ist das alle verbauten Teile Freigegeben sein müssen. Nun hat so ein Teil aber wesentlich weniger Attribute als "normales" Bauteil welches bei uns hergestellt oder gekauft wird. Nun hat man ja die möglichkeit mehere Artikel gleichzeitig in einen WF zu schicken. Deshalb habe ich mir gedacht, ich schicke die dann Teiklweise in einen Unterprozess, denn da kann ich die erstmal aufdrösseln. Das erreiche ich mit EPM-create-sub-prozess -multiple_processes. Nun habe ich in diesem "Unter-Workflow" eine Abfrage eingebaut und sage, wenn du Atrikel ein solches Bauteil bist, gehe direkt wieder raus aus dem WF, also Beenden. Alle anderen Bauteilarten müssen bestimmte Attribute befüllt haben, da sie später an unser ERP übergeben werden. So....nun frage ich also (mit einem Hanlder unseres Resellers, sind die Attribute alle ausgefüllt ja/nein. Bei Ja werden einige weitere aktionen ausgeführt, bei nein soll der Freigabeprozess am besten mit fehlermeldung abgebrochen werden, damit man die chance hat die Attribute zu befüllen und den prozess zu wiederholen. Dazu muss ich erwähnen das unsere User keine Löschberechtigungen haben, hier kann also keiner einfach den angeschubsten WF löschen. Deshalb sollte dieser "sauber" abgebrochen werden. Ich versuche das mal in nem Screenshot zu verdeutlichen. Hoffe das war einigermaßen verständlich... Grüße Corax ------------------ Schreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
     
 Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 31. Okt. 2014 08:52 <-- editieren / zitieren --> Unities abgeben:          Nur für InvCorax
>>Hoffe das war einigermaßen verständlich... Ja, ich denke schon... Eure Geschäftsprozesse gehen mich ja nichts an, aber wenn ich Deine Erläuterung so lese, frage ich mich, wie ihr Teile verbauen könnt, die ihr weder herstellt noch einkauft. Aber zur Sache: >>Deshalb habe ich mir gedacht, ich schicke die dann Teiklweise in einen Unterprozess, denn da kann ich die erstmal aufdrösseln. Wenn Du zwei Teile als "Targets" an den Prozess hängst, wie stellst Du Dir dann vor, die aufzutrennen? Meines Erachtens wirst Du schon an dieser Stelle scheitern. Ich kenne keine Möglichkeit fest zu legen, Teil 1 geht "nach links" und Teil 2 geht "nach rechts". Und wenn Du alle Teile in den Subprozess schickst, kannst sicherlich einzelne Teile wieder vom Prozess abhängen. Aber die gehören dann eben nicht länger dazu. Wie wird Teamcenter reagieren, wenn Du Zweig A und Zweig B mit unterschiedlichen Anhängen wieder vereinigen willst? An solcher Akrobatik habe ich mich bislang noch nicht versucht. Wir haben da eine wesentlich "einfachere" Vorgehensweise: Zu jedem Item_Type gibt es passende Formulare. Wenn Teil 1 10 Attribute braucht und Teil 2 nur 5 dann sind in den entsprechenden Formularen auch nur die jeweiligen Attribute zu finden. >>bei nein soll der Freigabeprozess am besten mit fehlermeldung abgebrochen werden, damit ... Ich würde nicht den Vorgang abbrechen, sondern einen Schritt zum nachträglichen Ausfüllen vorsehen und den der gewünschten Instanz (z.B. $PROCESSOWNER) zuweisen. ------------------ Rainer Schulze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InvCorax Mitglied Systembetreuer / Konstrukteur
 
 Beiträge: 454 Registriert: 21.03.2006 Intel Xeon 3,2GHz 12GB DDR3 NVIDIA Quadro 4000 Win 7 (64bit) SE ST8 MP10 SE ST10 (Test) TC 10.1.5
|
erstellt am: 31. Okt. 2014 09:11 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Rainer Schulze: frage ich mich, wie ihr Teile verbauen könnt, die ihr weder herstellt noch einkauft.
... naja das is ganz einfach... Wenn ich einen Zylinder als Kaufteil habe und ich möchte den Kolben in Solid Edge bewegen, brauche ich den Kolben als Teil und den Restlichen Körper als Teil. Zusammen geben die mein Kaufteil. Jetzt habe ich darunter 2 Teile die ich niemals separat einkaufen werde, die aber trotzdem für TC angelegt sein wollen. Ein anderer Item-Type wäre eine alternative, allerdings habe ich die auflage keine anderen Item-Typen zu verwenden, deshalb unterscheiden sich diese Teile nur durch ein Attribut, die Bauteilart. Somit hat so ein Artikel die gleichen Attribute wie jeder andere, braucht diese aber nicht zwingend befüllt wie andere. Das mit dem aufdrösseln geht schon ganz gut. Jeder Artikel durchläuft den Subprzess für sich. Der Parent Prozess soll abgebrochen bzw. beendet werden wenn im Subprozess ein Teil nicht durch die Prüfung kommt Geprüft werden aber nur Teile die durch die Abfrage kommen. Die Artikel kommen nach dem Subprozess ja auch wieder zusammen, ich habe nur eine Prüfanforderung für alle Teile im ParentWF, funktioniert auch. Wenn ich die Prüfung im ParentWF habe wird direkt ein fehler angezeigt und der WF läuft gar nicht erst an. Soweit wäre das ganz toll, aber fehlt das Attribut "nur" bei einem dieser Artikel die das gar nicht als Pflicht haben, braucht der WF auch nicht abbrechen Das mit dem Nachträglichen ausfüllen könnte gehen, ich probiers mal umsetzten und melde mich wieder.
------------------ Schreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
     
 Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 31. Okt. 2014 09:32 <-- editieren / zitieren --> Unities abgeben:          Nur für InvCorax
>>naja das is ganz einfach... Ja, die Situation haben wir auch. Vermutlich muss ich mein Einfühlungsvermögen heute noch mit einer zusätzlichen Tasse Kaffee anstossen. Wir unterscheiden Testobjekte von "echten" Teilen anhand des Nummernschemas. Und diese Testobjekte werden in einem Kurzprozess alleine innerhalb der Konstruktion frei gegeben. Wir würden dann die Baugruppen für die Fertigung und für eine Kinematik-Untersuchung unter unterschiedlichen Nummern laufen lassen. So ist ausgeschlossen, dass ungültige Teile in das ERP-System gelangen. In TC bedeutet das, die Fertigungungs-Baugruppe mit "Speichern unter..." zu kopieren und dann diese Kopie zu ändern. Der Zusammenhalt ist dann über die "Based on"-Beziehung und die Teileverwendung gegeben. >>Wenn ich die Prüfung im ParentWF habe wird direkt ein fehler angezeigt und der WF läuft gar nicht erst an. Dir ist bewusst, dass der dann als "Leiche im Keller" in der Datenbank bleibt? Oder habt ihr irgend eine routinemässige Aufräumaktion für solche Prozesse? >>aber fehlt das Attribut "nur" bei einem dieser Artikel die das gar nicht als Pflicht haben Ich sage gerne: Computer sind stur und dumm. Was wäre denn ein Kriterium, solche Teile von anderen zu unterscheiden? ------------------ Rainer Schulze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InvCorax Mitglied Systembetreuer / Konstrukteur
 
 Beiträge: 454 Registriert: 21.03.2006 Intel Xeon 3,2GHz 12GB DDR3 NVIDIA Quadro 4000 Win 7 (64bit) SE ST8 MP10 SE ST10 (Test) TC 10.1.5
|
erstellt am: 31. Okt. 2014 09:54 <-- editieren / zitieren --> Unities abgeben:         
Also wir benutzen keine sprechenden Nummern. Damit ist auch kein extra WF für ne minimal-freigabe gewollt. Das System soll im Prinzip für jeden Artikel erstmal grundsätzlich gleich funktionieren. Das macht es in der Funktion schwieriger, aber in der handhabung für die User soll es ja einfacher werden. Das Kriterium für die unterscheidung ist in diesem fall eben nur die Bauteilart (frag nicht wieviel abfragen ich schon gebastelt und in WF's verbaut habe)... Ich finde es wirklich seltsam das Teamcenter so viel bietet was WF Handler angeht, Abfragen, subprozesse, genemigungsabläufe, sogar E-Mails verschicken geht, aber nicht ein Handler oder Parameter der ein "no go" aus dem Subprozess auswirft oder den Parent prozess abbrechen kann.... Bisher hatten wir den Freigabeprozess auch sehr minimalistisch gehalten. Für die Verbindung zu unserem ERP muss da halt wieder einiges angepasst werden. Und bloß keine Sonderlösungen, alles mit Standardmitteln und mit den vorhandenen gegenbenheiten, wie die Attribute die gepflegt sind wie sie halt sind.... Das mit dem datenmüll ist mir bewusst. Ich stehe hier aber noch am anfang was das aufräumen angeht. Ich habe aber schon ein paar Befhelszeilen dafür vom Reseller bekommen, werde mich damit in nächster Zeit auch mehr auseinander setzten müssen. Jipi. Ich habe mal mit einegebaut das dass Formular angezeigt wird wenn ein Attribut fehlt. Die richtung sieht bis jetzt ganz vielversprechend aus, ich muss noch einiges Tests machen, dann geb ich rückmeldung. Wenns funktioniert und mein Chef es so akzeptiert, hagelts U's  ------------------ Schreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InvCorax Mitglied Systembetreuer / Konstrukteur
 
 Beiträge: 454 Registriert: 21.03.2006
|
erstellt am: 31. Okt. 2014 10:04 <-- editieren / zitieren --> Unities abgeben:         
Übrigens falls es Interessiert, ich habe in den Subprozess Handler einen parameter eingebaut der sagt das der parent prozess erst weiter läuft wenn alle Subpreozesse der einzelnen Artikel erfolgreich durchgelaufen sind. mit "-dependency" im EPM-create-sub-process geht das wunderbar. Nur bleibt der parent prozess dann eben auch einfach stehen wenn ein Subprozess nicht durchläuft. Die Sache mit dem Formular bearbeiten wenn die prüfung nicht durchgeht funktioniert. Jetzt muss nurnoch der chef überzeugt werden ------------------ Schreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InvCorax Mitglied Systembetreuer / Konstrukteur
 
 Beiträge: 454 Registriert: 21.03.2006 Intel Xeon 3,2GHz 12GB DDR3 NVIDIA Quadro 4000 Win 7 (64bit) SE ST8 MP10 SE ST10 (Test) TC 10.1.5
|
erstellt am: 31. Okt. 2014 10:17 <-- editieren / zitieren --> Unities abgeben:         
puh....jetzt hängen nach einer Freigabe 4 prozesse an meiner Revision  Ich schätze es ist auch kein Handler bekannt der die Verknüpfungen der Subprozesse an der Revision Löschen kann was? ------------------ Schreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
     
 Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 31. Okt. 2014 10:42 <-- editieren / zitieren --> Unities abgeben:          Nur für InvCorax
>>Ich stehe hier aber noch am anfang was das aufräumen angeht Ich habe mir von unserem Systempartner ein Programm schreiben lassen, welches stockende Prozesse erkennt. Mit einem solchen Programm ist es möglich, Prozesse zu identifizieren, die unmittelbar nach dem Start oder auch später nicht weiter laufen. Und da User immer wieder ein Eigenleben entwickeln, habe ich mir auch verschiedene Suchfunktionen gebastelt wie "Item unter Dataset". Verstösse gegen das Datenmodell kann man zwar im BMIDE durch Kardinalitätsregeln abfangen, aber je mehr Regeln man definiert, desto langsamer wird der Rechner. >>Ich schätze es ist auch kein Handler bekannt der die Verknüpfungen der Subprozesse an der Revision Löschen kann was? Das ist das Abhängen vom Prozess ... mit allen Konsequenzen, EPM-remove-objects. Es passt nun mal nicht ins Systemkonzept zu sagen: Lass die Teile am Prozess, aber unterdrücke die Anzeige. In TC10 gibt es übrigens nicht mehr den Begriff "Subprozess" in der klassischen hierarchischen Denkweise. Das wird ersetzt durch Verknüpfungen zwischen parallelen Prozessen. Fast das Gleiche, aber ohne hierarchische Unterordnung. Aus Workflow A wird dann eben Workflow B, der scheinbar unabhängig existiert, aufgerufen. ------------------ Rainer Schulze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InvCorax Mitglied Systembetreuer / Konstrukteur
 
 Beiträge: 454 Registriert: 21.03.2006 Intel Xeon 3,2GHz 12GB DDR3 NVIDIA Quadro 4000 Win 7 (64bit) SE ST8 MP10 SE ST10 (Test) TC 10.1.5
|
erstellt am: 31. Okt. 2014 11:13 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Rainer Schulze: Das ist das Abhängen vom Prozess ... mit allen Konsequenzen, EPM-remove-objects.
Falls es geht, kann ich damit auch nur die Subpreozesse abhängen? Ich verstehe das in der Hilfe so das ich "nur" sagen kann hänge alle EPMTasks von der Itemrevision ab.... Aber ich bin mir selbst da nicht ganz sicher wie der parameter dafür aussehen müsste... Hast du mir evtl. ein Beispiel? Uns geht es dabei um die Übersichtlichkeit in der Auswirkungsanalyse... Die Wfs, Interesserien niemand ausser mir und würden die nach ein paar Status extrem zumüllen so wie die z.Z. aussehen  Ich vermute mal das wir das sowieso nicht machen, da meine wir müssten noch den User abgreifen der den Freigabe WF erstellt hat... aber ich muss das auch nicht entscheiden und es wäre schön die möglichkeit aufzeigen zu können. Auf jedenfall sag ich schonmal vielen Dank Rainer, die Idee mit dem Formular bearbeiten wenn ein Attr fehlt hat dieses Thema erstmal Teacenter seitig gelöst. (Ich weis noch nicht was ich mache wenn das Attribut in der Draft vorkommt, die wird im Freigabe prozess nicht nochmal geöffnet, aktualisiert und gespeichert)...
------------------ Schreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |