Isom.Plan.TherapyPlanAction

 ISOM/L-Bibliothek für Serviceautoren: <br />Isom.Plan.TherapyPlanAction

ISOM/L-Bibliothek
für Serviceautoren

Version 9.10.1.0 vom 25 November 2013

Namensraum Isom.Plan.TherapyPlanAction

Beschreibung

Therapieplanaktionen sind die konstituierenden aktiven Elemente, aus denen sich eine Therapiesitzung zusammensetzt. Sämtliche Fahrzeug-verändernden Tätigkeiten sollten als Aktionen implementiert werden.

Ihr Wirkungsgefüge wird im Therapieplan (Typ Isom.Plan.TherapyPlan) gespeichert, ihre Ausführungsreihenfolge im Aktionsplan Isom.Plan.ActionPlan

Die Klassifizierung von Therapieplanaktionen umfasst folgende Unterscheidungen:

  • virtuelle Aktionen = nicht-Blatt-Knoten im Therapiebaum, entsprechen den Aktionen, die an die Filter...()- Funktion übergeben wurden
  • ausführbare Aktionen = konkrete Aktionen = Aktionen, für die kein Filter angewendet oder die aufrund eines Rekursionsabbruches direkt eingefügt wurden. Für diese muss eine Ausführungsfunktion Do<Name>() in ISOM/L definiert sein.
  • nicht Steuergeräte-bezogene Aktion = Aktion, die entweder auf mehrere Steuergeräte oder auf kein Steuergerät oder auf das Gesamtfahrzeug wirkt.
  • Steuergeräte-bezogene Aktion = Aktion, die ausschließlich auf ein Steuergerät wirkt.



Funktionen

Isom.Plan.TherapyPlanAction.CanRunOnly

Prüft, ob Aktion an einer beliebigen Stelle im Prozessablauf über Processes.RunAction() ausgeführt werden kann (beispielsweise Diagnose-Aktionen).

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.CanRunOnly  (  ) 

Prüft, ob Aktion an einer beliebigen Stelle im Prozessablauf über Processes.RunAction() ausgeführt werden kann (beispielsweise Diagnose-Aktionen).

Zu beachten:
Der Ergebniswert ist 'true', wenn (1a) die Aktion in [EditibleAction] bzw. (1b) [EditibleEcuAction] als sofort ausführbar gekennzeichnet (1c) (bzw. über SetCanRunOnly() gesetzt wurde ) und gleichzeitig (2) der zugeordnete Sichtbarkeitsterm dynamisch erfüllt ist.
vs. CanExecuteImmediate()
Ein Wert 'true' für dieses Flag schließt sämtliche anderen InsertableAction-Flags aus.
Rückgabe:
'true' wenn in jeder Situation sofort ausführbar, 'false' sonst.
Isom.Plan.TherapyPlanAction.Clone

Erzeugt eine identische Kopie des Objekts.

objectbound Isom.Plan.TherapyPlanAction Isom.Plan.TherapyPlanAction.Clone  (  ) 

Erzeugt eine identische Kopie des Objekts.

Rückgabe:
Isom.Plan.TherapyPlanAction
Das geklonte Objekt.
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.ExecuteImmediate

Führt eine Sofort-Aktion aus.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.ExecuteImmediate  (  ) 

Führt eine Sofort-Aktion aus.

Die Aktion kann mit dieser Funktion während der Planungsphase ausgeführt werden (beispielsweise für Bestellaktionen für Freischaltcodes).

   Isom.Plan.TherapyPlan tp = Isom.Plan.TherapyPlan.GetInstance(); 
   Isom.Plan.TherapyPlanAction action = tp.CreateAction("ImmediateAction42"); 

   //.. 

   if (action.ExecuteImmediate().Failed()) 
   { 
     //Fehlerbehandlung 
   } 
Rückgabe:
Isom.Base.Boolean
'true', wenn erfolgreich, 'false', sonst
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.GetActionPlanGroup

Liefert die Ausführungsgrupe, zu der die Aktion gehört.

objectbound Isom.Base.String Isom.Plan.TherapyPlanAction.GetActionPlanGroup  (  ) 

Liefert die Ausführungsgrupe, zu der die Aktion gehört.

Rückgabe:
Ausführungsgrupe
Ausnahmebehandlung:
Es wird Isom.Base.String.Void zurückgegeben, falls die Ausführungsgrupe für die Aktion nicht gesetzt ist.
Siehe auch:
Isom.Plan.ActionPlan.SetExecutionOrderGroup
Annotation [ActionPlanGroup]
Isom.Plan.TherapyPlanAction.GetActionText

Liefert den vom Autor per [Editable[Ecu]Action(…, TextID, …)] vorgegebenen übersetzbaren Text.

objectbound Isom.Base.String Isom.Plan.TherapyPlanAction.GetActionText  (  ) 

Liefert den vom Autor per [Editable[Ecu]Action(…, TextID, …)] vorgegebenen übersetzbaren Text.

Verwendungsbeispiel:
   TherapyPlanActionList list = tPlan.GetEditableActions(); 
   while(list.HasNext() ) 
   { 
       System.Stdout( list.Next().GetActionText()); 
   } 
   CurrentVehicleContext currentContext = CurrentVehicleContext.GetInstance(); 
   EcuList ecuList = currentContext.GetEcus(); 
   while( ecuList.HasNext() ) 
   { 
       Ecu ecu = ecuList.Next(); 
       list = ecu.GetEditableActions(); 
       while(list.HasNext() ) 
       { 
           System.Stdout( list.Next().GetActionText()); 
       } 
   } 
Rückgabe:
Name der Aktion (case-sensitiv).
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls für die Aktion kein übersetzbarer Text bekannt ist.
Isom.Plan.TherapyPlanAction.GetActivationCode

Liefert den Freischaltcode, auf den sich die Aktion bezieht oder Void.

objectbound Isom.Plan.ActivationCode Isom.Plan.TherapyPlanAction.GetActivationCode  (  ) 

Liefert den Freischaltcode, auf den sich die Aktion bezieht oder Void.

Verwendungsbeispiel:
 using Isom.Base.*; 
 using Isom.Context.*; 
 using Isom.Global.Config; 
 ... 
 ActivationCode ac = action.GetActivationCode(); 
Rückgabe:
Freischaltcode oder Void.
Isom.Plan.TherapyPlanAction.GetComment

Ermittelt den autorendefinierten Kommentar zur Ausführung der Aktion.

objectbound Isom.Base.String Isom.Plan.TherapyPlanAction.GetComment  (  ) 

Ermittelt den autorendefinierten Kommentar zur Ausführung der Aktion.

Rückgabe:
Der für diese Aktion durch SetComment() festgelegte Kommentar zur Ausführung.
Isom.Plan.TherapyPlanAction.GetContinueOnError

Fragt das Verhalten des Therapieplan-orientierten Abbruchmodells für diese Aktion ab.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.GetContinueOnError  (  ) 

Fragt das Verhalten des Therapieplan-orientierten Abbruchmodells für diese Aktion ab.

Mit dieser Funktion lässt sich abfragen, ob nach einem Fehler bei Ausführung der Aktion weitere Aktionen für das Steuergerät ausgeführt werden dürfen.

   Isom.Base.Boolean DoFlash (Isom.Plan.TherapyPlanAction action) 
   { 
     //Aktionsausführung mit Fehlschlag 

     if (action.GetContinueOnError()) 
     { 
       //Andere Aktionen dürfen ausgeführt werden 
     } 
     else 
     { 
       //Andere noch nicht ausgeführte Aktionen werden FailedDependency 
     } 

     return true; 
   } 
Rückgabe:
Isom.Base.Boolean
'true', wenn bei Fehlschlag der Aktion mit anderen Aktionen im Therapiebaum fortgefahren wird
'false', wenn bei Fehlschlag der Aktion nicht mit anderen Aktionen im Therapiebaum fortgefahren wird
Siehe auch:
Isom.Plan.TherapyPlanAction.SetContinueOnError() für die zugehörige Setter-Funktion.
Annotation [ContinueOnError]
Isom.Plan.TherapyPlanAction.GetContinueWithEcuOnError() für Steuergeräte-bezogenes Abbruchmodell.
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.GetContinueWithEcuOnError

Fragt das Verhalten des Steuergeräte-orientierten Abbruchmodells für diese Aktion ab.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.GetContinueWithEcuOnError  (  ) 

Fragt das Verhalten des Steuergeräte-orientierten Abbruchmodells für diese Aktion ab.

Mit dieser Funktion lässt sich abfragen, ob nach einem Fehler bei Ausführung der Aktion weitere Aktionen für das Steuergerät ausgeführt werden dürfen.

   Isom.Base.Boolean DoFlash (Isom.Plan.TherapyPlanAction action) 
   { 
     //Aktionsausführung mit Fehlschlag 

     if (action.GetContinueWithEcuOnError()) 
     { 
       //Andere Aktionen für dieses SG dürfen ausgeführt werden 
     } 
     else 
     { 
       //Andere noch nicht ausgeführte Aktionen für dieses SG werden FailedDependency 
     } 

     return true; 
   } 
Rückgabe:
Isom.Base.Boolean
'true', wenn bei Fehlschlag der Aktion mit anderen Aktionen für dieses Steuergerät fortgefahren wird
'false', wenn bei Fehlschlag der Aktion nicht mit anderen Aktionen für dieses Steuergerät fortgefahren wird
Siehe auch:
Isom.Plan.TherapyPlanAction.SetContinueWithEcuOnError() für die zugehörige Setter-Funktion.
Annotation [ContinueWithEcuOnError]
Isom.Plan.TherapyPlanAction.GetContinueOnError() für Therapieplan-bezogenes Abbruchmodell.
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.GetDependantActionsToRefilter

Liefert Aktionen, die neu gefiltert werden müssen, wenn die aktuelle Aktion entfernt wird.

objectbound Isom.Plan.TherapyPlanActionList Isom.Plan.TherapyPlanAction.GetDependantActionsToRefilter  (  ) 

Liefert Aktionen, die neu gefiltert werden müssen, wenn die aktuelle Aktion entfernt wird.

