Objektverwaltung:Makros: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 133: | Zeile 133: | ||
[[image:Fw_Makrodesigner_Meldung_Warnung.jpg|thumb|center|Framework, Makro - Meldung - Warnung]] | [[image:Fw_Makrodesigner_Meldung_Warnung.jpg|thumb|center|Framework, Makro - Meldung - Warnung]] | ||
|} | |} | ||
==Fortsetzungsbedingung== | |||
Die Fortsetzungsbedingung dient dazu, um die Weiterführung des Makros steuern zu können. Wird sie aktiv geschalten, muss die Bedingung zutreffen, um mit dem Makro fortzufahren. Trifft die Bedingung nicht zu, wird das Makro genau an der Stelle beendet. Es besteht die Möglichkeit mittels einer Meldung auf den Abbruch hinzuweisen. | |||
[[image:Fw_Makrodesigner_Fortsetzungsbedingung Inaktiv.jpg|thumb|center|Framework, Makro - Fortsetzungsbedingung - Inaktiv]] | |||
[[image:Fw_Makrodesigner_Fortsetzungsbedingung Aktiv.jpg|thumb|center|Framework, Makro - Fortsetzungsbedingung - Aktiv]] | |||
Es müssen für die Bedingung beide Ausdrucksfelder befüllt werden. Ein Ausdruck kann eine Abfrage zum CoPlanner Server mittels der Funktionen die das Rechenwerk bereitstellt, ein SQL Statement auf die CoPlanner Systemdatenbank oder ein konstanter Wert sein. Die Abfrage zum CoPlanner Server wird mittels Transform=, eine SQL Server Abfrage mittels Sql= gekennzeichnet. Ein konstanter Wert wird ohne besondere Kennung eingetragen. | |||
Beispiele: | |||
[[image:Fw_Makrodesigner_Fortsetzungsbedingung Sql kombiniert mit CoPlanner Abfrage.jpg|thumb|center|Framework, Makro - Fortsetzungsbedingung – Sql kombiniert mit CoPlanner Abfrage]] | |||
[[image:Fw_Makrodesigner_Fortsetzungsbedingung Sql kombiniert mit konstantem Wert.jpg|thumb|center|Framework, Makro - Fortsetzungsbedingung - Sql kombiniert mit konstantem Wert]] | |||
Bei konstanten Werten muss der Datentyp beachtet werden. Liefert die SQL bzw. CoPlanner Abfrage als Ergebnis eine Zeichenfolge, muss der Wert unter einfache Anführungszeichen gestellt werden. Liefert die Abfrage als Ergebnis einen numerischen Wert, entfallen die An-führungszeichen. | |||
Wird eine SQL Abfrage definiert, welche nicht genau einen Wert, sondern eine Ergebnistabelle liefert, wird der Wert der linken, oberen Ecke für den Vergleich herangezogen. | |||
[[image:Fw_Makrodesigner_Fortsetzungsbedingung Ergebnis bei Abfrage mit Tabelle als Ergebnis.jpg|center|Framework, Makro - Fortsetzungsbedingung - Ergebnis bei Abfrage mit Tabelle als Ergebnis]] | |||
Liefert die SQL Abfrage keine einzige Zeile, so kann dies mittels der Konstante ‘NULL‘ abgefragt werden. | |||
[[image:Fw_Makrodesigner_Fortsetzungsbedingung Abfrage ob Datensätze geliefert werden.jpg|thumb|center|Framework, Makro - Fortsetzungsbedingung - Abfrage ob Datensätze geliefert werden]] | |||
Ausdrücke können auch mit CoPlanner Session Variablen versehen werden. Vor der eigent-lichen Evaluierung des Ausdrucks werden diese durch den entsprechenden Wert ersetzt. Session Variablen können auch als konstanter Wert verwendet werden. | |||
[[image:Fw_Makrodesigner_Fortsetzungsbedingung Abfrage mit Session Variable.jpg|thumb|center|Framework, Makro - Fortsetzungsbedingung - Abfrage mit Session Variable]] | |||
Ist die Option „Meldung bei Nichterfüllung“ aktiviert, wird bei Abbruch des Makros dem Be-nutzer die Meldung mit dem entsprechenden Text angezeigt. Ist die Option nicht aktiv, wird das Makro ohne weitere Meldung beendet. | |||
[[image:Fw_Makrodesigner_Fortsetzungsbedingung Meldung bei Nichterfüllung.jpg|thumb|center|Framework, Makro - Fortsetzungsbedingung - Meldung bei Nichterfüllung]] | |||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
[[Category:Framework|Makros]][[Category:Framework Objekte|Makros]] | [[Category:Framework|Makros]][[Category:Framework Objekte|Makros]] | ||
Version vom 22. Juli 2009, 09:27 Uhr
Um eine neues Makro zu erstellen, wechseln Sie zunächst in den Entwicklermodus und wählen den Menüpunkt Objektverwaltung.
Ein Makro ist eine Gruppe von Aktionen, die jeweils eine bestimmte Operation ausführen, wie z.B. das Öffnen eines Formulars oder das Ausführen eines Serverbefehles. Mit Hilfe von Makros können Sie häufig vorkommende Aufgaben automatisieren. Sie können z.B. ein Makro erstellen, das einen Import ausführt, d. h. Daten löscht, diese neu importiert und z. B. im Anschluss einen Erfolgsbericht öffnet, wenn ein Benutzer dieses über einen Menüpunkt aufruft.
Um das Makro mit Eigenschaften zu versehen, öffnet man mit Klick auf die Schaltfläche „Entwurf“, per Klick mit der rechten Maustaste das Kontext-Menü oder per Doppelklick den Batchdesigner. Über den Menüpunkt „Neu“ kann hier auch ein neues Makro angelegt werden.
Zur Verfügung stehende Aktionen:
- NavAktion
- ServerBefehl
- Meldung
Die erstellten Aktionen werden im Batchdesigner dann nach einander abgearbeitet. Um die Reihenfolge der Abarbeitung zu ändern stehen der Button
als auch
zur Verfügung.

