Complete: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
 
(81 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Auf folgende Funktionen kann zugegriffen werden.  
Complete fügt rechts neue Spalten in die aktuelle Tabelle hinzu. Zur Ermittlung des Inhaltes der hinzugefügt wird, kann ein SQL-Statement dienen, ein fester String oder eine in den OrgaMon integrierte Funktion. Im Rahmen des complete Blocks können mehrere Zeilen formuliert werden, in dieser Reihenfolge werden auch Spalten angefügt. Grundsätzlicher Aufbau des Statements:
Als erstes wird die Funktion oder eine Konstante angegeben.
Handelt es sich um eine Funktion gibt man in der Spalte einen oder mehrere Namen von Spalten an, die schon in der Ausgabe existieren müssen. Die entsprechden Werte werden in die Funktion als Übergabeparameter übergeben. Nun ein Leerschritt, dann der Name der neuen Spalte, die rechts am Ende hinzugefügt wird. Die Ergebnisse der Funktion füllen diese Spalte.


"20" ZWANZIG : Ausgabe einer Konstanten Spalte
'complete'|'replace'|'table'
Komponist(MUSIKER_R) KOMPONIST
Arrangeur(MUSIKER_R) ARRANGEUR
  {  <FunktionsName> '(' ParameterListe ')' |
Preis([AUSGABEART_R,]ARTIKEL_R) PREIS
      '"' fester String '"' |
Lieferzeit([AUSGABEART_R,]ARTIKEL_R) LIEFERZEIT
      OLAP.Dim."DateiName".txt ) [ '||' ]
Bemerkung(ARTIKEL_R) BEMERKUNG
  }
  [ ' ' <BezeichnungDerNeuenSpalte1> [ { ';' <BezeichnungDerNeuenSpalteN> } ] ]
... weitere Zeilen ...
"-"
 
'''ParameterListe''': In den runden Klammern kann sich im Moment nur ein Parameter befinden. Der 2. Parameter wird weggelassen und dafür wird implizit die folgende Spalte als Parameterwert verwendet.<br>
'''FunktionsName''': Name der in den OrgaMon eingebauten Funktion.<br>
'''DateiName''': Name der externen Datei in der sich ein SQL-Statement befindet.<br>
'''BezeichnungDerNeuenSpalte*''': (optional) Gibt die Spaltenüberschrift an der neu entstandenen Spalte. Ohne explizite Angabe wird der Funktionsname als Spaltenüberschrift benutzt.
 
== "20" ZWANZIG : Ausgabe einer Konstanten Spalte ==
== SQL("") Direktes SQL-Statement ==
 
schreiben Sie direktes SQL zur Ermittlung eines einzelnen Feldes. Dieses wird dann in die Tabelle mit aufgenommen. Es kann auf jede Spalte der Haupttabelle über <code>$Spaltenüberschrift</code> zugegriffen werden.
 
SQL("select TITEL from ARTIKEL where RID=$ARTIKEL_R") Bezeichnung
 
== Komponist(MUSIKER_R) KOMPONIST ==
== KomponistN(MUSIKER_R) KOMPONIST_NACHNAME ==
== Arrangeur(MUSIKER_R) ARRANGEUR ==
== ArrangeurN(MUSIKER_R) ARRANGEUR_NACHNAME ==
== Verlag(VERLAG_R) VERLAG ==
== NächsteAnwendung(VERTRAG_R) MONAT ==
 
* Simuliert bei einem Vertag die nächste Anwendung und gibt den Anwendungsmonat zurück
 
== VerlagsRabatt(VERLAG_R,PERSON_R) ==
== Fax(PERSON_R) FAX ==
== Person(PERSON_R) PERSON ==
 
Name Ort und Kundennummer der Person
 
== Preis(ARTIKEL_R) PREIS ==
== Lieferzeit(ARTIKEL_R) LIEFERZEIT ==
== Bemerkung(ARTIKEL_R) BEMERKUNG ==
== Anschrift(PERSON_R) Adressat1;Adressat2;Adressat3;Adressat4;Strasse;Ort ==
== Land(LAND_R) ==
 
ISO Kurzbezeichnung eines Landes
 
== Rabattiert(PREIS) RABATTIERTER_PREIS ==
 
PREIS wird um den Rabatt, der in der auf PREIS folgenden Spalte stehen muss vermindert.
 
== Umsatz(POSTEN_R) UMSATZ ==
 