Die Liste wird vom ISOM-Kern aktualisiert, wenn Aktionen zum Therapieplan hinzugefügt oder aus dem Therapieplan entfernt werden. Der Aufruf kann auf einer bereits im Therapieplan befindlichen Aktion oder auf einer als Suchmuster fungierenden, "freistehenden" Aktion (beispielsweise InsertableAction) erfolgen. Im letzteren Fall wird über Isom.Plan.TherapyPlan.GetActions() die letzte semantisch gleiche Aktion gesucht und verwendet.

   Isom.Base.Boolean RemoveActionManually (Isom.Plan.TherapyPlanAction action) 
   { 
     Isom.Plan.TherapyPlanActionList dependantActions = action.GetDependantActionsToRefilter(); 

     //.. 

     return true; 
   } 
Rückgabe:
Isom.Plan.TherapyPlanActionList
Abhängige Aktionen, die nach einem Entfernen dieser Aktion neu gefiltert werden müssen.
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls die Liste noch nicht existiert.
Es wird das Void-Objekt zurückgegeben, falls die Liste explizit auf Void gesetzt wurde.
Es wird das Void-Objekt zurückgegeben, falls die oben beschriebene Suche kein passendes Element ergibt.
Siehe auch:
Isom.Plan.TherapyPlanAction.SetDependantActionsToRefilter()
Isom.Plan.TherapyPlanAction.GetDependantActionsToRemove()
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.GetDependantActionsToRemove

Liefert Aktionen, die mit entfernt werden müssen, wenn die aktuelle Aktion entfernt wird.

objectbound Isom.Plan.TherapyPlanActionList Isom.Plan.TherapyPlanAction.GetDependantActionsToRemove  ( Isom.Base.Boolean  transitive  ) 

Liefert Aktionen, die mit entfernt werden müssen, wenn die aktuelle Aktion entfernt wird.

Die Liste wird vom ISOM-Kern aktualisiert, wenn Aktionen zum Therapieplan hinzugefügt oder aus dem Therapieplan entfernt werden. Der Aufruf kann auf einer bereits im Therapieplan befindlichen Aktion oder auf einer als Suchmuster fungierenden, "freistehenden" Aktion (beispielsweise InsertableAction) erfolgen. Im letzteren Fall wird über Isom.Plan.TherapyPlan.GetActions() die letzte semantisch gleiche Aktion gesucht und verwendet.

   Isom.Base.Boolean RemoveActionManually (Isom.Plan.TherapyPlanAction action) 
   { 
     Isom.Plan.TherapyPlanActionList dependantActions = action.GetDependantActionsToRemove(); 

     //.. 

     return true; 
   } 
Parameter:
transitive  wenn 'true', werden auch alle Aktionen geliefert, die von Aktionen abhängig sind, die von dieser Aktion abhängig sind ("Transitive Hülle"). wenn 'false', werden nur Aktionen geliefert, die von dieser Aktion direkt abhängig sind.
Rückgabe:
Isom.Plan.TherapyPlanActionList
Abhängige Aktionen, die mit entfernt werden müssen.
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls die Liste noch nicht existiert.
Es wird das Void-Objekt zurückgegeben, falls die Liste explizit auf Void gesetzt wurde.
Es wird das Void-Objekt zurückgegeben, falls die oben beschriebene Suche kein passendes Element ergibt.
Siehe auch:
Isom.Plan.TherapyPlanAction.SetDependantActionsToRemove()
Isom.Plan.TherapyPlanAction.GetDependantActionsToRefilter()
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.GetDependentActions

Liefert die abhängigen Aktionen der Therapieplanaktion.

objectbound Isom.Plan.TherapyPlanActionList Isom.Plan.TherapyPlanAction.GetDependentActions  (  ) 

Liefert die abhängigen Aktionen der Therapieplanaktion.

Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       TherapyPlanActionList dependentActions = action.GetDependentActions(); 
Rückgabe:
Liste der abhängigen Aktionen
Isom.Plan.TherapyPlanAction.GetDisplayProp

Setzt den Wert der vorgegebenen Anzeigeeigenschaft für die Aktion.

objectbound Isom.Base.String Isom.Plan.TherapyPlanAction.GetDisplayProp  ( Isom.Base.String  propName  ) 

Setzt den Wert der vorgegebenen Anzeigeeigenschaft für die Aktion.

Zu beachten:
Die unterstützten Eigenschaftsnamen sind in den herstellerspezifischen Begleitdokumenten zu finden.
Es gilt die Initialisierungsreihenfolge: ContextConfiguration -> CurrentVehicleContext -> FutureVehicleContext
Verwendungsbeispiel:
   // Consts.is: 
   deftext INTERNAL FLASH_ACTION "Programmieren" 

   // *.is: 
   using Isom.Base.* 
   ... 
      Ecu ecu = ... 
      String val = ecu.GetDisplayProp( Consts.FLASH_ACTION ); 
Rückgabe:
Wert der Eigenschaft.
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls der Wert ungesetzt oder gleich "" ist.
Siehe auch:
Isom.Plan.TherapyPlanAction.SetDisplayProp()
Isom.Plan.TherapyPlanAction.GetDisplayPropNames

Liefert die Namen aller Anzeige-Eigenschaften der Aktion.

objectbound Isom.Base.StringList Isom.Plan.TherapyPlanAction.GetDisplayPropNames  (  ) 

Liefert die Namen aller Anzeige-Eigenschaften der Aktion.

Es werden die Eigenschaftsnamen für die Anzeige-Eigenschaften (siehe Isom.Plan.TherapyPlanAction.GetDisplayProp()) zurückgeliefert. Die systemseitig ermittelten Eigenschaftsnamen sind in den herstellerspezifischen Begleitdokumenten zu finden.

   Isom.Base.Boolean DoFlash (Isom.Plan.TherapyPlanAction action) 
   { 
     Isom.Base.StringList displayPropertyNames = action.GetDisplayPropNames(); 
     displayPropertyNames.Reset(); 
     while(displayPropertyNames.HasNext()) 
     { 
       //Abfrage des Werts für den gelieferten Eigenschaftsnamen und z. B. Aufzeichnung ins Protokoll 
     } 

     //Aktionsausführung 

     return true; 
   } 
Rückgabe:
Isom.Base.StringList
Liste der Namen aller Anzeige-Eigenschaften der Aktion.
Siehe auch:
Isom.Plan.TherapyPlanAction.GetDisplayProp()
Datum:
letzte Änderung am 09.09.2010
Isom.Plan.TherapyPlanAction.GetDisplayState

Ruft den Anzeigezustand der Aktion ab.

objectbound Isom.Base.String Isom.Plan.TherapyPlanAction.GetDisplayState  (  ) 

Ruft den Anzeigezustand der Aktion ab.

Rückgabe:
Anzeigezustand der Aktion.
Isom.Plan.TherapyPlanAction.GetEcu

Liefert das assoziierte Steuergeräte-Fachobjekt oder Void.

objectbound Isom.Context.Ecu Isom.Plan.TherapyPlanAction.GetEcu  (  ) 

Liefert das assoziierte Steuergeräte-Fachobjekt oder Void.

Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.TherapyPlanAction; 
   using Isom.Context.Ecu; 
   ... 
      Boolean Filter...( TherapyPlanAction action ) 
      { 
          Ecu ecu = action.GetEcu(); 
          if( ecu.IsVoid().Not() ) 
              ecu.Store...();     // ecu-wise 
          else 
              Deploy....();       // vehicle-wise 
          ... 
      } 
Rückgabe:
Assoziiertes Ecu-Objekt für steuergerätebezogene Aktionen oder Void-Objekt, wenn kein Steuergerät assoziiert wurde.
Isom.Plan.TherapyPlanAction.GetEstimatedRuntime

Fragt die prognostizierte Laufzeit für die Aktion ab.

objectbound Isom.Base.Number Isom.Plan.TherapyPlanAction.GetEstimatedRuntime  (  ) 

Fragt die prognostizierte Laufzeit für die Aktion ab.

Verwendungsbeispiel:
 Number time = tpa.GetEstimatedRuntime (); 
Rückgabe:
Prognostizierte Laufzeit in Sekunden.
Isom.Plan.TherapyPlanAction.GetExecutedByIsom

Ruft ab, ob die Aktion durch eine Ausführungsfunktion ausgeführt wird.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.GetExecutedByIsom  (  ) 

Ruft ab, ob die Aktion durch eine Ausführungsfunktion ausgeführt wird.

Eine Ausführungsfunktion wird in ISOM/L implementiert. Ihr Name besteht aus Do und dem Namen der Aktion. Für Aktionen, die im Rahmen einer asynchronen Phase ausgeführt werden, wird z. B. keine Ausführungsfunktion aufgerufen.

   Isom.Base.Boolean FilterActivate (Isom.Plan.TherapyPlanAction action) 
   { 
     //Ausführung durch Ausführungsfunktion 
     action.SetExecutedByIsom(true); 

     //Filtern 

     return true; 
   } 
Rückgabe:
Isom.Base.Boolean
'true', wenn ISOM bei der Aktionsausführung die entsprechende Ausführungsfunktion aufruft
'false', sonst
Siehe auch:
Isom.Plan.TherapyPlanAction.SetExecutedByIsom() für die zugehörige Setter-Funktion.
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.GetFinishTime

Fragt den Zeitpunkt ab, zu dem die Aktion beendet wurde.

objectbound Isom.Base.Date Isom.Plan.TherapyPlanAction.GetFinishTime  (  ) 

Fragt den Zeitpunkt ab, zu dem die Aktion beendet wurde.

Der Rückgabewert kann das Void-Objekt sein, falls die Aktion noch nicht beendet wurde.

Zu beachten:
Zusammen mit der Funktion 'GetStartTime()' lässt sich somit die gesamte Zeitdauer der Aktion berechnen. Im Unterschied zu 'GetProcessedTime()' enthält die somit berechnete Zeitspanne auch die Zeit, in der Benutzeranfragen angezeigt werden.
Verwendungsbeispiel:
 // TherapyPlanAction tpa 
 Date startTime = tpa.GetStartTime(); 
 Date finishTime = tpa.GetFinishTime(); 
 Number actualDurationInSeconds = finishTime.ElapsedTime(startTime); 
Rückgabe:
Zeitpunkt, zu dem die Aktion beendet wurde.
Isom.Plan.TherapyPlanAction.GetFlashFlags

Ruft die Flags für den Flashvorgang ab.

objectbound Isom.Base.Number Isom.Plan.TherapyPlanAction.GetFlashFlags  (  ) 

Ruft die Flags für den Flashvorgang ab.

