REFLEX in Zahlen: Unterschied zwischen den Versionen
Aus GEVITAS
(→Interessante Zahlen zu REFLEX) |
(→FunFacts - Interessante Zahlen zu REFLEX) |
||
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | == Interessante Zahlen zu REFLEX == | + | == FunFacts - Interessante Zahlen zu REFLEX == |
{| class="wikitable" style="text-align: left;width: 80%;background-color: white;" | {| class="wikitable" style="text-align: left;width: 80%;background-color: white;" | ||
Zeile 10: | Zeile 10: | ||
|style="text-align:right;"|<big>'''2,5 Millionen Zeilen'''</big> | |style="text-align:right;"|<big>'''2,5 Millionen Zeilen'''</big> | ||
|Quellcode bilden [[REFLEX]]! Dazu kommen noch ca. '''3 Millionen''' Zeilen für die Fenster-Definitionen, also die Programmbefehle, die die Optik von Fenstern und Dialogen bestimmt. | |Quellcode bilden [[REFLEX]]! Dazu kommen noch ca. '''3 Millionen''' Zeilen für die Fenster-Definitionen, also die Programmbefehle, die die Optik von Fenstern und Dialogen bestimmt. | ||
− | + | [[Datei:RxInteressantes_13Code.png]] | |
|- valign="top" | |- valign="top" | ||
|[[File:RxInteressantes_02Seiten.png|center]] | |[[File:RxInteressantes_02Seiten.png|center]] | ||
Zeile 39: | Zeile 39: | ||
|- valign="top" | |- valign="top" | ||
− | |[[File: | + | |[[File:RxInteressantes_12if.png|center]] |
|style="text-align:right;"|<big>'''83.523 mal "if"'''</big> | |style="text-align:right;"|<big>'''83.523 mal "if"'''</big> | ||
|Anweisungen stehen im Source-Code. | |Anweisungen stehen im Source-Code. | ||
+ | |||
+ | if sSearch > ´´ then | ||
+ | if FrmMain.bMandantenTransfer then | ||
+ | if (Key=VK_ESCAPE) then | ||
+ | if DatVon > DatBis then | ||
|- valign="top" | |- valign="top" | ||
− | |[[File: | + | |[[File:RxInteressantes_12if.png|center]] |
|style="text-align:right;"|<big>'''5.520 mal "if"'''</big> | |style="text-align:right;"|<big>'''5.520 mal "if"'''</big> | ||
|Anweisungen stehen allein in der Auftragsverwaltung. | |Anweisungen stehen allein in der Auftragsverwaltung. | ||
Zeile 60: | Zeile 65: | ||
;Beispiele: | ;Beispiele: | ||
− | * Nummernkreise für Auftrags-, Rechnungs, Inventarnummern usw. Verschiedene Auftrags- Rechnungsnummernkreise einrichten | + | |
− | * Ordner-Strukturen für Dokumente | + | * Module |
− | + | : Festlegungen für die Fahrzeug-Dispo oder den JobKalender | |
− | * Signaturen und Texte für automatische Mails und Erinnerungen | + | : Online-Entfernungsmessung benutzen (Entfernung übers Internet messen, falls nicht in Entfernungstabelle enthalten) |
− | + | : Heimat-Adresse für die Routen-Berechnung festlegen | |
− | * Termin-Qualifikationen, -Arten und -Gruppen | + | |
− | * | + | *Nummern |
− | + | : '''Nummernkreise''' für Auftrags-, Rechnungs, Inventarnummern usw. Verschiedene Auftrags- Rechnungsnummernkreise einrichten | |
− | + | : '''Artikelnummern''' vom Programm automatisch fortlaufend, numerisch vergeben, oder anhand Artikel-Gruppen, oder gar nicht | |
− | + | ||
− | + | *Dokumente | |
− | + | : '''Ordner-Strukturen''' für Dokumente | |
− | + | : Dokumente '''verstecken''' für Benutzer/innen mit NUR-LESEN-Recht | |
− | + | ||
− | + | *Automatische E-Mails und Erinnerungen | |
− | + | : '''Signaturen und Texte''' für automatische Mails und Erinnerungen | |
− | + | : Bei '''Freigabe einer Bestellung''' ein E-Mail senden | |
− | + | : Bei '''vollständiger Ausgabe''' Erinnerung an Bearbeiter, dass Rechnung geschrieben werden kann | |
− | + | : Bei '''Erfassen einer Eingangsrechnung''' Erinnerung an Auftragsbearbeiter erzeugen | |
− | + | : Auto-EMail an Auftragsbearbeiter, wenn Packliste '''nicht gedruckt''' werden konnte, weil offene Rechnungen da sind | |
− | + | : '''E-Mail-Adressen''' für Mails an das '''Lager''', den '''Vertrieb''' usw. | |
− | + | : E-Mail-Adresse für die '''Bestell-Kontrolle/Freigabe''' | |
− | + | : EMail-Adresse für Benachrichtigung bei '''Mindestbestand''' einer bestimmten OBERGRUPPE | |
− | + | ||
− | + | *Termine | |
− | + | :'''Termin-Qualifikationen''', -'''Arten''' und -'''Gruppen''' | |
− | + | ||
− | + | *Auftragsverwaltung | |
− | + | : '''Drucken verbieten''', wenn kein Memo-Text im Auftrag vorhanden ist | |
− | + | : Behandlung von '''Unterdeckungen''' in der Auftragsverwaltung: Ignorieren, Anzeigen, Reaktion verlangen | |
− | + | : Im '''Dispo-Check''' den '''virtuellen Bestand''' aus Fertigungsaufträgen berücksichtigen | |
− | + | : Im '''Dispo-Check''' auch '''Miet-Verkaufs-Aufträge''' berücksichtigen | |
− | + | : '''Angebote''' beim DispoCheck berücksichtigen? | |
− | + | : Auftrags-Absage-'''Begründungen''' | |
− | * | + | : Mengeneingabe auf Artikel-Verpackungseinheit '''aufrunden''' |
− | + | : Aufträge "In Bearbeitung" für andere Bearbeiter '''sperren''' | |
− | + | : '''Zeitraum für die Miet-Berechnung''' aus dem Dispo-Zeitraum oder VA-Zeitraum | |
− | + | : '''Kreditlimit''' berechnen, Auftrag "AUFT" drucken/mailen ggf. verhindern | |
− | + | : Auch '''ungeprüfte''' Kontakte können "AUFT" erhalten | |
− | + | : '''Mindest-Fracht-Betrag''' festlegen, Kein Fracht ab Netto-Auftragswert | |
− | + | : '''Zubehörartikel''' im Auftrag zu einer Position '''zusammenfassen''' | |
− | + | : Bei Miet-Aufträgen '''Termin-Zwang'''! (Zumindest ein Termin muss angelegt werden) | |
− | + | : Automatische Mail an das Lager beim '''Ändern eines Auftrags-Status''' auf AUFTR | |
− | + | : Automatische Mail an den Auftragsbearbeiter*in beim '''Ändern eines Auftrags''', bei der '''Lagerausgabe''' usw. | |
− | + | : Auto-E-Mail bei Statuts AUFTR für Filialen im '''MultiLager''' | |
− | + | : Bei '''Änderungen von Liefer-/Rückholdaten''' eines '''fixierten''' Auftrags ein E-Mail an das Lager/die Logistik senden | |
− | + | : '''Änderung Auftragsstatus''' ANG --> AUFT oder AUFT --> STO Mail an die Personal-Disposition senden | |
− | + | : Bei '''Ändern des Auftrags-Status''' von ANG auf AUFTR für spezielle Kunden ein E-Mail senden | |
− | + | : '''Selbstkosten-Berechnung''' eines Artikels im Auftrag (Mietauftrag), Berechnungstage, Dispo- oder VA-Daten | |
− | + | : '''Projektleiter''' im Auftragskopf zum '''Pflichtfeld''' machen | |
− | + | : '''Artikel-Verpackungseinheit''' mit '''Reservemenge''' füllen/aufrunden | |
− | + | : Bei Arbeitszeitartikeln im Auftrag eine '''Zeitraum-Angabe''' zulassen | |
− | + | : '''Fremdleistungsblatt''' (Fremdmengen werden vom Programm beim Dispo-Check erzeugt) oder '''Auftragsbestellungen''' verwenden? | |
− | + | ||
− | + | *Dispo | |
− | * | + | : In der Dispo der Transport-Logistik '''vergangene Aufträge berücksichtigen''' |
− | * | + | : Dispo-Prüfung '''mit Vergangenheit''' |
− | * | + | |
− | + | *Artikel-Stammdaten | |
− | + | : '''Artikel-Kostenstelle''' zum Pflichtfeld machen | |
− | * | + | : '''Artikel-Eigentümer''' zum Pflichtfeld machen, Eigentümer-Auswahlliste für Artikel |
− | * Bei | + | : '''Standard-Artikel''' für Fertigungsstückliste |
− | + | : Artikelstamm, '''Eingabe EK-Preis''' Abweichung (in Prozent) überwachen | |
− | + | : '''Kunden-/Artikelpreise''' verwenden? | |
− | + | ||
− | + | *Kontakt-Stammdaten | |
− | + | : Eingabe Kundennummer: '''Datev-Kontenrahmen''' verwenden | |
− | + | : Eingabe der '''UStID-Nummer überwachen''' (EU) | |
+ | |||
+ | * Bestellungen | ||
+ | : '''Standard-Rabatt''' aus Lieferantenstamm in Bestellung verwenden | ||
+ | : '''Fremdmenge''' in Auftrag aus Bestellung übernehmen | ||
+ | |||
+ | * Lager | ||
+ | : Bei der Lager-Ausgabe das Feld "Verladen" oder "Kontrolliert" oder "Aus Lager genommen" als '''Pflichtfeld''' festlegen | ||
+ | : Automatisch '''Garantiedatum''' bei Lieferschein-Druck einsetzen | ||
+ | : Verhalten bei '''Zubehör-Ausgabe''' | ||
+ | : Behandlung von '''verkauften''' Artikeln | ||
+ | : '''MultiLager'''-System aktivieren | ||
+ | |||
+ | * Faktura | ||
+ | : Warnung bei Druck einer Rechnung mit Positionen '''ohne Betrag''' | ||
+ | : '''Schweizer Rundung''' auf 5 Rp. verwenden | ||
+ | |||
+ | * Sonstiges | ||
+ | : Einstellungen für die '''Elektronische (digitale) Signatur''' per SignaturePads | ||
+ | : Festlegen, dass '''verspätete Erinnerungen''' für Personen einer <b>bestimmten Gruppe</b> an eine <b>andere Person</b> weitergeleitet werden, wenn diese nicht innerhalb einer gewissen Zeit <b>bestätigt</b> wurden | ||
+ | : Anzahl Tage für das '''AutoAuftrag-Kulanz-System''' | ||
+ | : '''Zonen''' für Einsatzgebiete | ||
+ | : Transport-'''Genehmigung''' Zeitraum | ||
+ | : '''Zeiterfassung''' auch für andere Personen zulassen | ||
+ | : '''Digitale Dokumentenarchivierung''' (z.B. ELO) verwenden | ||
+ | : Anpassungen an ein '''DMS''' | ||
+ | : '''Standard-Sprache''' (D/E/F/I...) festlegen | ||
u.v.a.m. | u.v.a.m. | ||
Zeile 148: | Zeile 179: | ||
|mit speziellen Aufgaben gibt es in REFLEX: | |mit speziellen Aufgaben gibt es in REFLEX: | ||
− | + | ; GevitasFormPrint | |
− | + | : Drucken, mailen, exportieren von Formularen, wie z.B. Angebot, AUftrag, Rechnung, Gutschrift, Bestellung, Werkstatt-Auftrag usw. | |
− | + | ; GevitasLabelPrint | |
− | + | : Drucken von Etiketten mir barcode, QR-Code usw. | |
− | + | ; GevitasListPrint | |
− | + | : Drucken von Listen | |
− | + | ; GevitasLizDir | |
− | + | : Software-Lizenz-Directory-Management | |
− | + | ; RxDispo | |
− | + | : Grafische Anzeige der Artikel-Dispo | |
− | + | ; RxAdmin | |
− | + | : Administration von REFLEX, Benutzerverwaltung, Programm-Parameter usw. | |
− | + | ; RxCRM | |
− | + | : CRM-System | |
− | + | ; RxCRMInfo | |
− | + | : Situationsbezogenes Anzeigen von Kunden-/Auftrags-Daten | |
− | + | ; TerminManager (RxTermin) und JobKalender (JobKalender) | |
− | + | : für die Personal-/Ressourcen-Planung | |
− | + | ; RxFahrzeugDispo | |
− | + | : Fahrzeug-Dispo für die Planung von Fahrzeugen, Fahrern, Transporte | |
− | + | ; Dokumenten-Manager | |
− | + | : Verwalten, Verknüpfen von Dokumenten aus Dateien oder Outlook©-Mails | |
− | + | ; RxOlSync | |
− | + | : Outlook-Synchronisation | |
− | + | ; RxInventur | |
− | + | : Inventur-Aufnahme und -Auswertung | |
− | + | ; InfoCenter | |
− | + | : für Auswertungen von Umsätzen, Einsätzen, Auslastungen, Statistik usw. | |
− | + | ; Elektronisches, digitales Signieren | |
− | + | : von Dokumenten mit Unterschriften-Pads | |
− | + | ; RxAutoMail | |
− | + | : Automatisches Senden von E-Mails | |
− | + | ; REFLEX-Checker (RxChecker) | |
− | + | : Datenbank-Tool | |
− | + | ; GevCarnet: | |
− | + | : Erzeugen und drucken von Carnet's | |
− | + | ; GevitasCopyScan | |
− | + | : Kopiert gescannte Dokumente automatisch in die Dokumenten-Ordner und erzeugt Verknüpfungen dazu in der Datenbank. | |
− | + | ; GevitasDS | |
− | + | : Datenschutz-Tool | |
+ | ; GevitasMobileBHT (GxMobileBHT) | ||
+ | : Einlesen von mobilen Barcode-/QR-Code-Scannern | ||
+ | ; GevitasPicView (GxPicView) | ||
+ | : Anzeigen von Mini-Bildern für Artikel, situationsbezogen | ||
+ | ; Reisekosten | ||
+ | : Reisekosten-Abrechnungen erfassen und drucken | ||
+ | ; REXIM | ||
+ | : Export und Import von Buchhaltungsdaten | ||
+ | ; RxArtikelKonformErkl | ||
+ | : Artikel-Konformitäts-Erklärungen | ||
+ | ; RxCopyAuftr | ||
+ | : Übernahme- oder Zusatz-Aufträge erzeugen | ||
+ | ; RxManStarter | ||
+ | : Starter-App für das MultiMandant-System | ||
+ | ; RxMultiMandant | ||
+ | : Erzeugen und Verwalten von Transfer-Aufträgen von/zur Filiale (Mandant) zur/von Zentrale | ||
+ | ; RxMissImp | ||
+ | : MissionImpossible-Aufträge erzeugen | ||
+ | ; RxOrderMemo | ||
+ | : Memos für Aufträge drucken/exportieren | ||
+ | ; RxOrderReport | ||
+ | : Spezielle Auswertungen, bezogen auf einen Auftrag | ||
+ | ; RxStockLog | ||
+ | : Verwaltung eines Hochregal-Lagers, Stapler-Fahrten usw. (RxStockLog, RxStockDashboard, RxStockFremdMat usw.) | ||
+ | ; RxStockLogFA | ||
+ | : App für Stapler, Werkstatt, Entladen usw. | ||
+ | ; RxTourLog | ||
+ | : Touren-Logistik für Transporte, Fahrzeuge, Fahrer | ||
+ | ; RxLangManTool | ||
+ | : Steuern und Verwalten von Sprachdateien für die Übersetzungen der Programme in alle möglichen Sprachen | ||
+ | ; SapExImport | ||
+ | : Export/Import von/zu SAP | ||
+ | ; TPS | ||
+ | : TestProtocollSystem zum Imporieren/speichern/verwalten von Prüfprotkollen verschiedensten Hersteller von Prüfsystemem | ||
+ | ; GevitasMapSupport | ||
+ | : Einbinden von GoogleMaps, Ermitteln von Entfernungen | ||
+ | ; Ms2MySQL | ||
+ | : Konverter MS-SQL-Datenbank zu mySQL | ||
+ | ; WebService | ||
+ | : Abgleich von Dokumenten mit einer Web-Site, z.B. Artikel-Katalog-Bilder | ||
+ | |||
+ | |- valign="top" | ||
+ | |[[File:RxInteressantes_08Module.png|center]] | ||
+ | |style="text-align:right;"|<big>'''Die größte SQL-Abfrage'''</big> | ||
+ | |ist diese: | ||
+ | |||
+ | select 1 as Satzart, | ||
+ | ( select count(*) from MAUFPO where AuftrNr=MAUFKO.AUFTRNR and MIAuftrDispo_ID > 0 ) as AnzMIProbLoesungen, | ||
+ | MAUFKO.AUFTRNR,MAUFKO.STATUSNR,MAUFKO.STATUSTEXT,MAUFKO.TransportStatus, | ||
+ | MAUFKO.TransportProjektNr, MAUFKO.TransportProjektNr_B, | ||
+ | MAUFKO.ADRNR,MAUFKO.ADRKURZNAME, MAUFKO.ADRESSE, MAUFKO.ADRANSPR_ID_STRING, | ||
+ | MAUFKO.LANDKENNZ,MAUFKO.PLZ,MAUFKO.ORT,MAUFKO.LAND,MAUFKO.VERANSTNAME, | ||
+ | MAUFKO.VERANSTVONDAT as TransportDatum,MAUFKO.VERANSTVONZEIT as TransportZeit,MAUFKO.VERANSTVONTEXT as TransportText, | ||
+ | MAUFKO.BEARBEITER,MAUFKO.DATUMVON,MAUFKO.ZEITVON,MAUFKO.DATUMBIS,MAUFKO.ZEITBIS, | ||
+ | MAUFKO.LogistikKennz_L1, MAUFKO.LogistikKennz_L2, MAUFKO.LogistikKennz_T1, MAUFKO.LogistikKennz_T2, | ||
+ | MAUFKO.LogistikKennzR_L1, MAUFKO.LogistikKennzR_L2, MAUFKO.LogistikKennzR_T1, MAUFKO.LogistikKennzR_T2, | ||
+ | 0 as BESTKO_KennzMieteKauf, | ||
+ | MAUFLIAN.TransportZonen_ID,TransportZonen.Zone as Zone, | ||
+ | MAUFLIAN.TransportKennz, | ||
+ | MAUFLIAN.ORT as AktionsOrt,MAUFLIAN.PLZ as AktionsPlz,MAUFLIAN.LANDKENNZ as AktionsLandKennz,MAUFLIAN.STR as AktionsStr, | ||
+ | MAUFLIAN.Adresse AktionsAdresse, | ||
+ | MAUFLIAN.TransportKennz1, | ||
+ | Entfernungen.EntfernungKm, | ||
+ | ( | ||
+ | select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT | ||
+ | where auftrnr = MAUFKO.AUFTRNR and MAUFKO.StatusNr <> 1 | ||
+ | ) as DispoGewicht, | ||
+ | ( | ||
+ | select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT | ||
+ | where auftrnr = MAUFKO.AUFTRNR and MAUFKO.StatusNr <> 1 | ||
+ | ) as DispoVolumen, | ||
+ | ( | ||
+ | select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE + P.RESERVEMENGE ) ) from MAUFPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as Gewicht, | ||
+ | ( | ||
+ | select sum( A.BRUTTOGEWICHT * (P.AKTAUSGMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as AusgabeGewicht, | ||
+ | ( | ||
+ | select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE + P.RESERVEMENGE ) ) from MAUFPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as Volumen, | ||
+ | ( | ||
+ | select sum( A.VERP_VOLUMEN * (P.AKTAUSGMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as AusgabeVolumen | ||
+ | FROM MAUFKO MAUFKO | ||
+ | left outer join MAUFLIAN MAUFLIAN on MAUFLIAN.AUFTRNR=MAUFKO.AUFTRNR | ||
+ | left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=MAUFLIAN.PLZ and Entfernungen.Ort=MAUFLIAN.ORT | ||
+ | left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=MAUFLIAN.TransportZonen_ID | ||
+ | where | ||
+ | ( MAUFKO.AUFTRNR=900003682) or | ||
+ | ( | ||
+ | ( | ||
+ | MAUFKO.VERANSTVONDAT >= '22.07.2021' | ||
+ | and MAUFKO.VERANSTVONDAT <= '29.07.2021' | ||
+ | and MAUFKO.STATUSNR in (1,2,99) | ||
+ | and (MAUFKO.TransportProjektNr=0 or MAUFKO.TransportProjektNr is NULL) | ||
+ | and MAUFKO.VERANSTVONTEXT='Veranst. von' | ||
+ | and (select count(*) from TRAPOPROJEKTLADEEINHEIT where AuftrNr=MAUFKO.AUFTRNR and MAUFKO.STATUSTEXT='AUSG') = 0 | ||
+ | ) | ||
+ | or | ||
+ | ( | ||
+ | MAUFLIAN.TransportKennz = 1 and MAUFKO.TransportProjektNr=0 and MAUFKO.STATUSNR in (1,2,99) | ||
+ | and MAUFKO.DATUMVON <= '30.07.2021' | ||
+ | ) | ||
+ | ) | ||
+ | union | ||
+ | select 2 as Satzart, | ||
+ | ( select count(*) from MAUFPO where AuftrNr=MAUFKO.AUFTRNR and MIAuftrDispo_ID > 0 ) as AnzMIProbLoesungen, | ||
+ | MAUFKO.AUFTRNR,MAUFKO.STATUSNR,MAUFKO.STATUSTEXT,MAUFKO.TransportStatus, | ||
+ | MAUFKO.TransportProjektNr, MAUFKO.TransportProjektNr_B, | ||
+ | MAUFKO.ADRNR,MAUFKO.ADRKURZNAME,MAUFKO.ADRESSE,MAUFKO.ADRANSPR_ID_STRING, | ||
+ | MAUFKO.LANDKENNZ,MAUFKO.PLZ,MAUFKO.ORT,MAUFKO.LAND,MAUFKO.VERANSTNAME, | ||
+ | MAUFKO.VERANSTBISDAT as TransportDatum,MAUFKO.VERANSTBISZEIT as TransportZeit,MAUFKO.VERANSTBISTEXT as TransportText, | ||
+ | MAUFKO.BEARBEITER,MAUFKO.DATUMVON,MAUFKO.ZEITVON,MAUFKO.DATUMBIS,MAUFKO.ZEITBIS, | ||
+ | MAUFKO.LogistikKennz_L1, MAUFKO.LogistikKennz_L2, MAUFKO.LogistikKennz_T1, MAUFKO.LogistikKennz_T2, | ||
+ | MAUFKO.LogistikKennzR_L1, MAUFKO.LogistikKennzR_L2, MAUFKO.LogistikKennzR_T1, MAUFKO.LogistikKennzR_T2, | ||
+ | 0 as BESTKO_KennzMieteKauf, | ||
+ | MAUFRUECKAN.TransportZonen_ID,TransportZonen.Zone as Zone, | ||
+ | MAUFRUECKAN.TransportKennz, | ||
+ | MAUFRUECKAN.ORT as AktionsOrt,MAUFRUECKAN.PLZ as AktionsPlz,MAUFRUECKAN.LANDKENNZ as AktionsLandKennz,MAUFRUECKAN.STR as AktionsStr, | ||
+ | MAUFRUECKAN.Adresse AktionsAdresse, | ||
+ | MAUFRUECKAN.TransportKennz1, | ||
+ | Entfernungen.EntfernungKm, | ||
+ | ( | ||
+ | select sum( AktZuladung_B ) from TRAPOPROJEKTLADEEINHEIT | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as DispoGewicht, | ||
+ | ( | ||
+ | select sum( AktVolumen_B ) from TRAPOPROJEKTLADEEINHEIT | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as DispoVolumen, | ||
+ | ( | ||
+ | select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE + P.RESERVEMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as Gewicht, | ||
+ | ( | ||
+ | select sum( A.BRUTTOGEWICHT * (P.AKTAUSGMENGE - P.BISHRUECKMENGE + P.AUSGFREMDMENGE ) ) from MAUFPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as AusgabeGewicht, | ||
+ | ( | ||
+ | select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE + P.RESERVEMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as Volumen, | ||
+ | ( | ||
+ | select sum( A.VERP_VOLUMEN * (P.AKTAUSGMENGE - P.BISHRUECKMENGE + P.AUSGFREMDMENGE ) ) from MAUFPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where auftrnr = MAUFKO.AUFTRNR | ||
+ | ) as AusgabeVolumen | ||
+ | FROM MAUFKO MAUFKO | ||
+ | left outer join MAUFRUECKAN MAUFRUECKAN on MAUFRUECKAN.AUFTRNR=MAUFKO.AUFTRNR | ||
+ | left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=MAUFRUECKAN.PLZ and Entfernungen.Ort=MAUFRUECKAN.ORT | ||
+ | left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=MAUFRUECKAN.TransportZonen_ID | ||
+ | where | ||
+ | ( MAUFKO.AUFTRNR=900003682) or | ||
+ | ( | ||
+ | ( | ||
+ | MAUFKO.VERANSTBISDAT >= '22.07.2021' | ||
+ | and MAUFKO.VERANSTBISDAT <= '29.07.2021' | ||
+ | and MAUFKO.STATUSNR in (1,2,99) | ||
+ | and (MAUFKO.TransportProjektNr_B=0 or MAUFKO.TransportProjektNr_B is NULL) | ||
+ | and MAUFKO.VERANSTBISTEXT='Veranst. bis' | ||
+ | ) | ||
+ | or | ||
+ | ( | ||
+ | MAUFRUECKAN.TransportKennz = 1 and MAUFKO.TransportProjektNr_B=0 and MAUFKO.STATUSNR in (1,2,99) | ||
+ | and MAUFKO.VERANSTBISDAT <= '30.07.2021' | ||
+ | ) | ||
+ | ) | ||
+ | union | ||
+ | select 4 as Satzart, | ||
+ | 0 as AnzMIProbLoesungen, | ||
+ | BESTKO.BESTNR,BESTKO.STATUSNR, BESTKO.STATUSTEXT,1 as BESTKO_TransportStatus, | ||
+ | BESTKO.TransportProjektNr, BESTKO.TransportProjektNr_B, | ||
+ | BESTKO.ADRNR,BESTKO.ADRKURZNAME,BESTKO.ADRESSE,'' as BESTKO_ADRANSPR_ID_STRING, | ||
+ | BESTKO.LANDKENNZ,BESTKO.PLZ,BESTKO.ORT,BESTKO.LAND,BESTKO.ZUVERANSTNAME as BESTKO_VERANSTNAME, | ||
+ | BESTKO.DATUMVON as TransportDatum, '' as TransportZeit,BESTKO.VERSANDTEXT as TransportText, | ||
+ | BESTKO.BEARBEITERKURZN as BEARBEITER, BESTKO.DATUMVON,BESTKO.ZEITVON,BESTKO.DATUMBIS,BESTKO.ZEITBIS, | ||
+ | BESTKO.LogistikKennz_L1, BESTKO.LogistikKennz_L2, BESTKO. LogistikKennz_T1, BESTKO.LogistikKennz_T2, | ||
+ | BESTKO.LogistikKennzR_L1,BESTKO.LogistikKennzR_L2,BESTKO.LogistikKennzR_T1, BESTKO.LogistikKennzR_T2, | ||
+ | BESTKO.KennzMieteKauf as BESTKO_KennzMieteKauf, | ||
+ | BESTLIAN.TransportZonen_ID,TransportZonen.Zone as Zone, | ||
+ | BESTLIAN.TransportKennz, | ||
+ | BESTLIAN.ORT as AktionsOrt,BESTLIAN.PLZ as AktionsPlz,BESTLIAN.LANDKENNZ as AktionsLandKennz,BESTLIAN.STR as AktionsStr, | ||
+ | BESTLIAN.Adresse AktionsAdresse, | ||
+ | BESTLIAN.TransportKennz1, | ||
+ | Entfernungen.EntfernungKm, | ||
+ | ( | ||
+ | select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT | ||
+ | where BestNr = BESTKO.BESTNR | ||
+ | ) as DispoGewicht, | ||
+ | ( | ||
+ | select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT | ||
+ | where BestNr = BESTKO.BESTNR | ||
+ | ) as DispoVolumen, | ||
+ | ( | ||
+ | select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where Bestnr = BESTKO.BESTNR | ||
+ | ) as Gewicht, | ||
+ | ( | ||
+ | select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where Bestnr = BESTKO.BESTNR | ||
+ | ) as AusgabeGewicht, | ||
+ | ( | ||
+ | select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where Bestnr = BESTKO.BESTNR | ||
+ | ) as Volumen, | ||
+ | ( | ||
+ | select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where Bestnr = BESTKO.BESTNR | ||
+ | ) as AusgabeVolumen | ||
+ | FROM BESTKO BESTKO | ||
+ | join BESTLIAN BESTLIAN on BESTLIAN.BESTNR=BESTKO.BESTNR | ||
+ | left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=BESTLIAN.PLZ and Entfernungen.Ort=BESTLIAN.ORT | ||
+ | left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=BESTLIAN.TransportZonen_ID | ||
+ | where BESTKO.DATUMVON >= '22.07.2021' | ||
+ | and BESTKO.DATUMVON <= '29.07.2021' | ||
+ | and BESTKO.STATUSNR=2 | ||
+ | and BESTKO.KENNZMIETEKAUF < 3 | ||
+ | and (BESTKO.TransportProjektNr_B=0 or BESTKO.TransportProjektNr_B is NULL) | ||
+ | and (BESTKO.TransportDurchLieferant = 0) | ||
+ | union | ||
+ | select 3 as Satzart, | ||
+ | 0 as AnzMIProbLoesungen, | ||
+ | BESTKO.BESTNR,BESTKO.STATUSNR, BESTKO.STATUSTEXT,1 as BESTKO_TransportStatus, | ||
+ | BESTKO.TransportProjektNr, BESTKO.TransportProjektNr_B, | ||
+ | BESTKO.ADRNR,BESTKO.ADRKURZNAME,BESTKO.ADRESSE,'' as BESTKO_ADRANSPR_ID_STRING, | ||
+ | BESTKO.LANDKENNZ,BESTKO.PLZ,BESTKO.ORT,BESTKO.LAND,BESTKO.ZUVERANSTNAME as BESTKO_VERANSTNAME, | ||
+ | BESTKO.DATUMBIS as TransportDatum, '' as TransportZeit, | ||
+ | BESTKO.VERSANDTEXT as TransportText, | ||
+ | BESTKO.BEARBEITERKURZN as BEARBEITER, BESTKO.DATUMVON,BESTKO.ZEITVON,BESTKO.DATUMBIS,BESTKO.ZEITBIS, | ||
+ | BESTKO.LogistikKennz_L1, BESTKO.LogistikKennz_L2, BESTKO. LogistikKennz_T1, BESTKO.LogistikKennz_T2, | ||
+ | BESTKO.LogistikKennzR_L1,BESTKO.LogistikKennzR_L2,BESTKO.LogistikKennzR_T1, BESTKO.LogistikKennzR_T2, | ||
+ | BESTKO.KennzMieteKauf as BESTKO_KennzMieteKauf, | ||
+ | BESTRUECKAN.TransportZonen_ID,TransportZonen.Zone as Zone, | ||
+ | BESTRUECKAN.TransportKennz, | ||
+ | BESTRUECKAN.ORT as AktionsOrt,BESTRUECKAN.PLZ as AktionsPlz,BESTRUECKAN.LANDKENNZ as AktionsLandKennz,BESTRUECKAN.STR as AktionsStr, | ||
+ | BESTRUECKAN.Adresse AktionsAdresse, | ||
+ | BESTRUECKAN.TransportKennz1, | ||
+ | Entfernungen.EntfernungKm, | ||
+ | ( | ||
+ | select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT | ||
+ | where BestNr = BESTKO.BESTNR | ||
+ | ) as DispoGewicht, | ||
+ | ( | ||
+ | select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT | ||
+ | where BestNr = BESTKO.BESTNR | ||
+ | ) as DispoVolumen, | ||
+ | ( | ||
+ | select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where Bestnr = BESTKO.BESTNR | ||
+ | ) as Gewicht, | ||
+ | ( | ||
+ | select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where Bestnr = BESTKO.BESTNR | ||
+ | ) as AusgabeGewicht, | ||
+ | ( | ||
+ | select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where Bestnr = BESTKO.BESTNR | ||
+ | ) as Volumen, | ||
+ | ( | ||
+ | select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P | ||
+ | left outer join MART A on A.artnr=P.artnr | ||
+ | where Bestnr = BESTKO.BESTNR | ||
+ | ) as AusgabeVolumen | ||
+ | FROM BESTKO BESTKO | ||
+ | join BESTRUECKAN BESTRUECKAN on BESTRUECKAN.BESTNR=BESTKO.BESTNR | ||
+ | left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=BESTRUECKAN.PLZ and Entfernungen.Ort=BESTRUECKAN.ORT | ||
+ | left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=BESTRUECKAN.TransportZonen_ID | ||
+ | where BESTKO.DATUMBIS >= '22.07.2021' | ||
+ | and BESTKO.DATUMBIS <= '29.07.2021' | ||
+ | and BESTKO.STATUSNR=2 | ||
+ | and BESTKO.KENNZMIETEKAUF < 3 | ||
+ | and (BESTKO.TransportProjektNr=0 or BESTKO.TransportProjektNr is NULL) | ||
+ | and (BESTKO.TransportDurchLieferantR = 0) | ||
+ | order by TransportKennz desc, MAUFKO.VERANSTVONDAT,MAUFKO.ADRKURZNAME | ||
+ | |||
|} | |} |
Aktuelle Version vom 18. Juli 2023, 11:55 Uhr
FunFacts - Interessante Zahlen zu REFLEX
Zahl | Was | |
---|---|---|
2,5 Millionen Zeilen | Quellcode bilden REFLEX! Dazu kommen noch ca. 3 Millionen Zeilen für die Fenster-Definitionen, also die Programmbefehle, die die Optik von Fenstern und Dialogen bestimmt. | |
50.000 Seiten | wären das ausgedruckt!
Auf eine DIN A4-Seite passen ca. 50 Zeilen. Bei ca. 2,5 Millionen Zeilen Code wären das dann ca. 50.000 Seiten, beidseitig bedruckt ca. 25.000 Seiten. | |
5,5 m hoch | wäre der ausgedruckte Stapel: Wenn ein Blatt Papier 0,1 mm dick ist, bedeutet das einen Stapel von 2.500 mm oder 2,5 m hoher Stapel.
Bei ca. 3 Millionen Zeilen Fenster-Definitions-Beschreibungen wären das dann ca. 60.000 Seiten, beidseitig bedruckt ca. 30.000 Seiten. Wenn ein Blatt Papier 0,1 mm dick ist, bedeutet das einen Stapel von 3.000 mm oder 3 m hoher Stapel. Der ganze Quellcode ausgedruckt ergäbe also einen Papierstapel von ca. 5,5 m Höhe! | |
2.038 Fenster | und Dialoge gibt es in REFLEX!
| |
83.523 mal "if" | Anweisungen stehen im Source-Code.
if sSearch > ´´ then if FrmMain.bMandantenTransfer then if (Key=VK_ESCAPE) then if DatVon > DatBis then | |
5.520 mal "if" | Anweisungen stehen allein in der Auftragsverwaltung. | |
55.628 Bezeichnungen | werden in REFLEX in den Eingabemasken verwendet, also z.B. "Auftr.Nr.:"
Dazu kommen noch es 4.274 Texte in Meldungen, Hilfstexten usw., also z.B. "Wollen Sie wirklich...?", "Bitte zuerst den Artikel auswählen" usw. | |
350 Einstellungen | gibt es in den Programm-Parametern (Stand Anfang 2021), mit denen das Programm an die Anforderungen der Firmen angepasst werden kann.
u.v.a.m. | |
2.455 Stellen | im Programm sind mit Kunden-spezifische Anpassungen versehen, die das Verhalten des Programms steuern.
| |
40 spezifische Module | mit speziellen Aufgaben gibt es in REFLEX:
| |
Die größte SQL-Abfrage | ist diese:
select 1 as Satzart, ( select count(*) from MAUFPO where AuftrNr=MAUFKO.AUFTRNR and MIAuftrDispo_ID > 0 ) as AnzMIProbLoesungen, MAUFKO.AUFTRNR,MAUFKO.STATUSNR,MAUFKO.STATUSTEXT,MAUFKO.TransportStatus, MAUFKO.TransportProjektNr, MAUFKO.TransportProjektNr_B, MAUFKO.ADRNR,MAUFKO.ADRKURZNAME, MAUFKO.ADRESSE, MAUFKO.ADRANSPR_ID_STRING, MAUFKO.LANDKENNZ,MAUFKO.PLZ,MAUFKO.ORT,MAUFKO.LAND,MAUFKO.VERANSTNAME, MAUFKO.VERANSTVONDAT as TransportDatum,MAUFKO.VERANSTVONZEIT as TransportZeit,MAUFKO.VERANSTVONTEXT as TransportText, MAUFKO.BEARBEITER,MAUFKO.DATUMVON,MAUFKO.ZEITVON,MAUFKO.DATUMBIS,MAUFKO.ZEITBIS, MAUFKO.LogistikKennz_L1, MAUFKO.LogistikKennz_L2, MAUFKO.LogistikKennz_T1, MAUFKO.LogistikKennz_T2, MAUFKO.LogistikKennzR_L1, MAUFKO.LogistikKennzR_L2, MAUFKO.LogistikKennzR_T1, MAUFKO.LogistikKennzR_T2, 0 as BESTKO_KennzMieteKauf, MAUFLIAN.TransportZonen_ID,TransportZonen.Zone as Zone, MAUFLIAN.TransportKennz, MAUFLIAN.ORT as AktionsOrt,MAUFLIAN.PLZ as AktionsPlz,MAUFLIAN.LANDKENNZ as AktionsLandKennz,MAUFLIAN.STR as AktionsStr, MAUFLIAN.Adresse AktionsAdresse, MAUFLIAN.TransportKennz1, Entfernungen.EntfernungKm, ( select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT where auftrnr = MAUFKO.AUFTRNR and MAUFKO.StatusNr <> 1 ) as DispoGewicht, ( select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT where auftrnr = MAUFKO.AUFTRNR and MAUFKO.StatusNr <> 1 ) as DispoVolumen, ( select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE + P.RESERVEMENGE ) ) from MAUFPO P left outer join MART A on A.artnr=P.artnr where auftrnr = MAUFKO.AUFTRNR ) as Gewicht, ( select sum( A.BRUTTOGEWICHT * (P.AKTAUSGMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P left outer join MART A on A.artnr=P.artnr where auftrnr = MAUFKO.AUFTRNR ) as AusgabeGewicht, ( select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE + P.RESERVEMENGE ) ) from MAUFPO P left outer join MART A on A.artnr=P.artnr where auftrnr = MAUFKO.AUFTRNR ) as Volumen, ( select sum( A.VERP_VOLUMEN * (P.AKTAUSGMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P left outer join MART A on A.artnr=P.artnr where auftrnr = MAUFKO.AUFTRNR ) as AusgabeVolumen FROM MAUFKO MAUFKO left outer join MAUFLIAN MAUFLIAN on MAUFLIAN.AUFTRNR=MAUFKO.AUFTRNR left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=MAUFLIAN.PLZ and Entfernungen.Ort=MAUFLIAN.ORT left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=MAUFLIAN.TransportZonen_ID where ( MAUFKO.AUFTRNR=900003682) or ( ( MAUFKO.VERANSTVONDAT >= '22.07.2021' and MAUFKO.VERANSTVONDAT <= '29.07.2021' and MAUFKO.STATUSNR in (1,2,99) and (MAUFKO.TransportProjektNr=0 or MAUFKO.TransportProjektNr is NULL) and MAUFKO.VERANSTVONTEXT='Veranst. von' and (select count(*) from TRAPOPROJEKTLADEEINHEIT where AuftrNr=MAUFKO.AUFTRNR and MAUFKO.STATUSTEXT='AUSG') = 0 ) or ( MAUFLIAN.TransportKennz = 1 and MAUFKO.TransportProjektNr=0 and MAUFKO.STATUSNR in (1,2,99) and MAUFKO.DATUMVON <= '30.07.2021' ) ) union select 2 as Satzart, ( select count(*) from MAUFPO where AuftrNr=MAUFKO.AUFTRNR and MIAuftrDispo_ID > 0 ) as AnzMIProbLoesungen, MAUFKO.AUFTRNR,MAUFKO.STATUSNR,MAUFKO.STATUSTEXT,MAUFKO.TransportStatus, MAUFKO.TransportProjektNr, MAUFKO.TransportProjektNr_B, MAUFKO.ADRNR,MAUFKO.ADRKURZNAME,MAUFKO.ADRESSE,MAUFKO.ADRANSPR_ID_STRING, MAUFKO.LANDKENNZ,MAUFKO.PLZ,MAUFKO.ORT,MAUFKO.LAND,MAUFKO.VERANSTNAME, MAUFKO.VERANSTBISDAT as TransportDatum,MAUFKO.VERANSTBISZEIT as TransportZeit,MAUFKO.VERANSTBISTEXT as TransportText, MAUFKO.BEARBEITER,MAUFKO.DATUMVON,MAUFKO.ZEITVON,MAUFKO.DATUMBIS,MAUFKO.ZEITBIS, MAUFKO.LogistikKennz_L1, MAUFKO.LogistikKennz_L2, MAUFKO.LogistikKennz_T1, MAUFKO.LogistikKennz_T2, MAUFKO.LogistikKennzR_L1, MAUFKO.LogistikKennzR_L2, MAUFKO.LogistikKennzR_T1, MAUFKO.LogistikKennzR_T2, 0 as BESTKO_KennzMieteKauf, MAUFRUECKAN.TransportZonen_ID,TransportZonen.Zone as Zone, MAUFRUECKAN.TransportKennz, MAUFRUECKAN.ORT as AktionsOrt,MAUFRUECKAN.PLZ as AktionsPlz,MAUFRUECKAN.LANDKENNZ as AktionsLandKennz,MAUFRUECKAN.STR as AktionsStr, MAUFRUECKAN.Adresse AktionsAdresse, MAUFRUECKAN.TransportKennz1, Entfernungen.EntfernungKm, ( select sum( AktZuladung_B ) from TRAPOPROJEKTLADEEINHEIT where auftrnr = MAUFKO.AUFTRNR ) as DispoGewicht, ( select sum( AktVolumen_B ) from TRAPOPROJEKTLADEEINHEIT where auftrnr = MAUFKO.AUFTRNR ) as DispoVolumen, ( select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE + P.RESERVEMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P left outer join MART A on A.artnr=P.artnr where auftrnr = MAUFKO.AUFTRNR ) as Gewicht, ( select sum( A.BRUTTOGEWICHT * (P.AKTAUSGMENGE - P.BISHRUECKMENGE + P.AUSGFREMDMENGE ) ) from MAUFPO P left outer join MART A on A.artnr=P.artnr where auftrnr = MAUFKO.AUFTRNR ) as AusgabeGewicht, ( select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE + P.RESERVEMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P left outer join MART A on A.artnr=P.artnr where auftrnr = MAUFKO.AUFTRNR ) as Volumen, ( select sum( A.VERP_VOLUMEN * (P.AKTAUSGMENGE - P.BISHRUECKMENGE + P.AUSGFREMDMENGE ) ) from MAUFPO P left outer join MART A on A.artnr=P.artnr where auftrnr = MAUFKO.AUFTRNR ) as AusgabeVolumen FROM MAUFKO MAUFKO left outer join MAUFRUECKAN MAUFRUECKAN on MAUFRUECKAN.AUFTRNR=MAUFKO.AUFTRNR left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=MAUFRUECKAN.PLZ and Entfernungen.Ort=MAUFRUECKAN.ORT left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=MAUFRUECKAN.TransportZonen_ID where ( MAUFKO.AUFTRNR=900003682) or ( ( MAUFKO.VERANSTBISDAT >= '22.07.2021' and MAUFKO.VERANSTBISDAT <= '29.07.2021' and MAUFKO.STATUSNR in (1,2,99) and (MAUFKO.TransportProjektNr_B=0 or MAUFKO.TransportProjektNr_B is NULL) and MAUFKO.VERANSTBISTEXT='Veranst. bis' ) or ( MAUFRUECKAN.TransportKennz = 1 and MAUFKO.TransportProjektNr_B=0 and MAUFKO.STATUSNR in (1,2,99) and MAUFKO.VERANSTBISDAT <= '30.07.2021' ) ) union select 4 as Satzart, 0 as AnzMIProbLoesungen, BESTKO.BESTNR,BESTKO.STATUSNR, BESTKO.STATUSTEXT,1 as BESTKO_TransportStatus, BESTKO.TransportProjektNr, BESTKO.TransportProjektNr_B, BESTKO.ADRNR,BESTKO.ADRKURZNAME,BESTKO.ADRESSE, as BESTKO_ADRANSPR_ID_STRING, BESTKO.LANDKENNZ,BESTKO.PLZ,BESTKO.ORT,BESTKO.LAND,BESTKO.ZUVERANSTNAME as BESTKO_VERANSTNAME, BESTKO.DATUMVON as TransportDatum, as TransportZeit,BESTKO.VERSANDTEXT as TransportText, BESTKO.BEARBEITERKURZN as BEARBEITER, BESTKO.DATUMVON,BESTKO.ZEITVON,BESTKO.DATUMBIS,BESTKO.ZEITBIS, BESTKO.LogistikKennz_L1, BESTKO.LogistikKennz_L2, BESTKO. LogistikKennz_T1, BESTKO.LogistikKennz_T2, BESTKO.LogistikKennzR_L1,BESTKO.LogistikKennzR_L2,BESTKO.LogistikKennzR_T1, BESTKO.LogistikKennzR_T2, BESTKO.KennzMieteKauf as BESTKO_KennzMieteKauf, BESTLIAN.TransportZonen_ID,TransportZonen.Zone as Zone, BESTLIAN.TransportKennz, BESTLIAN.ORT as AktionsOrt,BESTLIAN.PLZ as AktionsPlz,BESTLIAN.LANDKENNZ as AktionsLandKennz,BESTLIAN.STR as AktionsStr, BESTLIAN.Adresse AktionsAdresse, BESTLIAN.TransportKennz1, Entfernungen.EntfernungKm, ( select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT where BestNr = BESTKO.BESTNR ) as DispoGewicht, ( select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT where BestNr = BESTKO.BESTNR ) as DispoVolumen, ( select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P left outer join MART A on A.artnr=P.artnr where Bestnr = BESTKO.BESTNR ) as Gewicht, ( select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P left outer join MART A on A.artnr=P.artnr where Bestnr = BESTKO.BESTNR ) as AusgabeGewicht, ( select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P left outer join MART A on A.artnr=P.artnr where Bestnr = BESTKO.BESTNR ) as Volumen, ( select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P left outer join MART A on A.artnr=P.artnr where Bestnr = BESTKO.BESTNR ) as AusgabeVolumen FROM BESTKO BESTKO join BESTLIAN BESTLIAN on BESTLIAN.BESTNR=BESTKO.BESTNR left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=BESTLIAN.PLZ and Entfernungen.Ort=BESTLIAN.ORT left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=BESTLIAN.TransportZonen_ID where BESTKO.DATUMVON >= '22.07.2021' and BESTKO.DATUMVON <= '29.07.2021' and BESTKO.STATUSNR=2 and BESTKO.KENNZMIETEKAUF < 3 and (BESTKO.TransportProjektNr_B=0 or BESTKO.TransportProjektNr_B is NULL) and (BESTKO.TransportDurchLieferant = 0) union select 3 as Satzart, 0 as AnzMIProbLoesungen, BESTKO.BESTNR,BESTKO.STATUSNR, BESTKO.STATUSTEXT,1 as BESTKO_TransportStatus, BESTKO.TransportProjektNr, BESTKO.TransportProjektNr_B, BESTKO.ADRNR,BESTKO.ADRKURZNAME,BESTKO.ADRESSE, as BESTKO_ADRANSPR_ID_STRING, BESTKO.LANDKENNZ,BESTKO.PLZ,BESTKO.ORT,BESTKO.LAND,BESTKO.ZUVERANSTNAME as BESTKO_VERANSTNAME, BESTKO.DATUMBIS as TransportDatum, as TransportZeit, BESTKO.VERSANDTEXT as TransportText, BESTKO.BEARBEITERKURZN as BEARBEITER, BESTKO.DATUMVON,BESTKO.ZEITVON,BESTKO.DATUMBIS,BESTKO.ZEITBIS, BESTKO.LogistikKennz_L1, BESTKO.LogistikKennz_L2, BESTKO. LogistikKennz_T1, BESTKO.LogistikKennz_T2, BESTKO.LogistikKennzR_L1,BESTKO.LogistikKennzR_L2,BESTKO.LogistikKennzR_T1, BESTKO.LogistikKennzR_T2, BESTKO.KennzMieteKauf as BESTKO_KennzMieteKauf, BESTRUECKAN.TransportZonen_ID,TransportZonen.Zone as Zone, BESTRUECKAN.TransportKennz, BESTRUECKAN.ORT as AktionsOrt,BESTRUECKAN.PLZ as AktionsPlz,BESTRUECKAN.LANDKENNZ as AktionsLandKennz,BESTRUECKAN.STR as AktionsStr, BESTRUECKAN.Adresse AktionsAdresse, BESTRUECKAN.TransportKennz1, Entfernungen.EntfernungKm, ( select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT where BestNr = BESTKO.BESTNR ) as DispoGewicht, ( select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT where BestNr = BESTKO.BESTNR ) as DispoVolumen, ( select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P left outer join MART A on A.artnr=P.artnr where Bestnr = BESTKO.BESTNR ) as Gewicht, ( select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P left outer join MART A on A.artnr=P.artnr where Bestnr = BESTKO.BESTNR ) as AusgabeGewicht, ( select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P left outer join MART A on A.artnr=P.artnr where Bestnr = BESTKO.BESTNR ) as Volumen, ( select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P left outer join MART A on A.artnr=P.artnr where Bestnr = BESTKO.BESTNR ) as AusgabeVolumen FROM BESTKO BESTKO join BESTRUECKAN BESTRUECKAN on BESTRUECKAN.BESTNR=BESTKO.BESTNR left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=BESTRUECKAN.PLZ and Entfernungen.Ort=BESTRUECKAN.ORT left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=BESTRUECKAN.TransportZonen_ID where BESTKO.DATUMBIS >= '22.07.2021' and BESTKO.DATUMBIS <= '29.07.2021' and BESTKO.STATUSNR=2 and BESTKO.KENNZMIETEKAUF < 3 and (BESTKO.TransportProjektNr=0 or BESTKO.TransportProjektNr is NULL) and (BESTKO.TransportDurchLieferantR = 0) order by TransportKennz desc, MAUFKO.VERANSTVONDAT,MAUFKO.ADRKURZNAME |