liefert eCommerce::e_r_Umsatz(POSTEN_R) dieser Postenzeile aus der Tabelle POSTEN.
 
== Netto(GELIEFERT_R) NETTO ==
 
* Netto Umsatz einer Position die bereits geliefert wurde (aus der Tabelle GELIEFERT)
 
 
--
--  O L A P  - Definitions Datei
--
--  Netto-Umsatz eines Kunden
--
$Kunde_R=3968
select
  VERSAND.AUSGANG,
  VERSAND.RECHNUNG,
  GELIEFERT.RID GELIEFERT_R,
  GELIEFERT.ARTIKEL
from
  GELIEFERT
join
  BELEG
on
  (GELIEFERT.BELEG_R=BELEG.RID) and
  (BELEG.PERSON_R=$Kunde_R)
join
  VERSAND
on
  (GELIEFERT.BELEG_R=VERSAND.BELEG_R) and
  (GELIEFERT.POSNO=VERSAND.TEILLIEFERUNG) 
where
  (GELIEFERT.MENGE_RECHNUNG>0)
order by
  VERSAND.AUSGANG 
 
complete
Netto(GELIEFERT_R) NETTO
-
excel
open
-
 
== Beleg(BELEG_R,TEILLIEFERUNG_R) ==
 
Beleg(RECHNUNG,TEILLIEFERUNG) Beleg-Teillieferung;NETTO1;SATZ1;MWST1;NETTO2;SATZ2;MWST2;NETTO3;SATZ3;MWST3
 
== Preis(ARTIKEL_R) PREIS_BRUTTO ==
== Kategorie(ARTIKEL_R) KATEGORIE ==
== Bild(ARTIKEL_R) BILD ==
== Vorschau(ARTIKEL_R) VORSCHAU ==
== Musik(ARTIKEL_R) WEBLINK ==
== Kontext(ARTIKEL_R) KONTEXT ==
== Plural(SPALTE_ANZAHL,"Einzahl","Mehrzahl") ==
 
== Woche(DATUM) ==
 
macht aus einem Timestamp oder einem Datum eine Kalenderwochenangabe
 
== Tag(DATUM) ==
 
macht aus einem Timestamp oder einem Datum einen Wochentag
 
== Zeit(SEKUNDEN) HHH:MM:SS ==
 
Umwandlung eines ganzzahligen Sekundenwertes in einen Zeit-String mit der Formatierung HHH:MM:SS
 
== limit32 GANZZAHL ==
 
Beschränkung auf eine Ganzzahl
 
== Lohn(BETRAG) ARBEITSZEIT ==
 
$MonatJahr muss im Script definiert sein. Anhand dieser Zeitangabe wird die entsprechende Arbeitszeit geladen.
 
== Anno(BEGRIFF,VON) KOSTEN ==
 
Hochrechnung von Jahreskosten aus bisherigen Buchungen
 
== Arbeit(PERSON_R) ARBEIT ==
 
<font style="background-color:#9999FF;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> Sonn- und Feiertage<br>
<font style="background-color:#99CC00;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> Arbeitsfreier Tag laut Arbeitszeitmodell<br>
<font style="background-color:#C0C0C0;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> eigentlich ein Arbeitstag, aber keine Einplanung<br>
<font style="background-color:#FF0000;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> Fehler: Widerspruch oder lückenhafte Definition<br>
<font style="background-color:#FFCC99;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> jenseits der letzten Einplanung<br>
 
=== Kundenspeziefische Texte und Farben ===
 
 
[[Resourceumsetzer]]
 
== Einsatz(PERSON_R,DATUM) EINSATZ ==
 
=== Bedeutung ===
 
<i>BBBB ist das Kurzel der Baustelle, ist Kürzel nicht belegt wird die Kostenstelle der Baustelle ausgegeben</i>
 
* f Feiertag, ermittelt ohne Bundesland-Kontext
* F Feiertag, ermittelt mit einem Bundesland-Kontext
* BBBB!! echte Einplanung mit Termin
* BBBB! keine Einplanung an diesem Halbtag, jedoch echte Einplanung am anderen Halbtag
* (BBBB) im Prinzip auf dieser Baustelle, heute jedoch nicht wegen Widerspruch zum Arbeitszeitmodelles dieser Baustelle
* BBBB* Einsatz durch das Arbeitszeitmodell bestätigt
* BBBB+ Der Einsatz auf DIESER Baustelle ist am wahrscheinlichsten, da in letzter Zeit der Einsatz auch auf dieser Baustelle war
* BBBB@ Es gibt eine Zuordnung= auf diese Baustelle
* BBBB& Diese Baustelle hat Vorrang vor anderen
* BBBB Einsatz auf dieser Baustelle erwartet
 