Je nach ausgewählter Aktion stehen dem Anwender verschiedene Konfigurationsmöglichkeiten zur Verfügung.
NavAktionen ermöglichen es zum Beispiel, Masken, Dimensionen etc. zu öffnen. Zusätzlich können NavAktionen auch zum Beispiel Formeln, Importe etc. ausführen. Eine Beschreibung aller NavAktionen finden Sie hier.

ServerBefehl
Hier stehen verschiedenste Serverbefehle zur Auswahl.
| Befehl | Beschreibung |
| DBC Execute Procedure | Es können Stored Procedures ausgeführt werden. Der Name der Stored Procedure muss dabei genau dem Namen der Stored Procedure des SQL Server entsprechen (bspw. sp_calc_table). Zusätzlich können hier auch noch Parameter der Stored Procedure übergeben werden. Die einzelnem Parameter werden dabei durch „;“ getrennt, und beginnen jeweils mit einem „@“ (bspw: @param1=ErsterParameter;@param2=ZweiterParameter). Der Datenbank Conneciton String sieht wie folgt aus: Server=ServerName;Initial Catalog=DatabaseName;user id=MyUserId; password=MyPassword |
| Plansätze löschen | Der ServerBefehl Plansätze löschen, löscht alle Datensätze des ausgewählten Plans aller planabhängigen Tabellen. Wird der Plan auf „Aktueller Plan“ gestellt werden nur Datensätze des Planes gelöscht an den der Benutzer angemeldet ist. |
| Formula activate | Dieser Serverbefehl kann Formeln aktivieren bzw. deaktivieren. Zusätzlich kann die Formel „Makroaktiv“ gesetzt werden. |
| Formelwerk aktivieren | Aktiviert das CoPlanner Formelwerk. |
| Formelwerk deaktivieren | Deaktiviert das CoPlanner Formelwerk. |
| PlanSecurity neu laden | Lädt die Security für den aktuellen Plan neu. |
| Plan kopieren | Kopiert alle Datensätze von einem Plan in einen anderen Plan. |
| Tabellensätze kopieren | Es werden alle Datensätze innerhalb des ausgewählten Planes einer Tabelle in eine andere Tabelle kopiert. Zusätzlich können hier XML Filter für die Datensätze angegeben werden. |
| Tabellensätze löschen | Es werden alle Datensätze innerhalb des ausgewählten Planes einer Tabelle gelöscht. Zusätzlich können hier XML Filter für die Datensätze angegeben werden.
Neben der Auswahl der Tabelle muss auch ein zu löschender Plan gewählt werden. Dies kann durch explizite Auswahl eines bestimmten Plans oder mit der Funktion „Aktueller Plan“ automatisch bezogen auf den Plan der Anmeldung erfolgen. Bei Wahl der Option „planunabhängig“ werden die Daten der gewählten Tabelle aus allen Plänen gelöscht! Siehe nachfolgendes Beispiel. |
| Tabelle dieses Plans neu rechnen | Es werden alle Datensätze innerhalb des ausgewählten Planes einer Tabelle neu berechnet. Zusätzlich können hier XML Filter für die Datensätze angegeben werden. |
| Import am Server starten | Startet ein Importobjekt am Server. Da jedes Importobjekt eine Erfolgsmeldung zurückgibt, kann diese Erfolgsmeldung über den Parameter „Rückmeldung aktivieren“ unterdrückt werden. |
| Datenbank synchronisieren | Erzwingt die Synchronisation des CoPlanner Servers und des SQL Servers bevor weitere CoPlanner - Serverbefehle abgearbeitet werden. |
| OffeneBerechnungen abschliessen | Erzwingt die Abarbeitung aller offenen Berechnungen (Formeln). Anschließend wird einen Datenbanksynchronisation erzwungen, bevor weitere Serverbefehle abgearbeitet werden. |
| Formel ausführen | Führt die ausgewählte Formel aus. |
| Session Parameter ändern | Ändert Sessioneigenschaften. Hier kann bspw. angegeben werden, dass der Sessionkontext im Makromode ausgeführt wird, damit in weiterer Folge Formeln ausgeführt werden deren Eigenschaft ‚Ausführen im Makromode’ gesetzt ist. Dazu geben Sie bitte folgende Parameter an:
Um in den Makromodus zu wechseln: MakroMode=1 Um den Makromodus zu verlassen: MakroMode=0 |
Beispiel Tabellensätze löschen:
Es sollen mit einem Makro alle Datensätze aus einer Tabelle gelöscht werden die zum angemeldeten Plan gehören. Legen Sie dazu ein neues Makro an und wählen Sie als Aktion „Serverbefehl“ und treffen Sie die Einstellungen wie in folgender Abbildung dargestellt.
Rufen Sie den Filter – Editor auf mit einem Klick auf die Schaltfläche
.