Die Flags werden durch eine ganze Zahl repräsentiert.

Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       Number flashFlags = action.GetFlashFlags(); 
Rückgabe:
Die Flags für den Flashvorgang als ganze Zahl.
Isom.Plan.TherapyPlanAction.GetLogicalUnits

Liefert die Liste der logischen Einheiten, die von der Aktion betroffen sind.

objectbound Isom.Context.LogicalUnitList Isom.Plan.TherapyPlanAction.GetLogicalUnits  (  ) 

Liefert die Liste der logischen Einheiten, die von der Aktion betroffen sind.

Verwendungsbeispiel:
            
Rückgabe:
Liste der logischen Einheiten, die von der Aktion betroffen sind Die Liste kann leer sein, aber nicht das Void-Objekt
Isom.Plan.TherapyPlanAction.GetLogicalVehicles

Ermittelt die Liste verwendbarer logischer Fahrzeuge.

objectbound Isom.Context.LogicalVehicleList Isom.Plan.TherapyPlanAction.GetLogicalVehicles  (  ) 

Ermittelt die Liste verwendbarer logischer Fahrzeuge.

Zu beachten:
Über diese logischen Fahrzeuge wird bei Fahrzeugzugriffen während der Aktionsausführung iteriert.
Die Reihenfolge der logischen Fahrzeuge in der Liste bestimmt über die Zugriffsreihenfolge.
Für steuergerätebezogene und zusammengesetzte Aktionen ermittelt ISOM die Liste automatisch.
   Isom.Plan.TherapyPlanAction tpa = ...; 
   Isom.Context.LogicalVehicleList vl = tpa.GetLogicalVehicles(); 
Rückgabe:
Isom.Context.LogicalVehicleList
Liste verwendbarer logischer Fahrzeuge
Siehe auch:
Isom.Plan.TherapyPlanAction.SetLogicalVehicles
Seit:
Eingeführt mit BZ-12385/BZ-12497/WA-588-5637 (Mischbordnetze).
Datum:
letzte Änderung am 29.06.2011
Isom.Plan.TherapyPlanAction.GetMissingFiles

Überprüft, ob zu allen Aktionen des Therapieplans die erforderlichen Steuergerätedaten vorhanden sind.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.GetMissingFiles  (  ) 

Überprüft, ob zu allen Aktionen des Therapieplans die erforderlichen Steuergerätedaten vorhanden sind.

Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
        TherapyPlanAction action; 
        // ... 
        action.GetMissingFiles(); 
        String missingSwu = action.GetProp("Swu:Missing"); 
        if (missingSwu.Equals("").Not())  // Zeichenkette ist nicht leer oder Void 
        { 
            //Fehler 
        } 
 ... 
Rückgabe:
Isom.Base.Boolean
true im Erfolgsfall, false sonst.
Isom.Plan.TherapyPlanAction.GetName

Liefert den vom Autor definierten Namen der Aktion.

objectbound Isom.Base.String Isom.Plan.TherapyPlanAction.GetName  (  ) 

Liefert den vom Autor definierten Namen der Aktion.

Rückgabe:
Name der Aktion (case-sensitiv).
Isom.Plan.TherapyPlanAction.GetOrderingInfoList

Liefert Bestellinformationen für das Steuergerät.

objectbound Isom.Plan.OrderingInfoList Isom.Plan.TherapyPlanAction.GetOrderingInfoList  (  ) 

Liefert Bestellinformationen für das Steuergerät.

Verwendungsbeispiel:
 using Isom.Base.*; 
 using Isom.Context.*; 
 ... 
 // Liste der Bestellinformationen holen 
 OrderingInfoList oiList = action.GetOrderingInfoList(); 
 ... 
Rückgabe:
Liste von Bestellalternativen.
Isom.Plan.TherapyPlanAction.GetPhase

Fragt den Sortierindex für die Aktionsplanphase ab, in der die Aktion ausgeführt wird.

objectbound Isom.Base.Number Isom.Plan.TherapyPlanAction.GetPhase  (  ) 

Fragt den Sortierindex für die Aktionsplanphase ab, in der die Aktion ausgeführt wird.

Der vorgegebene Sortierindex ist eine ganze Zahl. Es wird normalerweise von der Logistik festgelegt, kann aber vom Autor angegeben werden. Ein kleinerer Sortierindex bewirkt eine frühere Ausführung der Aktion.

Die Abbildungen für die systemseitig ermittelten Sortierkriterien sind in den herstellerspezifischen Begleitdokumenten zu finden.

Es gelten folgende Zusicherungen bzgl. der Parallelausführung:

(1) Zwei beliebige Aktionen mit verschiedenen Phasenindizes werden in der jeweils zugeordneten Phase und daher stets sequentiell ausgeführt. Phasenindizes werden dabei aufsteigend sortiert.

(2) Zwei beliebige Aktionen mit gleichem Phasenindex, aber verschiedenen Sequenzindizes werden innerhalb der gleichen Phase ausgeführt. Werden beide Aktionen über denselben nebenläufigen Kanal ausgeführt, erfolgt ihre Ausführung sequentiell innerhalb jedes Ausführungspfades nach aufsteigendem Sequenzindex. Werden sie über verschiedene nebenläufige Kanäle ausgeführt, können sie parallel ausgeführt werden.

Technische Details zur Aktionsplanung und -ausführung sind im Fach-IV-Konzept ISOM, Teil III beschrieben.

Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       Number flashPhase = action.GetPhase(); 
Rückgabe:
Sortierindex für die Aktionsplanphase (ganze Zahl).
Isom.Plan.TherapyPlanAction.GetPossibleLChannels

Ermittelt die für die Aktionsausführung alternativ zueinander zulässigen L-Kanäle.

objectbound Isom.Base.StringList Isom.Plan.TherapyPlanAction.GetPossibleLChannels  (  ) 

Ermittelt die für die Aktionsausführung alternativ zueinander zulässigen L-Kanäle.

Verwendungsbeispiel:
 using Isom.Base.*; 
 using Isom.Context.*; 
 ... 
 StringList possibleChannels = action.GetPossibleLChannels(); 

   // Der Algorithmus geht davon aus, dass nur der von der Logistik angewiesene 
   // Kanal zurückkommt. Dieser muss eindeutig sein. 

   String msg = "Für die Aktion "; 
   msg.Append(action.GetName()); 
   msg.Append(" wurden mögliche Kanäle "); 
   msg.Append(possibleChannels.Concat(";")); 
   msg.Append(" gefunden."); 
   Log.Error ("", msg); 
   ... 
Rückgabe:
Liste der L-Kanäle.
Isom.Plan.TherapyPlanAction.GetPriority

Fragt einen Sortierindex für die Aktionsausführung ab, der innerhalb der Aktionsplanphase durch Kanalauswahl oder durch Trennung der Aktionsplanphasen (Phasenbruch) erzwungen wird.

objectbound Isom.Base.Number Isom.Plan.TherapyPlanAction.GetPriority  (  ) 

Fragt einen Sortierindex für die Aktionsausführung ab, der innerhalb der Aktionsplanphase durch Kanalauswahl oder durch Trennung der Aktionsplanphasen (Phasenbruch) erzwungen wird.

Der Sortierindex ist eine ganze Zahl. Er wird von einigen Logistiken festgelegt, kann aber vom Autor überschrieben werden.

Die Abbildungen für die systemseitig ermittelten Sortierindizes sind in den herstellerspezifischen Begleitdokumenten zu finden.

Es gelten folgende Zusicherungen bzgl. der Parallelausführung:
(1) Zwei beliebige Aktionen mit verschiedenen Phasenindizes werden in der getrennten Phasen und daher stets sequentiell zueinander ausgeführt. Phasenindizes werden dabei aufsteigend sortiert.
(2) Zwei beliebige Aktionen mit gleichem Phasenindex,aber verschiedenen Prioritäten werden innerhalb derselben Phase und im selben Aktionsplanpfad und damit stets sequentiell ausgeführt, soweit dies mit den Kanalvorgaben der Aktionen vereinbar ist. Lassen die Kanalvorgaben dies nicht zu, wird die Sequentialität erzwungen, indem die Aktionen in verschiedenen Aktionsplanphasen eingeplant werden (Phasenbruch). Prioritätsindizes werden dabei aufsteigend sortiert.
(3) Zwei beliebige Aktionen mit gleichem Phasenindex, gleicher Priorität aber verschiedenen Sequenzindizes werden innerhalb der gleichen Phase ausgeführt. Werden beide Aktionen über denselben nebenläufigen Kanal ausgeführt, erfolgt ihre Ausführung sequentiell innerhalb jedes Ausführungspfades nach aufsteigendem Sequenzindex. Werden sie über verschiedene nebenläufige Kanäle ausgeführt, können sie parallel ausgeführt werden. Sequenzindizes werden dabei aufsteigend sortiert.

Technische Details zur Aktionsplanung und -ausführung sind im Fach-IV-Konzept ISOM, Teil III beschrieben.

Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       Number flashSequence = action.GetPriority(); 
Rückgabe:
Aktionsplanpfad-übergreifender Sortierindex (ganze Zahl).
Isom.Plan.TherapyPlanAction.GetProcessedRuntime

Liefert die tatsächliche Zeitdauer der Aktion.

objectbound Isom.Base.Number Isom.Plan.TherapyPlanAction.GetProcessedRuntime  (  ) 

Liefert die tatsächliche Zeitdauer der Aktion.

Zu beachten:
Der Rückgabewert kann das Void-Objekt sein, falls die Aktion noch nicht gestartet oder beendet wurde.
Diese Zeitdauer schließt nicht die Anzeige von Benutzeranfragen ein.
Verwendungsbeispiel:
 Data planEntry = Data.Create(Consts.PROTOCOLTAG_ACTION_PLAN); 
 Number n = ap.GetProcessedRuntime (); 
 planEntry.AddAttribute (Consts.PROTOCOLATTR_PHASE_TOTAL_TIME, n.ToIntString ()); 
Rückgabe:
Tatsächliche Zeitdauer der Aktion in Sekunden.
Isom.Plan.TherapyPlanAction.GetProp

Ermittelt den Wert der vorgegebenen Eigenschaft (property) für die Aktion.

objectbound Isom.Base.String Isom.Plan.TherapyPlanAction.GetProp  ( Isom.Base.String  propName  ) 

Ermittelt den Wert der vorgegebenen Eigenschaft (property) für die Aktion.