=== Farbgebung im Excel ===
 
<font style="background-color:#9999FF;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> Sonn- und Feiertag<br>
<font style="background-color:#99CC00;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> Arbeitsfreier Tag laut Arbeitszeitmodell<br>
<font style="background-color:#FFFFFF;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> normale Info<br>
<font style="background-color:#FFCC99;color:white">&nbsp;&nbsp;&nbsp;&nbsp;</font> Termin ist nach der letzten Einplanung<br>
 
=== Kundenspeziefische Texte und Farben ===
 
[[Resourceumsetzer]]
 
== SQL-Statement-Datei [SPALTENBEZEICHNUNG] ==
 
Es wird die Datei OLAP.Dim."SQL-Statement-Datei".txt im OLAP-Pfad gesucht und geladen. Die Datei wird als SQL-Statement interprätiert, die genau einen Wert als Ergebnis liefert (in der ersten Zeile, den Wert der ersten Spalte).
Innerhalb des OLAP.Dim.Statements kann auf alle Spalten des bisherigen Ergebnisses mit Hilfe der Spaltenüberschriften zugeriffen werden. Dabei muss ein "$" Symbol vorangestellt werden.
Auch auf "globale" Parameter des aufrufenden Statements kann wie gewohnt zugegriffen werden.
 
  select
  count(RID)
  from
  MUSIKER
  where
  (PERSON_R=$RID) and
  (MOMENT=$Moment)
 
$RID wird aus dem bisherigen Ergebnis gelesen.
$Moment
 
== Plural(ANKER,"Einzahl-Text","Mehrzahl-Text") ==
 
Je nachdem, ob in einer Spalte nichts/"1" steht oder ein wert >"1" wird der Einzahl-Text oder der mehrzahl-Text ausbelichtet.
 
Plural(ANZAHL,"das_Kaninchen","die_Kaninchen") KANINCHEN_ANREDE
 
== Protokoll(AUFTRAG_R) L5;L6 ==
 
Die rechts angegebenen Protokollfelder werden ausgegeben. Bei:INT wird die wandelung in einen Integer vorgenommen.
 
Syntax
 
Protokoll(~AUFTRAG_R-Spaltenüberschrift~) ~Protkollparametername~[":INT"]
 
== Kategorie(AUFTRAG_R) ==
 
bisher nicht dokumentiert
 
== Auftrag(AUFTRAG_R) ==
 
Alle Datenfelder eines Auftrages
 
== Beispiel ==
 
* OLAP Statement
 
complete
PosNo(0) POSNO
Bild(RID) BILD
Vorschau(RID) VORSCHAU
Preis(RID) PREIS as Betrag
"("||Komponist(KOMPONIST_R)||"/"||Arrangeur(ARRANGEUR_R)||")" KOMPONIST_ARRANGEUR
-
 
* Datei "OLAP.Dim.PosNo.txt"
 
select
  MAX(POSNO)
from
  ARTIKEL_MITGLIED
where
  (ARTIKEL_R=$RID) and
  (MASTER_R=$MASTER_R)

Aktuelle Version vom 6. Mai 2019, 10:38 Uhr

Complete fügt rechts neue Spalten in die aktuelle Tabelle hinzu. Zur Ermittlung des Inhaltes der hinzugefügt wird, kann ein SQL-Statement dienen, ein fester String oder eine in den OrgaMon integrierte Funktion. Im Rahmen des complete Blocks können mehrere Zeilen formuliert werden, in dieser Reihenfolge werden auch Spalten angefügt. Grundsätzlicher Aufbau des Statements:

'complete'|'replace'|'table'

  {  <FunktionsName> '(' ParameterListe ')' | 
     '"' fester String '"' | 
     OLAP.Dim."DateiName".txt ) [ '||' ] 
  } 
  [ ' ' <BezeichnungDerNeuenSpalte1> [ { ';' <BezeichnungDerNeuenSpalteN> } ] ]
... weitere Zeilen ...
"-"