Wählen Sie aus dem Kombinationslistenfeld den Eintrag „BAB_Plan“ und im Filter „Unternehmen“ die „Bike GmbH“ aus. Mit einem Klick auf die Schaltfläche „Hinzufügen“ wird diese Einstellung übernommen. Durch das Ersetzen des Kriteriums mit der Session Variable @Session_Unternehmen_ID@ bezieht sich dieser Filter immer auf das angemeldete Unternehmen.
Sollten Sie dieses Filter mehrmals benötigen, können Sie diesen mit dem Befehl „Filter speichern“ sichern und mit „Filter laden“ wieder einfügen.
Meldung
Dem Anwender können mit Meldungen Informationen über die Ausführung des Makros am Client angezeigt werden. Dazu wird der Meldungstext, Meldungstitel und der Meldungstyp eingegeben.

Meldungstypen
Fortsetzungsbedingung
Die Fortsetzungsbedingung dient dazu, um die Weiterführung des Makros steuern zu können. Wird sie aktiv geschalten, muss die Bedingung zutreffen, um mit dem Makro fortzufahren. Trifft die Bedingung nicht zu, wird das Makro genau an der Stelle beendet. Es besteht die Möglichkeit mittels einer Meldung auf den Abbruch hinzuweisen.


Es müssen für die Bedingung beide Ausdrucksfelder befüllt werden. Ein Ausdruck kann eine Abfrage zum CoPlanner Server mittels der Funktionen die das Rechenwerk bereitstellt, ein SQL Statement auf die CoPlanner Systemdatenbank oder ein konstanter Wert sein. Die Abfrage zum CoPlanner Server wird mittels Transform=, eine SQL Server Abfrage mittels Sql= gekennzeichnet. Ein konstanter Wert wird ohne besondere Kennung eingetragen.
Beispiele:


Bei konstanten Werten muss der Datentyp beachtet werden. Liefert die SQL bzw. CoPlanner Abfrage als Ergebnis eine Zeichenfolge, muss der Wert unter einfache Anführungszeichen gestellt werden. Liefert die Abfrage als Ergebnis einen numerischen Wert, entfallen die An-führungszeichen. Wird eine SQL Abfrage definiert, welche nicht genau einen Wert, sondern eine Ergebnistabelle liefert, wird der Wert der linken, oberen Ecke für den Vergleich herangezogen.

Liefert die SQL Abfrage keine einzige Zeile, so kann dies mittels der Konstante ‘NULL‘ abgefragt werden.
Ausdrücke können auch mit CoPlanner Session Variablen versehen werden. Vor der eigent-lichen Evaluierung des Ausdrucks werden diese durch den entsprechenden Wert ersetzt. Session Variablen können auch als konstanter Wert verwendet werden.

Ist die Option „Meldung bei Nichterfüllung“ aktiviert, wird bei Abbruch des Makros dem Be-nutzer die Meldung mit dem entsprechenden Text angezeigt. Ist die Option nicht aktiv, wird das Makro ohne weitere Meldung beendet.