Die systemseitig ermittelten Eigenschaftsnamen sind in den herstellerspezifischen Begleitdokumenten zu finden.

Verwendungsbeispiel:
   using Isom.Base.* 
   ... 
      String val = action.GetProp( "ErrorX" ); 
Rückgabe:
Diagnoseadresse.
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls der Wert ungesetzt oder gleich "" ist.
Isom.Plan.TherapyPlanAction.GetPropNames

Liefert die Namen aller technischen Eigenschaften der Aktion.

objectbound Isom.Base.StringList Isom.Plan.TherapyPlanAction.GetPropNames  (  ) 

Liefert die Namen aller technischen Eigenschaften der Aktion.

Es werden die Eigenschaftsnamen für die technischen Eigenschaften (siehe Isom.Plan.TherapyPlanAction.GetProp()) zurückgeliefert. Die systemseitig ermittelten Eigenschaftsnamen sind in den herstellerspezifischen Begleitdokumenten zu finden.

   Isom.Base.Boolean DoFlash (Isom.Plan.TherapyPlanAction action) 
   { 
     Isom.Base.StringList propertyNames = action.GetPropNames(); 
     propertyNames.Reset(); 
     while(propertyNames.HasNext()) 
     { 
       //Abfrage des Werts für den gelieferten Eigenschaftsnamen und z. B. Aufzeichnung ins Protokoll 
     } 

     //Aktionsausführung 

     return true; 
   } 
Rückgabe:
Isom.Base.StringList
Liste der Namen aller technischen Eigenschaften der Aktion.
Siehe auch:
Isom.Plan.TherapyPlanAction.GetProp()
Datum:
letzte Änderung am 09.09.2010
Isom.Plan.TherapyPlanAction.GetReasonForFailedDependency

Liefert die Kette der fehlgeschlagenen Aktionen, die der Grund für das abhängige Fehlschlagen dieser Aktion waren.

objectbound Isom.Plan.TherapyPlanActionList Isom.Plan.TherapyPlanAction.GetReasonForFailedDependency  (  ) 

Liefert die Kette der fehlgeschlagenen Aktionen, die der Grund für das abhängige Fehlschlagen dieser Aktion waren.

Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       TherapyPlanActionList actions = action.GetReasonForFailedDependency(); 
Rückgabe:
Referenz auf die fehlgeschlagenen Aktionen: Den Anfang der Liste (Index 0) bildet die Aktion, deren Ausführung gescheitert ist. Die weiteren Einträge können andere abhängig fehlgeschlagene Aktionen sein, wenn eine Abhängigkeitskette existiert.
Isom.Plan.TherapyPlanAction.GetSequence

Fragt den Sortierindex innerhalb des Aktionsplanpfades ab, in der die Aktion ausgeführt wird.

objectbound Isom.Base.Number Isom.Plan.TherapyPlanAction.GetSequence  (  ) 

Fragt den Sortierindex innerhalb des Aktionsplanpfades ab, in der die Aktion ausgeführt wird.

Der Sortierindex ist eine ganze Zahl. Er wird normalerweise von der Logistik festgelegt, kann aber vom Autor überschrieben werden.

Die Abbildungen für die systemseitig ermittelten Sortierindizes sind in den herstellerspezifischen Begleitdokumenten zu finden.

Es gelten folgende Zusicherungen bzgl. der Parallelausführung:
(1) Zwei beliebige Aktionen mit verschiedenen Phasenindizes werden in der getrennten Phasen und daher stets sequentiell zueinander ausgeführt. Phasenindizes werden dabei aufsteigend sortiert.
(2) Zwei beliebige Aktionen mit gleichem Phasenindex,aber verschiedenen Prioritäten werden innerhalb derselben Phase und im selben Aktionsplanpfad und damit stets sequentiell ausgeführt, soweit dies mit den Kanalvorgaben der Aktionen vereinbar ist. Lassen die Kanalvorgaben dies nicht zu, wird die Sequentialität erzwungen, indem die Aktionen in verschiedenen Aktionsplanphasen eingeplant werden (Phasenbruch). Prioritätsindizes werden dabei aufsteigend sortiert.
(3) Zwei beliebige Aktionen mit gleichem Phasenindex, gleicher Priorität aber verschiedenen Sequenzindizes werden innerhalb der gleichen Phase ausgeführt. Werden beide Aktionen über denselben nebenläufigen Kanal ausgeführt, erfolgt ihre Ausführung sequentiell innerhalb jedes Ausführungspfades nach aufsteigendem Sequenzindex. Werden sie über verschiedene nebenläufige Kanäle ausgeführt, können sie parallel ausgeführt werden. Sequenzindizes werden dabei aufsteigend sortiert.

Technische Details zur Aktionsplanung und -ausführung sind im Fach-IV-Konzept ISOM, Teil III beschrieben.

Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       Number flashSequence = action.GetSequence(); 
Rückgabe:
Sortierindex innerhalb des Aktionsplanpfades (ganze Zahl).
Isom.Plan.TherapyPlanAction.GetStartTime

Fragt den Zeitpunkt ab, zu dem die Aktion gestartet wurde.

objectbound Isom.Base.Date Isom.Plan.TherapyPlanAction.GetStartTime  (  ) 

Fragt den Zeitpunkt ab, zu dem die Aktion gestartet wurde.

Der Rückgabewert kann das Void-Objekt sein, falls die Aktion noch nicht gestartet wurde.

Verwendungsbeispiel:
 // TherapyPlanAction tpa 
 Date startTime = tpa.GetStartTime(); 
 Date finishTime = tpa.GetFinishTime(); 
 Number actualDurationInSeconds = finishTime.ElapsedTime(startTime); 
Rückgabe:
Zeitpunkt, zu dem die Aktion gestartet wurde.
Isom.Plan.TherapyPlanAction.GetStates

Liefert eine Liste von Zuständen, die den Ausführungszustand der Aktion beschreiben.

objectbound Isom.Base.StringList Isom.Plan.TherapyPlanAction.GetStates  (  ) 

Liefert eine Liste von Zuständen, die den Ausführungszustand der Aktion beschreiben.

Bemerkungen:
Die Liste kann folgende Zustandsangaben enthalten:
Präfix Wert Beschreibung
Isom.Execution Virtual virtuell
Isom.Execution Shadowed verschattet
Isom.Execution Plannable planbar
Isom.Execution ToDo eingeplant (synchron) und noch nicht ausgeführt
Isom.Execution ToDoAsync eingeplant (asynchron) und noch nicht ausgeführt
Isom.Execution Executing in Ausführung
Isom.Execution Aborting wird abgebrochen
Isom.Execution ToReschedule wird neu in den Plan eingeordnet
Isom.Execution Rescheduled wurde neu in den Plan eingeordnet
Isom.Execution Purged inaktiv
Isom.Execution FailedDependency abhängig gescheitert
Isom.Execution Successful erfolgreich
Isom.Execution Failed gescheitert
Isom.Display Default Anzeige mit Ausführungsstatus
Isom.Display Successful Anzeige als erfolgreich
Isom.Display Failed Anzeige als gescheitert
Isom.Display FailedDependency Anzeige als abhängig gescheitert
Isom.Display Suppress Anzeige ohne Zustandsangabe
Isom.Display Attention Anzeige als 'zu beachten'
Isom.Display ToDo Anzeige als geplant
Isom.Display PostSession Anzeige als Element zur Nachbearbeitung
Isom.Display PostSession Anzeige als Element zur Nachbearbeitung
Isom.Logistics.AutoRetainLogisticsConsistency true Aufruf der Logistik beim Einplanen
Isom.Logistics.AutoRetainLogisticsConsistency false kein Aufruf der Logistik beim Einplanen
Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.TherapyPlanAction; 
   using Isom.Context.Ecu; 
   ... 
   Boolean CompleteTherapyPlan () 
   { 
       TherapyPlan tp = TherapyPlan.GetInstance (); 
       TherapyPlanActionList tpal = tp.GetActions (); 

       while( tpal.HasNext() ) 
       { 
           TherapyPlanAction tpa = tpal.Next(); 
           System.Stdout( tpa.GetName().Append(" - ").Append( tpa.GetStates().Concat(",") ) ); 
           ... 
       } 
       ... 
   } 
Rückgabe:
Liste von Zuständen.
Isom.Plan.TherapyPlanAction.IsInsertable

Ermittelt, ob die Aktion aus ISOM-Sicht zum Therapieplan hinzufügbar ist.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.IsInsertable  (  ) 

Ermittelt, ob die Aktion aus ISOM-Sicht zum Therapieplan hinzufügbar ist.

Dafür wird insbesondere der vom Autor per [Editable[Ecu]Action(..., ..., Term)] vorgegebene Sichtbarkeitsterm ausgewertet.

Diese Flags sind im Therapieplan und den editierbaren Aktionen gesetzt.

Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.TherapyPlan; 
   using Isom.Plan.TherapyPlanAction; 
   using Isom.Plan.TherapyPlanActionList; 
   ... 
      CurrentVehicleContext currentContext = CurrentVehicleContext.GetInstance(); 
      EcuList ecuList = currentContext.GetEcus(); 
      while( ecuList.HasNext() ) 
      { 
          Ecu ecu = ecuList.Next(); 
          list = ecu.GetEditableActions(); 
          while(list.HasNext() ) 
          { 
              TherapyPlanAction action = list.Next(); 
              System.Stdout( action.GetActionText() ); 
              if( action.IsInsertable() ) 
                  System.Stdout("INSERTABLE"); 
              else 
                  System.Stdout("HIDDEN"); 
          } 
      } 
Rückgabe:
'true' wenn die Aktion sichtbar und einfügbar sein soll, 'false' sonst.
Isom.Plan.TherapyPlanAction.IsLogisticsConsistent

Liefert den Zustand bzgl Logistikinformationen

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.IsLogisticsConsistent  (  ) 

Liefert den Zustand bzgl Logistikinformationen

Die Funktion bestimmt, ob für die Aktion und ihre eventuellen Kinderknoten Logistikdaten abgefragt werden müssen und falls ja, ob bereits Logistikdaten abgefragt wurden.

   Isom.Base.Boolean FilterAction42 (Isom.Plan.TherapyPlanAction action) 
   { 
     if( action.IsLogisticsConsistent().Not() ) 
     { 
       //Logistikdaten nicht vorhanden, aber relevant 
     } 
     else 
     { 
       //Logistikdaten bereits vorhanden oder nicht relevant 
     } 

     //.. 

     return true; 
   } 