ParameterListe: In den runden Klammern kann sich im Moment nur ein Parameter befinden. Der 2. Parameter wird weggelassen und dafür wird implizit die folgende Spalte als Parameterwert verwendet.
FunktionsName: Name der in den OrgaMon eingebauten Funktion.
DateiName: Name der externen Datei in der sich ein SQL-Statement befindet.
BezeichnungDerNeuenSpalte*: (optional) Gibt die Spaltenüberschrift an der neu entstandenen Spalte. Ohne explizite Angabe wird der Funktionsname als Spaltenüberschrift benutzt.

"20" ZWANZIG : Ausgabe einer Konstanten Spalte

SQL("") Direktes SQL-Statement

schreiben Sie direktes SQL zur Ermittlung eines einzelnen Feldes. Dieses wird dann in die Tabelle mit aufgenommen. Es kann auf jede Spalte der Haupttabelle über $Spaltenüberschrift zugegriffen werden.

SQL("select TITEL from ARTIKEL where RID=$ARTIKEL_R") Bezeichnung

Komponist(MUSIKER_R) KOMPONIST

KomponistN(MUSIKER_R) KOMPONIST_NACHNAME

Arrangeur(MUSIKER_R) ARRANGEUR

ArrangeurN(MUSIKER_R) ARRANGEUR_NACHNAME

Verlag(VERLAG_R) VERLAG

NächsteAnwendung(VERTRAG_R) MONAT

  • Simuliert bei einem Vertag die nächste Anwendung und gibt den Anwendungsmonat zurück

VerlagsRabatt(VERLAG_R,PERSON_R)

Fax(PERSON_R) FAX

Person(PERSON_R) PERSON

Name Ort und Kundennummer der Person

Preis(ARTIKEL_R) PREIS

Lieferzeit(ARTIKEL_R) LIEFERZEIT

Bemerkung(ARTIKEL_R) BEMERKUNG

Anschrift(PERSON_R) Adressat1;Adressat2;Adressat3;Adressat4;Strasse;Ort

Land(LAND_R)

ISO Kurzbezeichnung eines Landes

Rabattiert(PREIS) RABATTIERTER_PREIS

PREIS wird um den Rabatt, der in der auf PREIS folgenden Spalte stehen muss vermindert.

Umsatz(POSTEN_R) UMSATZ

liefert eCommerce::e_r_Umsatz(POSTEN_R) dieser Postenzeile aus der Tabelle POSTEN.

Netto(GELIEFERT_R) NETTO

  • Netto Umsatz einer Position die bereits geliefert wurde (aus der Tabelle GELIEFERT)


--
--  O L A P  - Definitions Datei
--
--  Netto-Umsatz eines Kunden
--

$Kunde_R=3968

select 
 VERSAND.AUSGANG,
 VERSAND.RECHNUNG,
 GELIEFERT.RID GELIEFERT_R,
 GELIEFERT.ARTIKEL
from
 GELIEFERT
join
 BELEG
on 
 (GELIEFERT.BELEG_R=BELEG.RID) and
 (BELEG.PERSON_R=$Kunde_R)
join 
 VERSAND
on
 (GELIEFERT.BELEG_R=VERSAND.BELEG_R) and
 (GELIEFERT.POSNO=VERSAND.TEILLIEFERUNG)  
where
 (GELIEFERT.MENGE_RECHNUNG>0)
order by
 VERSAND.AUSGANG  
 
complete
Netto(GELIEFERT_R) NETTO
-

excel
open
-

Beleg(BELEG_R,TEILLIEFERUNG_R)

Beleg(RECHNUNG,TEILLIEFERUNG) Beleg-Teillieferung;NETTO1;SATZ1;MWST1;NETTO2;SATZ2;MWST2;NETTO3;SATZ3;MWST3

Preis(ARTIKEL_R) PREIS_BRUTTO

Kategorie(ARTIKEL_R) KATEGORIE

Bild(ARTIKEL_R) BILD

Vorschau(ARTIKEL_R) VORSCHAU

Musik(ARTIKEL_R) WEBLINK

Kontext(ARTIKEL_R) KONTEXT

Plural(SPALTE_ANZAHL,"Einzahl","Mehrzahl")

Woche(DATUM)

macht aus einem Timestamp oder einem Datum eine Kalenderwochenangabe

Tag(DATUM)

macht aus einem Timestamp oder einem Datum einen Wochentag

Zeit(SEKUNDEN) HHH:MM:SS

Umwandlung eines ganzzahligen Sekundenwertes in einen Zeit-String mit der Formatierung HHH:MM:SS

limit32 GANZZAHL

Beschränkung auf eine Ganzzahl