Rückgabe:
Isom.Base.Boolean
'true' Die Aktion ist Logistik-relevant und ihre Logistikdaten wurden abgefragt (das heißt es existiert eine zugehörige Logistikaktion oder ein zugehöriger Logistikplan).
'false' Die Aktion ist Logistik-relevant, ihre Logistikdaten wurden aber noch nicht abgefragt. (Sollte in der Regel während des ersten Filteraufrufs einer Logistik-relevanten Aktion der Fall sein)
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls die Aktion nicht logistikrelevant ist.
Es wird das Void-Objekt zurückgegeben, falls während der Ermittlung der Logistikrelevanz technische Fehler auftreten.
Siehe auch:
Isom.Plan.TherapyPlan.IsLogisticsConsistent()
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.IsPlanned

Prüft, ob die Editierbare Aktion als geplant markiert ist.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.IsPlanned  (  ) 

Prüft, ob die Editierbare Aktion als geplant markiert ist.

Zu beachten:
Die Markierung einer Editierbaren Aktion als geplant bewirkt normalerweise eine entsprechende Anzeige in den Dialogen zum Editieren des Therapieplans.
Die Funktion dient primär Test- und Protokollierungszwecken.
Rückgabe:
'true' wenn als geplant markiert, 'false' sonst.
Siehe auch:
Isom.Context.Ecu.GetEditableActions(), Isom.Plan.TherapyPlan.GetEditableActions() für die Ermittlung Editierbarer Aktionen.
Verwendungsbeispiel:
   TherapyPlanActionList list = tPlan.GetEditableActions(); 
   System.Stdout( "Folgende Aktionen sollten mit [x] angezeigt werden: " ); 
   list.Reset(); 
   while(list.HasNext() ) 
   { 
       TherapyPlanAction tpa = list.Next(); 
       if( tpa.IsPlanned() ) 
          System.Stdout( tpa.GetActionText()); 
   } 
Isom.Plan.TherapyPlanAction.IsRemoveable

Ermittelt, ob die Aktion aus ISOM-Sicht aus dem Therapieplan entfernbar ist.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.IsRemoveable  (  ) 

Ermittelt, ob die Aktion aus ISOM-Sicht aus dem Therapieplan entfernbar ist.

Diese Flags sind im Therapieplan und den editierbaren Aktionen gesetzt.

Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.TherapyPlan; 
   using Isom.Plan.TherapyPlanAction; 
   using Isom.Plan.TherapyPlanActionList; 
   ... 
      CurrentVehicleContext currentContext = CurrentVehicleContext.GetInstance(); 
      EcuList ecuList = currentContext.GetEcus(); 
      while( ecuList.HasNext() ) 
      { 
          Ecu ecu = ecuList.Next(); 
          list = ecu.GetEditableActions(); 
          while(list.HasNext() ) 
          { 
              TherapyPlanAction action = list.Next(); 
              System.Stdout( action.GetActionText() ); 
              if( action.IsRemoveable() ) 
                  System.Stdout("REMOVEABLE"); 
              else 
                  System.Stdout("HIDDEN"); 
          } 
      } 
Rückgabe:
'true' wenn die Aktion sichtbar und entfernbar sein soll, 'false' sonst.
Isom.Plan.TherapyPlanAction.IsVirtual

Ermittelt, ob die Aktion eine virtuelle Aktion, das heißt ein nicht-Blatt-Knoten im Therapiebaum, ist.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.IsVirtual  (  ) 

Ermittelt, ob die Aktion eine virtuelle Aktion, das heißt ein nicht-Blatt-Knoten im Therapiebaum, ist.

Siehe auch:
Erläuterungen zu Isom.Plan.TherapyPlanAction oben
Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.TherapyPlan; 
   using Isom.Plan.TherapyPlanAction; 
   using Isom.Plan.TherapyPlanActionList; 
   ... 
      TherapyPlan tp = TherapyPlan.GetInstance(); 
      TherapyPlanActionList tpal = tp.GetActions(); 
      while( tpal.HasNext() ) 
      { 
          TherapyPlanAction tpa = tpal.Next(); 
          if( tpa.IsVirtual().Not() ) 
              tpa. ... (); 
      } 
Rückgabe:
'true' wenn die Aktion virtuell ist, 'false' wenn die Aktion konkret ist.
Isom.Plan.TherapyPlanAction.IsVoid

Bestimmt, ob die Aufrufinstanz das Void-Objekt ist.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.IsVoid  (  ) 

Bestimmt, ob die Aufrufinstanz das Void-Objekt ist.

Das Void-Objekt kann z. B. bei Funktionsaufrufen geliefert werden, um einen Fehler anzuzeigen.

Rückgabe:
Isom.Base.Boolean
'true', falls dies das Void-Objekt ist, 'false' sonst
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.Purge

Markiert die Aktion oder alle Aktionen im Teilbaum als "nicht einzuplanen" / "nicht auszuführen".

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.Purge  (  ) 

Markiert die Aktion oder alle Aktionen im Teilbaum als "nicht einzuplanen" / "nicht auszuführen".

Veraltet:
Veraltet seit Argonaut 1.10. TherapyPlanAction.Purge() soll in künftigen Versionen durch Mechanismen ersetzt werden, die auf TherapyPlanAction.RemoveFromPlan() basieren.
Achtung:
Die Änderung des Ausführungsstatuses von Aktionen im Therapieplan kann die Logistikkonsistenz zerstören!
Das Ausblenden mittels Purge()-Aufrufen bewirkt auch eine Unterdrückung der Aktion in künftigen Logistikplänen (sogenannte Persistente Wirkung der Purge()s). Dies kann rückgängig gemacht werden, indem die Aktionen mittels RemoveFromPlan() endgültig aus dem Plan gelöscht werden oder indem eine gleiche Aktion neu zu Therapieplan hinzugefügt wird.
Siehe auch:
Isom.Plan.TherapyPlanAction.RemoveFromPlan()
Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.ActionPlan; 
   ... 
      TherapyPlanAction tpa = ...; 
      Ecu               ecu   = tpa.GetEcu(); 
      StringList        hardwareDAs = ...; 

      if( hardwareDAs.Contains( ecu.GetEcuAddress().ToIntString() ) ) 
      { 
          // Aktion jetzt und künftig unterdrücken 
          if( tpa.Purge().Failed() ) 
          { 
              ... 
          } 

          // Logistik-Neuberechnung 
          if (FutureVehicleContext.GetInstance().RecalcPlanAfterReassembly ("").Failed ()) 
          { 
              ... 
          } 
      } 
Rückgabe:
'true' wenn Aktion erfolgreich entfernt, 'false' sonst.
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls für die Aktion kein Einfüge-Zusammenhang vorhanden ist.
Isom.Plan.TherapyPlanAction.RemoveFromPlan

Entfernt eine Aktion technisch von der Stelle, an der sie momentan eingefügt ist (beispielsweise aus dem Therapieplan).

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.RemoveFromPlan  (  ) 

Entfernt eine Aktion technisch von der Stelle, an der sie momentan eingefügt ist (beispielsweise aus dem Therapieplan).

Achtung:
Eventuelle Änderungen am Soll-Kontext (Fahrzeugauftrag, SG-Liste), die mit der ürsprünglichen Aktionsplanung verbunden waren, werden nicht automatisch rückgängig gemacht, sondern es wird rein technisch der Knoten aus der Datenstruktur entfernt.
Entfernen von Aktionen aus dem Therapieplan kann die Logistikkonsistenz zerstören!
Bei Entfernen von Teilbäumen aus Logistikplänen können die entfernten Aktionen in künftigen Logistikplänen erneut geplant werden.
Zu beachten:
Der gesamte Therapieplan kann durch Löschen des Root-Elements, beispielsweise mittels TherapyPlan.GetInstance().GetActions().At(0).RemoveFromPlan() geleert werden.
Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.ActionPlan; 
   ... 
      TherapyPlanAction tpa = ...; 
      Ecu               ecu   = tpa.GetEcu(); 
      StringList        hardwareDAs = ...; 

      if( hardwareDAs.Contains( ecu.GetEcuAddress().ToIntString() ) ) 
      { 
          // Aktion entfernen 
          if( tpa.RemoveFromPlan().Failed() ) 
          { 
              ... 
          } 

          // Logistik-Neuberechnung 
          if (FutureVehicleContext.GetInstance().RecalcPlanAfterReassembly ("").Failed ()) 
          { 
              ... 
          } 
      } 
Rückgabe:
'true' wenn Aktion erfolgreich entfernt werden konnte, 'false' sonst.
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls für die Aktion kein Einfüge-Zusammenhang vorhanden ist.
Siehe auch:
Isom.Plan.TherapyPlanAction.Purge() für persistent wirksames Ausblenden.
Isom.Plan.TherapyPlan.Remove() für Entfernen ganzer Teilbäume mit neuberechnung der Soll-Kontexte.
Isom.Plan.TherapyPlanAction.Run

Führt eine einzelne Aktion aus.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.Run  (  ) 

Führt eine einzelne Aktion aus.

Die Aktion kann mit dieser Funktion außerhalb eines Aktionsplans ausgeführt werden (beispielsweise für Diagnose-Aktionen).

   Isom.Plan.TherapyPlan tp = Isom.Plan.TherapyPlan.GetInstance(); 
   Isom.Plan.TherapyPlanAction action = tp.CreateAction("ImmediateAction42"); 

   //.. 

   if (action.Run().Failed()) 
   { 
     //Fehlerbehandlung 
   } 
Rückgabe:
Isom.Base.Boolean
'true', wenn erfolgreich, 'false', sonst
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.SetActivationCode

Setzt den Freischaltcode, auf den sich die Aktion bezieht.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetActivationCode  ( Isom.Plan.ActivationCode  ac  ) 

Setzt den Freischaltcode, auf den sich die Aktion bezieht.

Verwendungsbeispiel:
 using Isom.Base.*; 
 using Isom.Context.*; 
 ... 
 // Freischaltcode auf Activate-Aktion übertragen 
 ActivationCode ac = ActivationCode.CreateSwtActivationCode (appNumber, upgradeIndex); 
 activateAction.SetActivationCode (ac); 
 ... 
Rückgabe:
'true' wenn erfolgreich, 'false' sonst.
Isom.Plan.TherapyPlanAction.SetCanRunOnly

Setzt fest, ob die Aktion bereits während der Planungsphase ausgeführt werden kann.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetCanRunOnly  ( Isom.Base.Boolean  CanRunOnly  ) 

Setzt fest, ob die Aktion bereits während der Planungsphase ausgeführt werden kann.

Rückgabe:
'true' wenn erfolgreich, 'false' sonst.
Isom.Plan.TherapyPlanAction.SetComment

Legt den autorendefinierten Kommentar zur Ausführung der Aktion fest.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetComment  ( Isom.Base.String  comment  ) 

Legt den autorendefinierten Kommentar zur Ausführung der Aktion fest.

Parameter:
comment  Ein Kommentar zum Ablauf der Ausführung dieser Aktion.
Verwendungsbeispiel:
   using Isom.Base.*; 
   using Isom.Plan.*; 
   ... 

   Boolean DoFlash ( TherapyPlanAction action ) 
   { 
       // Defaultimplementierung aufrufen 
       if (ProcBasic.BasicDoFlash (action).Failed ()) 
       { 
           action.SetComment("Keine weiteren Maßnahmensteigerungsstufen definiert"); 

           Log.Error ("", "Ausführung von BasicDoFlash fehlgeschlagen."); 
           // Funktion fehlgeschlagen 
           return false; 
       } 
       //Funktion erfolgreich 
       return true; 
   } // function: DoFlash () 

Rückgabe:
Immer 'true'.
Isom.Plan.TherapyPlanAction.SetContinueOnError

Setzt das Verhalten des Therapieplan-orientierten Abbruchmodells für diese Aktion.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetContinueOnError  ( Isom.Base.Boolean  value  ) 

Setzt das Verhalten des Therapieplan-orientierten Abbruchmodells für diese Aktion.

Mit dieser Funktion lässt sich steuern, ob nach einem Fehler bei Ausführung der Aktion weitere Aktionen des Therapieplans ausgeführt werden dürfen.

   Isom.Base.Boolean DoFlash (Isom.Plan.TherapyPlanAction action) 
   { 
     action.SetContinueOnError(true); 

     //Aktionsausführung 

     return true; 
   } 
Parameter:
value  wenn 'true' wird bei Fehlschlag der Aktion mit anderen Aktionen im Therapiebaum fortgefahren; wenn 'false' wird bei Fehlschlag der Aktion nicht mit anderen Aktionen im Therapiebaum fortgefahren.
Rückgabe:
Isom.Base.Boolean
Immer 'true'
Siehe auch:
Isom.Plan.TherapyPlanAction.GetContinueOnError() für die zugehörige Getter-Funktion.
Annotation [ContinueOnError]
Isom.Plan.TherapyPlanAction.SetContinueWithEcuOnError() für Steuergeräte-bezogenes Abbruchmodell.
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.SetContinueWithEcuOnError

Setzt das Verhalten des Steuergeräte-orientierten Abbruchmodells für diese Aktion.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetContinueWithEcuOnError  ( Isom.Base.Boolean  value  ) 

Setzt das Verhalten des Steuergeräte-orientierten Abbruchmodells für diese Aktion.

Mit dieser Funktion lässt sich steuern, ob nach einem Fehler bei Ausführung der Aktion weitere Aktionen für das Steuergerät ausgeführt werden dürfen.

   Isom.Base.Boolean DoFlash (Isom.Plan.TherapyPlanAction action) 
   { 
     action.SetContinueWithEcuOnError(true); 

     //Aktionsausführung 

     return true; 
   } 
Parameter:
value  wenn 'true', wird bei Fehlschlag der Aktion mit anderen Aktionen für dieses Steuergerät fortgefahren; wenn 'false', wird bei Fehlschlag der Aktion nicht mit anderen Aktionen für dieses Steuergerät fortgefahren.
Rückgabe:
Isom.Base.Boolean
Immer 'true'
Siehe auch:
Isom.Plan.TherapyPlanAction.GetContinueWithEcuOnError() für die zugehörige Getter-Funktion.
Annotation [ContinueWithEcuOnError]
Isom.Plan.TherapyPlanAction.SetContinueOnError() für Therapieplan-bezogenes Abbruchmodell.
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.SetDependantActionsToRefilter

Setzt Aktionen, die neu gefiltert werden müssen, wenn die aktuelle Aktion entfernt wird.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetDependantActionsToRefilter  ( Isom.Plan.TherapyPlanActionList  dependantActions  ) 

Setzt Aktionen, die neu gefiltert werden müssen, wenn die aktuelle Aktion entfernt wird.

Die Liste wird vom ISOM-Kern aktualisiert, wenn Aktionen zum Therapieplan hinzugefügt oder aus dem Therapieplan entfernt werden. Die Liste muss deshalb nach jedem manuellen Editieren des Therapieplans neu gesetzt/aktualisiert werden, wenn die ISOM-Vorinitialisierung überschrieben werden soll.

   Isom.Base.Boolean FilterAction42 (Isom.Plan.TherapyPlanAction action) 
   { 
     Isom.Plan.TherapyPlanActionList dependantActions = Isom.Plan.TherapyPlanActionList.CreateNew(); 

     //.. 

     if(action.SetDependantActionsToRefilter(dependantActions).Failed()) 
     { 
       //Fehlerbehandlung 
     } 

     //.. 

     return true; 
   } 
Parameter:
dependantActions  Abhängige Aktionen, die nach einem Entfernen dieser Aktion neu gefiltert werden müssen oder Isom.Plan.TherapyPlanActionList.Void()
Rückgabe:
Isom.Base.Boolean
'true', wenn die Liste erfolgreich übernommen werden konnte
'false'sonst
Siehe auch:
Isom.Plan.TherapyPlanAction.GetDependantActionsToRefilter()
Isom.Plan.TherapyPlanAction.SetDependantActionsToRemove()
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.SetDependantActionsToRemove

Setzt Aktionen, die mit entfernt werden müssen, wenn die aktuelle Aktion entfernt wird.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetDependantActionsToRemove  ( Isom.Plan.TherapyPlanActionList  dependantActions  ) 

Setzt Aktionen, die mit entfernt werden müssen, wenn die aktuelle Aktion entfernt wird.

Die Liste wird vom ISOM-Kern aktualisiert, wenn Aktionen zum Therapieplan hinzugefügt oder aus dem Therapieplan entfernt werden. Die Liste muss deshalb nach jedem manuellen Editieren des Therapieplans neu gesetzt/aktualisiert werden, wenn die ISOM-Vorinitialisierung überschrieben werden soll.

   Isom.Base.Boolean FilterAction42 (Isom.Plan.TherapyPlanAction action) 
   { 
     Isom.Plan.TherapyPlanActionList dependantActions = Isom.Plan.TherapyPlanActionList.CreateNew(); 

     //.. 

     if(action.SetDependantActionsToRemove(dependantActions).Failed()) 
     { 
       //Fehlerbehandlung 
     } 

     //.. 

     return true; 
   } 
Parameter:
dependantActions  Abhängige Aktionen, die mit entfernt werden müssen oder Isom.Plan.TherapyPlanActionList.Void()
Rückgabe:
Isom.Base.Boolean
'true', wenn die Liste erfolgreich übernommen werden konnte
'false'sonst
Siehe auch:
Isom.Plan.TherapyPlanAction.GetDependantActionsToRemove()
Isom.Plan.TherapyPlanAction.SetDependantActionsToRefilter()
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.SetDisplayProp

Setzt den Wert der vorgegebenen Anzeigeeigenschaft für für die Aktion.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetDisplayProp  ( Isom.Base.String  propName,
Isom.Base.String  propValue  )

Setzt den Wert der vorgegebenen Anzeigeeigenschaft für für die Aktion.

Zu beachten:
Die unterstützten Eigenschaftsnamen sind in den herstellerspezifischen Begleitdokumenten zu finden.
Es gilt die Initialisierungsreihenfolge: ContextConfiguration -> CurrentVehicleContext -> FutureVehicleContext
Verwendungsbeispiel:
   // Consts.is: 
   deftext INTERNAL FLASH_ACTION "Programmieren" 

   // *.is: 
   using Isom.Base.* 
   ... 
      Ecu ecu = ... 
      if( ecu.GetDisplayProp( "ACTION_TYPE" ).IsVoid() ) 
        ecu.SetDisplayProp( "ACTION_TYPE", FLASH_ACTION ); 
Rückgabe:
'true' nach erfolgreichem Setzen. 'false' niemals.
Siehe auch:
Isom.Plan.TherapyPlanAction.GetDisplayProp()
Isom.Plan.TherapyPlanAction.SetDisplayState

Legt den Anzeigezustand der Aktion fest.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetDisplayState  ( Isom.Base.String  displayState  ) 

Legt den Anzeigezustand der Aktion fest.

Folgende Zustände sind zulässig:

  • "Isom.Display.ToDo"
  • "Isom.Display.FailedDependency"
  • "Isom.Display.Successful"
  • "Isom.Display.Failed"
  • "Isom.Display.Attention"
  • "Isom.Display.Suppress"
  • "Isom.Display.Default"

Verwendungsbeispiel:
 using Isom.Base.*; 
 using Isom.Context.*; 
 using Isom.Global.Config; 
 ... 
 // Anzeigezustand setzen 
           TherapyPlan tp = TherapyPlan.GetInstance (); 
           TherapyPlanActionList tpal = tp.GetActions (); 
           tpal.Reset (); 
           while (tpal.HasNext ()) 
           { 
               TherapyPlanAction tpa = tpal.Next (); 
               if (tpa.GetName ().Equals ("Replace")) 
               { 
                   tpa.SetDisplayState (Consts.ACTIONSTATE_ISOM_DISPLAY_ATTENTION); 
               } 
           } ... 

Rückgabe:
'true' wenn der Anzeigezustand gesetzt werden konnte, 'false' wenn displayState einen unzulässigen Anzeigezustand bezeichnet.
Isom.Plan.TherapyPlanAction.SetEcu

Ändert das betroffene Steuergerät unter Erhaltung der restlichen Aktionsinformationen.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetEcu  ( Isom.Context.Ecu  newEcu  ) 

Ändert das betroffene Steuergerät unter Erhaltung der restlichen Aktionsinformationen.