Lohn(BETRAG) ARBEITSZEIT

$MonatJahr muss im Script definiert sein. Anhand dieser Zeitangabe wird die entsprechende Arbeitszeit geladen.

Anno(BEGRIFF,VON) KOSTEN

Hochrechnung von Jahreskosten aus bisherigen Buchungen

Arbeit(PERSON_R) ARBEIT

     Sonn- und Feiertage
     Arbeitsfreier Tag laut Arbeitszeitmodell
     eigentlich ein Arbeitstag, aber keine Einplanung
     Fehler: Widerspruch oder lückenhafte Definition
     jenseits der letzten Einplanung

Kundenspeziefische Texte und Farben

Resourceumsetzer

Einsatz(PERSON_R,DATUM) EINSATZ

Bedeutung

BBBB ist das Kurzel der Baustelle, ist Kürzel nicht belegt wird die Kostenstelle der Baustelle ausgegeben

  • f Feiertag, ermittelt ohne Bundesland-Kontext
  • F Feiertag, ermittelt mit einem Bundesland-Kontext
  • BBBB!! echte Einplanung mit Termin
  • BBBB! keine Einplanung an diesem Halbtag, jedoch echte Einplanung am anderen Halbtag
  • (BBBB) im Prinzip auf dieser Baustelle, heute jedoch nicht wegen Widerspruch zum Arbeitszeitmodelles dieser Baustelle
  • BBBB* Einsatz durch das Arbeitszeitmodell bestätigt
  • BBBB+ Der Einsatz auf DIESER Baustelle ist am wahrscheinlichsten, da in letzter Zeit der Einsatz auch auf dieser Baustelle war
  • BBBB@ Es gibt eine Zuordnung= auf diese Baustelle
  • BBBB& Diese Baustelle hat Vorrang vor anderen
  • BBBB Einsatz auf dieser Baustelle erwartet

Farbgebung im Excel

     Sonn- und Feiertag
     Arbeitsfreier Tag laut Arbeitszeitmodell
     normale Info
     Termin ist nach der letzten Einplanung

Kundenspeziefische Texte und Farben

Resourceumsetzer

SQL-Statement-Datei [SPALTENBEZEICHNUNG]

Es wird die Datei OLAP.Dim."SQL-Statement-Datei".txt im OLAP-Pfad gesucht und geladen. Die Datei wird als SQL-Statement interprätiert, die genau einen Wert als Ergebnis liefert (in der ersten Zeile, den Wert der ersten Spalte). Innerhalb des OLAP.Dim.Statements kann auf alle Spalten des bisherigen Ergebnisses mit Hilfe der Spaltenüberschriften zugeriffen werden. Dabei muss ein "$" Symbol vorangestellt werden. Auch auf "globale" Parameter des aufrufenden Statements kann wie gewohnt zugegriffen werden.

 select 
  count(RID)
 from 
  MUSIKER
 where 
  (PERSON_R=$RID) and
  (MOMENT=$Moment)

$RID wird aus dem bisherigen Ergebnis gelesen. $Moment

Plural(ANKER,"Einzahl-Text","Mehrzahl-Text")

Je nachdem, ob in einer Spalte nichts/"1" steht oder ein wert >"1" wird der Einzahl-Text oder der mehrzahl-Text ausbelichtet.

Plural(ANZAHL,"das_Kaninchen","die_Kaninchen") KANINCHEN_ANREDE

Protokoll(AUFTRAG_R) L5;L6

Die rechts angegebenen Protokollfelder werden ausgegeben. Bei:INT wird die wandelung in einen Integer vorgenommen.

Syntax

Protokoll(~AUFTRAG_R-Spaltenüberschrift~) ~Protkollparametername~[":INT"]

Kategorie(AUFTRAG_R)

bisher nicht dokumentiert

Auftrag(AUFTRAG_R)

Alle Datenfelder eines Auftrages

Beispiel

  • OLAP Statement
complete

PosNo(0) POSNO
Bild(RID) BILD
Vorschau(RID) VORSCHAU
Preis(RID) PREIS as Betrag
"("||Komponist(KOMPONIST_R)||"/"||Arrangeur(ARRANGEUR_R)||")" KOMPONIST_ARRANGEUR
-
  • Datei "OLAP.Dim.PosNo.txt"
select 
 MAX(POSNO)
from 
 ARTIKEL_MITGLIED
where
 (ARTIKEL_R=$RID) and
 (MASTER_R=$MASTER_R)