Rückgabe:
'true' wenn erfolgreich, 'false' sonst.
Ausnahmebehandlung:
Es wird das Void-Objekt zurückgegeben, falls der Parameter Void ist.
Es wird das Void-Objekt zurückgegeben, falls die Aktion nicht steuergerätebezogen ist.
Isom.Plan.TherapyPlanAction.SetEstimatedRuntime

Setzt die prognostizierte Laufzeit für die Aktion in Sekunden.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetEstimatedRuntime  ( Isom.Base.Number  seconds  ) 

Setzt die prognostizierte Laufzeit für die Aktion in Sekunden.

Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.TherapyPlanAction; 
   using Isom.Context.Ecu; 
   ... 
   Boolean BasicReplace( TherapyPlanAction action ) 
   { 
       TherapyPlan tp = TherapyPlan.GetInstance(); 

       // Der Tausch des ACC dauert erfahrungsgemäß 10min. 
       action.SetEstimatedRuntime( 600 ); 
       return BasicFilterReplace( action ); 
   } 
Parameter:
seconds  Zu setzende Ausführungszeitprognose
  • wenn >=0 wird die Ausführungszeitprognose auf den Wert gesetzt
  • wenn <0 wird eine vorher gesetzte Ausführungszeitprognose gelöscht.
Rückgabe:
Prognostizierte Laufzeit in Sekunden.
Isom.Plan.TherapyPlanAction.SetExecutedByIsom

Legt fest, ob die Aktion durch eine Ausführungsfunktion ausgeführt wird.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetExecutedByIsom  ( Isom.Base.Boolean  byIsom  ) 

Legt fest, ob die Aktion durch eine Ausführungsfunktion ausgeführt wird.

Eine Ausführungsfunktion wird in ISOM/L implementiert. Ihr Name besteht aus Do und dem Namen der Aktion. Für Aktionen, die im Rahmen einer asynchronen Phase ausgeführt werden, wird z. B. keine Ausführungsfunktion aufgerufen.

   Isom.Base.Boolean FilterActivate (Isom.Plan.TherapyPlanAction action) 
   { 
     //Ausführung durch Ausführungsfunktion 
     action.SetExecutedByIsom(true); 

     //Filtern 

     return true; 
   } 
Parameter:
byIsom  'true': Die Aktion wird ausgeführt, indem ISOM die entsprechende Ausführungsfunktion aufruft. Die Funktion scheitert, wenn diese Funktion nicht existiert. 'false': ISOM ruft keine Ausführungsfunktion auf.
Rückgabe:
Isom.Base.Boolean
'true', wenn die Einstellung erfolgreich verändert wurde oder keine Veränderung erforderlich war
'false', wenn die Einstellung nicht übernommen wurde
Siehe auch:
Isom.Plan.TherapyPlanAction.GetExecutedByIsom() für die zugehörige Getter-Funktion.
Datum:
letzte Änderung am 10.09.2010
Isom.Plan.TherapyPlanAction.SetFlashFlags

Legt die Flags für den Flashvorgang fest.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetFlashFlags  ( Isom.Base.Number  Flags  ) 

Legt die Flags für den Flashvorgang fest.

Die Flags werden durch eine ganze Zahl repräsentiert.

Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       action.SetFlashFlags(42); 
Rückgabe:
Immer 'true'.
Isom.Plan.TherapyPlanAction.SetLogicalUnits

Setzt die Liste der logischen Einheiten, die von der Aktion betroffen sind.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetLogicalUnits  ( Isom.Context.LogicalUnitList  logicalUnits  ) 

Setzt die Liste der logischen Einheiten, die von der Aktion betroffen sind.

Verwendungsbeispiel:
            
Rückgabe:
Liste der logischen Einheiten, die von der Aktion betroffen sind Die Liste kann leer sein, aber nicht das Void-Objekt
Isom.Plan.TherapyPlanAction.SetLogicalVehicles

Setzt die Liste verwendbarer logischer Fahrzeuge.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetLogicalVehicles  ( Isom.Context.LogicalVehicleList  lvList  ) 

Setzt die Liste verwendbarer logischer Fahrzeuge.

Zu beachten:
Über diese logischen Fahrzeuge wird bei Fahrzeugzugriffen während der Aktionsausführung iteriert.
Die Reihenfolge der logischen Fahrzeuge in der Liste bestimmt über die Zugriffsreihenfolge.
   Isom.Plan.TherapyPlanAction tpa = ...; 
   Isom.Context.LogicalVehicleList lvList = ...; 
   Isom.Base.Boolean result = tpa.SetLogicalVehicles(lvList); 
Parameter:
lvList  (Isom.Context.LogicalVehicleList)
Liste verwendbarer logischer Fahrzeuge
Rückgabe:
Isom.Base.Boolean
true, falls Setzen erfolgreich
false nie.
Siehe auch:
Isom.Plan.TherapyPlanAction.GetLogicalVehicles
Seit:
Eingeführt mit BZ-12385/BZ-12497/WA-588-5637 (Mischbordnetze).
Datum:
letzte Änderung am 29.06.2011
Isom.Plan.TherapyPlanAction.SetManuallyPlanned

Legt fest, ob eine Aktion manuell angewiesen wurde.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetManuallyPlanned  ( Isom.Base.Boolean  manuallyPlanned  ) 

Legt fest, ob eine Aktion manuell angewiesen wurde.

Diese mit dieser Funktion vorgenommene Einstellung hat Vorrang vor dem Kriterium, ob eine Aktion direkt eingefügt wurde.

Parameter:
manuallyPlanned  Gibt an, ob die Aktion als manuell eingeplant oder als nicht manuell eingeplant gelten soll
Rückgabe:
true, wenn der Wert von manuallyPlanned erfolgreich übernommen wurde, sonst false
Datum:
letzte Änderung am 12.10.2010
   Isom.Plan.TherapyPlan tp = Isom.Plan.TherapyPlan.GetInstance(); 
   Isom.Plan.TherapyPlanAction sampleAction = tp.CreateEcuAction("SampleAction", ecu); 

   // Festlegen, dass diese Aktion nicht manuell angewiesen wurde 
   sampleAction.SetManuallyAdded(false); 

Isom.Plan.TherapyPlanAction.SetOrderingInfoList

Setzt die Bestellinformationen für das Steuergerät.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetOrderingInfoList  ( Isom.Plan.OrderingInfoList  infoList  ) 

Setzt die Bestellinformationen für das Steuergerät.

Verwendungsbeispiel:
 using Isom.Base.*; 
 using Isom.Context.*; 
 ... 
 // Liste der Bestellinformationen an eine Aktion weiterreichen 
 if (Action.SetOrderingInfoList (oiList).Failed ()) 
 { 
     Log.Warning ("", "Liste der Bestellinformationen konnte nicht an die " \ 
                      "Aktion weitergereicht werden."); 
 } ... 
Rückgabe:
'true' oder Void.
Isom.Plan.TherapyPlanAction.SetPhase

Legt ein Sortierkriterium für die Aktionsplanphase fest, das stets über getrennte Aktionsplanphasen (Phasenbruch) erzwungen wird.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetPhase  ( Isom.Base.Number  phase  ) 

Legt ein Sortierkriterium für die Aktionsplanphase fest, das stets über getrennte Aktionsplanphasen (Phasenbruch) erzwungen wird.

Der vorgegebene Sortierindex ist eine ganze Zahl. Es wird normalerweise von der Logistik festgelegt, kann aber vom Autor angegeben werden. Ein kleinerer Sortierindex bewirkt eine frühere Ausführung der Aktion.

Achtung:
Vom Autor gesetzte Werte können von der Logistik wieder überschrieben werden. Es liegt in der Verantwortung des Autors dies ggf. durch eine geeignete Aufrufreihenfolge zu berücksichtigen.

Die Abbildungen für die systemseitig ermittelten Sortierkriterien sind in den herstellerspezifischen Begleitdokumenten zu finden.

Es gelten folgende Zusicherungen bzgl. der Parallelausführung:
(1) Zwei beliebige Aktionen mit verschiedenen Phasenindizes werden in der getrennten Phasen und daher stets sequentiell zueinander ausgeführt. Phasenindizes werden dabei aufsteigend sortiert.
(2) Zwei beliebige Aktionen mit gleichem Phasenindex,aber verschiedenen Prioritäten werden innerhalb derselben Phase und im selben Aktionsplanpfad und damit stets sequentiell ausgeführt, soweit dies mit den Kanalvorgaben der Aktionen vereinbar ist. Lassen die Kanalvorgaben dies nicht zu, wird die Sequentialität erzwungen, indem die Aktionen in verschiedenen Aktionsplanphasen eingeplant werden (Phasenbruch). Prioritätsindizes werden dabei aufsteigend sortiert.
(3) Zwei beliebige Aktionen mit gleichem Phasenindex, gleicher Priorität aber verschiedenen Sequenzindizes werden innerhalb der gleichen Phase ausgeführt. Werden beide Aktionen über denselben nebenläufigen Kanal ausgeführt, erfolgt ihre Ausführung sequentiell innerhalb jedes Ausführungspfades nach aufsteigendem Sequenzindex. Werden sie über verschiedene nebenläufige Kanäle ausgeführt, können sie parallel ausgeführt werden. Sequenzindizes werden dabei aufsteigend sortiert.

Technische Details zur Aktionsplanung und -ausführung sind im Fach-IV-Konzept ISOM, Teil III beschrieben.

Parameter:
phase  Sortierindex für die Aktionsplanphase (aufsteigend sortiert).
Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       action.SetPhase(42); 
Siehe auch:
Isom.Plan.TherapyPlanAction.SetPriority.
Isom.Plan.TherapyPlanAction.SetSequence.
Rückgabe:
Immer 'true'.
Isom.Plan.TherapyPlanAction.SetPossibleLChannels

Setzt die für die Aktionsausführung alternativ zueinander zulässigen L-Kanäle.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetPossibleLChannels  ( Isom.Base.StringList  list  ) 

Setzt die für die Aktionsausführung alternativ zueinander zulässigen L-Kanäle.

Verwendungsbeispiel:
 possibleLChannels = ... 
 action.SetPossibleLChannels(possibleLChannels); 
Rückgabe:
Liste der zulässigen L-Kanäle.
Isom.Plan.TherapyPlanAction.SetPriority

Legt den Sortierindex für die Aktionsausführung ab, der innerhalb der Aktionsplanphase durch Kanalauswahl oder durch Trennung der Aktionsplanphasen (Phasenbruch) erzwungen wird.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetPriority  ( Isom.Base.Number  priority  ) 

Legt den Sortierindex für die Aktionsausführung ab, der innerhalb der Aktionsplanphase durch Kanalauswahl oder durch Trennung der Aktionsplanphasen (Phasenbruch) erzwungen wird.

Der Sortierindex ist eine ganze Zahl. Er wird von einigen Logistiken festgelegt, kann aber vom Autor angegeben werden.

Achtung:
Vom Autor gesetzte Werte können von der Logistik wieder überschrieben werden. Es liegt in der Verantwortung des Autors dies ggf. durch eine geeignete Aufrufreihenfolge zu berücksichtigen.

Die Abbildungen für die systemseitig ermittelten Sortierindizes sind in den herstellerspezifischen Begleitdokumenten zu finden.

Es gelten folgende Zusicherungen bzgl. der Parallelausführung:
(1) Zwei beliebige Aktionen mit verschiedenen Phasenindizes werden in der getrennten Phasen und daher stets sequentiell zueinander ausgeführt. Phasenindizes werden dabei aufsteigend sortiert.
(2) Zwei beliebige Aktionen mit gleichem Phasenindex,aber verschiedenen Prioritäten werden innerhalb derselben Phase und im selben Aktionsplanpfad und damit stets sequentiell ausgeführt, soweit dies mit den Kanalvorgaben der Aktionen vereinbar ist. Lassen die Kanalvorgaben dies nicht zu, wird die Sequentialität erzwungen, indem die Aktionen in verschiedenen Aktionsplanphasen eingeplant werden (Phasenbruch). Prioritätsindizes werden dabei aufsteigend sortiert.
(3) Zwei beliebige Aktionen mit gleichem Phasenindex, gleicher Priorität aber verschiedenen Sequenzindizes werden innerhalb der gleichen Phase ausgeführt. Werden beide Aktionen über denselben nebenläufigen Kanal ausgeführt, erfolgt ihre Ausführung sequentiell innerhalb jedes Ausführungspfades nach aufsteigendem Sequenzindex. Werden sie über verschiedene nebenläufige Kanäle ausgeführt, können sie parallel ausgeführt werden. Sequenzindizes werden dabei aufsteigend sortiert.

Technische Details zur Aktionsplanung und -ausführung sind im Fach-IV-Konzept ISOM, Teil III beschrieben.

Parameter:
priority  Aktionsplanpfad-übergreifender Sortierindex (aufsteigend sortiert).
Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       action.SetPriority(42); 
Siehe auch:
Isom.Plan.TherapyPlanAction.SetPhase.
Isom.Plan.TherapyPlanAction.SetSequence.
Rückgabe:
Immer 'true'.
Isom.Plan.TherapyPlanAction.SetProp

Setzt den Wert der generischen Eigenschaft (property) für die Aktion.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetProp  ( Isom.Base.String  propName,
Isom.Base.String  propValue  )

Setzt den Wert der generischen Eigenschaft (property) für die Aktion.

Die systemseitig ermittelten Eigenschaftsnamen sind in den herstellerspezifischen Begleitdokumenten zu finden.

Verwendungsbeispiel:
   using Isom.Base.*; 
   ... 
      String propName = "ErrorX"; 
      if( action.GetProp(propName).IsVoid() ) 
        action.SetProp( propName, "5" ); 
Rückgabe:
immer 'true'
Isom.Plan.TherapyPlanAction.SetRemoveable

Markiert die Aktion als aus dem Therapieplan entfernbar.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetRemoveable  ( Isom.Base.Boolean  isRemoveable  ) 

Markiert die Aktion als aus dem Therapieplan entfernbar.

Diese Flags werden im Therapieplan und den editierbaren Aktionen gesetzt.

Zu beachten:
ISOM entfernt immer den kompletten TOP-Level-Subbaum. Als identifizierende Aktion kann jedoch angegeben werden
  • der Top-Level-Baumknoten
  • ein beliebiger als IsRemoveable gekennzeichneter Subknoten.
Verwendungsbeispiel:
   using Isom.Base.* 
   using Isom.Plan.TherapyPlan; 
   using Isom.Plan.TherapyPlanAction; 
   using Isom.Plan.TherapyPlanActionList; 
   ... 
      Boolean BasicFilterFlash( TherapyPlanAction action ) 
      { 
          TherapyPlan tp = TherapyPlan.GetInstance(); 
          Ecu ecu = action.GetEcu(); 

          // Programmieraktionen auf Steuergeräten ohne freie AIF-Felder werden 
          // in Tauschaktionen ("Replace") umgewandelt. 
          if( ecu.GetUifFree().Lt( 1 ) ) 
          { 
              TherapyPlanAction replaceAction = tp.CreateEcuAction( "Replace", ecu ); 
              replaceAction.SetRemoveable( action.IsRemoveable() ); 
              return tp.Add( replaceAction ); 
          } 
      } 
Rückgabe:
'true' im Erfolgsfall (derzeit immer), 'false' sonst.
Isom.Plan.TherapyPlanAction.SetSequence

Legt den Sortierindex für die Aktionsausführung ab, der innerhalb desselben Aktionsplanpfades erzwungen wird.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetSequence  ( Isom.Base.Number  sequence  ) 

Legt den Sortierindex für die Aktionsausführung ab, der innerhalb desselben Aktionsplanpfades erzwungen wird.

Der Sortierindex ist eine ganze Zahl. Er wird normalerweise von der Logistik festgelegt, kann aber vom Autor angegeben werden.

Achtung:
Vom Autor gesetzte Werte können von der Logistik wieder überschrieben werden. Es liegt in der Verantwortung des Autors dies ggf. durch eine geeignete Aufrufreihenfolge zu berücksichtigen.

Die Abbildungen für die systemseitig ermittelten Sortierindizes sind in den herstellerspezifischen Begleitdokumenten zu finden.

Es gelten folgende Zusicherungen bzgl. der Parallelausführung:
(1) Zwei beliebige Aktionen mit verschiedenen Phasenindizes werden in der getrennten Phasen und daher stets sequentiell zueinander ausgeführt. Phasenindizes werden dabei aufsteigend sortiert.
(2) Zwei beliebige Aktionen mit gleichem Phasenindex,aber verschiedenen Prioritäten werden innerhalb derselben Phase und im selben Aktionsplanpfad und damit stets sequentiell ausgeführt, soweit dies mit den Kanalvorgaben der Aktionen vereinbar ist. Lassen die Kanalvorgaben dies nicht zu, wird die Sequentialität erzwungen, indem die Aktionen in verschiedenen Aktionsplanphasen eingeplant werden (Phasenbruch). Prioritätsindizes werden dabei aufsteigend sortiert.
(3) Zwei beliebige Aktionen mit gleichem Phasenindex, gleicher Priorität aber verschiedenen Sequenzindizes werden innerhalb der gleichen Phase ausgeführt. Werden beide Aktionen über denselben nebenläufigen Kanal ausgeführt, erfolgt ihre Ausführung sequentiell innerhalb jedes Ausführungspfades nach aufsteigendem Sequenzindex. Werden sie über verschiedene nebenläufige Kanäle ausgeführt, können sie parallel ausgeführt werden. Sequenzindizes werden dabei aufsteigend sortiert.

Technische Details zur Aktionsplanung und -ausführung sind im Fach-IV-Konzept ISOM, Teil III beschrieben.

Parameter:
sequence  Sortierindex innerhalb des Aktionsplanpfades (aufsteigend sortiert).
Verwendungsbeispiel:
 using Isom.Plan.*; 
 ... 
       TherapyPlanAction action; 
       // ... 
       action.SetSequence(42); 
Siehe auch:
Isom.Plan.TherapyPlanAction.SetPhase.
Isom.Plan.TherapyPlanAction.SetPriority.
Rückgabe:
Immer 'true'.
Isom.Plan.TherapyPlanAction.SetState

Legt den Ausführungszustand der Aktion fest.

objectbound Isom.Base.Boolean Isom.Plan.TherapyPlanAction.SetState  ( Isom.Base.String  execState  ) 

Legt den Ausführungszustand der Aktion fest.

Folgende Zustände sind zulässig:

  • Ausgangszustände:
    1. "Isom.Execution.ToDo" (zur Ausführung durch ISOM vorgesehen)
  • Finalzustände:
    1. "Isom.Execution.Purged" (als inaktiv markiert)
    2. "Isom.Execution.FailedDependency" (Vorbedingung nicht erfüllt)
    3. "Isom.Execution.Successful" (ohne Fehler beendet)
    4. "Isom.Execution.Failed" (mit Fehler(n) beendet)

Achtung:
Die Änderung von Aktionszuständen verändert u.U. tiefgehend den Therapieablauf!
Zu beachten:
TherapyPlanAction.SetState() ist primär für die Reaktivierung bereits ausgeführter Aktionen vorgesehen.
Die Änderungen werden nicht automatisch im Aktionsplan berücksichtigt, das heißt es ist ggf. ein Aufruf von ActionPlan.DoTp2Ap() notwendig.
Verwendungsbeispiel:
   TherapyPlan tp = TherapyPlan.GetInstance (); 
   TherapyPlanActionList tpal = tp.GetActions (); 
   tpal.Reset (); 
   while (tpal.HasNext ()) 
   { 
       TherapyPlanAction tpa = tpal.Next (); 
       if( tpa. ... ) 
       { 
            tpa.SetState( "Isom.Execution.ToDo" ); 
            ap.DoTp2Ap (); // ggf. Aktion in neue AP.Phase planen 
            break; 
       } 
   } 
Rückgabe:
'true' wenn der Ausführungszustand gesetzt werden konnte, 'false' wenn execState einen unzulässigen Ausführungszustand bezeichnet.
Isom.Plan.TherapyPlanAction.Void

Erzeugt ein Void-Objekt.

Isom.Plan.TherapyPlanAction Isom.Plan.TherapyPlanAction.Void  (  ) 

Erzeugt ein Void-Objekt.

Die Funktion kann in Fehlerfällen verwendet werden, um beispielsweise einen ungültigen Funktionsrückgabewert zu erzeugen.

Rückgabe:
Isom.Plan.TherapyPlanAction
Die Funktion liefert immer ein Void-Objekt.
Ausnahmebehandlung:
Void wird von dieser Funktion immer geliefert.
Datum:
letzte Änderung am 10.09.2010

Version 9.10.1.0 vom 25 November 2013