Naja, gut. Ist das Viertel nach?
Bisschen später. Dann fangen wir an. Nützt ja nichts
. Also ich würde jetzt eigentlich am liebsten sagen,
klappt die Laptops zu oder geht,
aber wenn man so wenig Zuhörer hat, ist das natürlich schwierig.
Und die auch noch verscheucht.
Ist das jetzt dem Fußball geschuldet oder der Uhrzeit?
Oder ist normal? Okay, gut. Ja, geil.
Carola kommt etwas später. Die steckt noch im Verkehr fest.
Aber heute soll ja sowieso ich euch was erzählen.
Wir machen heute zur Fall des Tages
nur die Hälfte
Nur eine Dreiviertelstunde und dann seid ihr auch entlassen. Ja,
ich erzähle euch heute was zur SAP und weil das hier,
wenn ich das richtig verstanden habe,
eine Vorlesung ist über Softwarearchitektur,
habe ich den Untertitel auch mal Architektur und eines ERP-Systems genannt.
Ja, kurz zu mir, ich heiße Henning Schwendner,
ich habe auch hier wie ihr Informatik studiert,
noch im Diplomstudiengang.
Und arbeite jetzt als Softwarearchitekt in der C1 WPS.
Das ist eine kleine, aber feine Beratung.
Meine Schwerpunkte sind dabei, High-Polity-Software. Das habe ich
mir hierfür ausgedacht, fand ich. Das klingt gut.
Das ist nämlich das, was wir viel machen.
Also wir wollen Software bauen, die äußere gute Qualität hat,
aber die auch innere gute Qualität hat.
Das passt ja gut hierher, denn darum geht es ja
auch bei Softwarearchitekturen.
Gute innere Qualität sagen
Großer Refactoring, das habe ich auch noch drauf geschrieben,
da habe ich meine Diplomarbeit drüber geschrieben,
wird heute nicht so ein Thema sein.
Testen, auch immer eine schöne Sache und momentan SAP.
Eigentlich bin ich von Haus aus in Java zu Hause und
eher in der Individualsoftwareentwicklung. Aber wie das so ist im Projektgeschäft,
da macht man die Projekte, die gerade da sind.
Deswegen bin ich jetzt seit zwei Jahren in einem SAP-Projekt
und da entwickeln wir mit der SAP eigenen Programmiersprache.
Aber wer von euch kennt die? Wer hat da schon
mal gehört? Keiner. Oder seid ihr eingeschlafen
Nein, okay. Wer kennt Yara? Gegenprobe. Okay
. Soll ich das Mikro? Vielleicht etwas anders halten?
Sag doch was. Oder kommt nach vorne. So. Okay.
Geht das so auch? Okay, also dann nochmal die Frage.
Wer hat schon mal was gehört von der Programmiersprache ABAB?
Keiner. Du vielleicht. Wie viel Informatiker haben wir
denn hier
Und der Rest sind Wirtschaftsinformatiker. Okay. Gut,
dann ist es gut, dass ihr heute davon hört.
Von SAP haben alle schon mal gehört.
Klar. Okay. Vielleicht. Ja, das ist,
genau, das ist das, was wir uns heute angucken.
Erstmal allgemein was zu ERP und ZAP.
Dann, wie hat sich das Ganze historisch entwickelt?
Dann gucken wir uns drei verschiedene Architekturen an von dem System.
Die fachliche Architektur, eine technische Architektur und sowas,
was ich programmiere, Architektur.
Und so was, was ich Programmierarchitektur genannt habe.
Und wenn wir dann noch Zeit haben,
dann gucken wir uns das System vielleicht auch noch
einen Moment an
Ja. ERP, Enterprise, Resource Planning,
hat davon schon mal jemand was gehört.
Ja. Und was ist das? Steht jetzt da,
aber... Etwas lottern. Genau, also die Antwort war
jetzt, die Wertschöpfungskette eines Unternehmens durch ein System unterstützen.
Ja. Finde ich, finde ich auch eine gute Definition
Also ich habe das hier mal so aus der Literatur eingedeutscht.
Planung der Unternehmensressourcen. Also so ein Unternehmen,
das hat verschiedene Abteilungen, die haben verschiedene Aufgaben.
Und bei vielen macht es Sinn, dass die irgendwie durch EDV unterstützt werden.
Entschuldigung. Bei vielen macht es Sinn, dass die durch EDV
unterstützt werden. Und ein ERP-System unterstützt eben genau dabei.
Typisch ist, dass so ein ERP-System Standardaufgaben erfüllt.
Also Aufgaben, die in allen möglichen Unternehmen vorkommen.
Also alle Unternehmen haben Mitarbeiter, deswegen macht es überall Sinn,
sowas wie ein Personalwesen zu haben
Oder jedes Unternehmen muss einen Jahresabschluss machen.
Man muss eine Buchhaltung machen. Deswegen macht es Sinn,
einen Standard zu haben für eine Finanzbuchhaltung.
Und genau sowas bietet ein ERP-System an.
Muss aber nicht nur so typische Aufgaben anbieten.
Es gibt auch für spezielle Branchen die Eigenheiten haben,
eigene Module. Dazu vielleicht noch später. Ja,
SAP ist nun auch ein Hersteller von ERP-Systemen.
Also eigentlich ist es
der Hersteller von ERP-Systemen
In Deutschland sowieso, aber auch weltweit den größten Marktanteil.
Und ihr Hauptprodukt heißt ganz fantasierreich, SAP, ERP.
Heutzutage. Ja, gegründet sind die 72 und sitzen in Waldorf.
Der Name SAP stand ursprünglich mal für Systemanalyse und Programmentwicklung.
Dann haben Sie irgendwann gedacht, Systeme,
Anwendungen und Produkte in der Datenverarbeitung ist noch schöner.
Und das haben Sie dann nochmal auf Englisch übersetzt.
Und ich glaube, der aktuelle Stand ist,
dass es einfach nur noch SAP heißt
Gut, dann gucken wir uns mal an, wie das Ganze entstanden ist.
Also es haben fünf Kollegen von IBM irgendwann beschlossen,
dass sie nicht länger für IBM arbeiten wollen, sondern auf eigene Rechnung,
sind dann da ausgeschieden und haben einen eigenen Laden gegründet und das war eben die SAP.
Und dass sie von IBM kommen,
das ist wichtig für die Entwicklung, weil also das Ursprüngliche,
das erste System, was die gebaut haben,
entsprechend auch auf dem IBM Mainframe lief,
also auf dem Großrechen, auf dem Haus.
Und die ganze Denke,
die hinter dem System steckt,
technisch die ist auch
Typisch Großnachrichtenermäßig. Wenn wir nachher sehen, wenn wir uns
die Live-Demo angucken können. Ja, heute steht im Internet,
dass sie so ungefähr 47.000 Mitarbeiter haben und 10 Milliarden Umsatz machen.
In 2009. Also davor wahrscheinlich noch mehr. Ja,
das erste System, was die geschrieben haben, hört auf den schönen Namen
R1. Für Real Time 1. Damals muss man sich vorstellen,
war so ein Computersystem eben typischerweise im Badge irgendwie
Irgendwie einen Job abgegeben und am nächsten Tag,
wenn man Glück hatte, war er durch und nicht abgeschmiert.
Und man hatte nicht ein reaktives System, wie wir das heute haben.
Und das war eben R1 schon ein reaktives System,
wo man direkt, wenn man irgendeine Taste gedrückt hat,
sofort eine Reaktion gesehen hat.
Deswegen steht das eher für Realtime,
also man kann in Echtzeit damit arbeiten.
Ursprünglich haben die das alles mal in Assembler geschrieben.
Und das erste System war eben noch kein rundherum ERP-System,
sondern für die Finanzbuchhaltung. Mit R2 hat man es dann
weiter ausgebaut,
in alle Richtungen,
in alle Richtungen
Und er zwei ist auch nicht mehr in Assembler geschrieben,
sondern in A-Bab, in dieser SAP eigenen Programmiersprache,
die gewissermaßen für R2 entwickelt wurde.
Und hier rechts. Unten kann man sehen.
Kann man das sehen? So mäßig. Ich würde
die Rollos runterlassen, aber dann schlaft ihr mir ein.
Das lasse ich lieber ein. Also was man sehen kann,
es ist ein großer schwarzer Fleck.
Und darauf ist ein bisschen gelbe Schrift. Das ist eigentlich
auch das, was das transportieren soll.
Also es ist noch nicht so hübsch,
hui-mäßig und bunt,
wie man das heute beim Windows-System kennt
Ihr werdet nachher sehen, dass das aktuelle System heute auch nicht so ist.
Also auch nicht so richtig wie Windows, aber schon mehr in die Richtung.
Ja, das wichtige System, das dann kam,
ist R3, damit sind die richtig erfolgreich geworden.
Da ist dann auch sowas wie Customizing eingeführt worden.
Customizing ist die Idee, dass man sagt, ja,
es ist schön, wenn man eine Standardsoftware hat,
aber trotzdem unterscheiden sich die Unternehmen eben doch voneinander und teilweise
relativ stark und die brauchen vielleicht auch doch irgendwie unterschiedliche Programme.
Und die Idee beim Customizing ist, dass man
die Standardsoftware nimmt und dann an das einzelne Unternehmen anpasst.
Typischerweise ist es aber auch so,
wenn man SAP in einem Unternehmen einführt oder in einer Organisation,
dann wird zwar das System angepasst, aber das Unternehmen meistens auch. Ja,
und heute heißt es, heißt das System ERP,
das ist im Prinzip das R3 mit noch ein paar anderen Sachen,
also heute muss man nicht mehr alles in Arbeit machen,
man kann heute auch in Java entwickeln und man kann tolle neue Buzzword-Geschichten machen,
also man kann Web-Bin-Pro machen, das sind Web-Applikationen,
hat die schon mal von Web-Applikationen gesprochen,
Was das ist. Und was ist das? Ja,
also die Antwort, wenn ich die jetzt richtig verstanden habe,
also ein Java-Programm, was man ins Web stellt.
So, wer, wer, wer, wer.
Okay, und das unterscheidet eine Webapplikation von einer anderen Applikation
Genau. Eine Mobilität. Zum Beispiel von Beziehung.
Das sind so typische Wetapplikationen, die wir alle nutzen.
Jeden Tag. Bitte
Ja. Gmail, würde ich sagen,
ist eine Verbilifikation. Und Thunder, du sagst,
alle E-Mail-Programme sind Webapplikationen, ist Thunderbird auch eine Webapplikation?
Genau. Ja
Sehe ich auch so. Also ich hätte jetzt gedacht,
als erstes kommt Google, weil das ist ja,
gehe ich davon aus, dass sie das auch alle,
so wie ich jeden Tag permanent benutze.
Also das ist eben nicht nur eine Webseite,
sondern die ist auch irgendwie dynamisch. Ja. Okay,
aber Gmail ist natürlich super, um eben den Unterschied zu sehen.
Also Gmail, ein Web-Mail-Client ist eben eine Webapplikation und ein
richtiger Mail-Client wie Thunderbird oder was auch immer eben nicht.
Gut, und sowas kann man mit SAP eben heute auch machen,
weil wie das so ist,
bei SAP muss natürlich auch jedes Buzzword erfüllt werden.
Also deswegen steht hier auch Net Weaver,
das ist der tolle neue Name, Weaver,
also Weben, da merkt man schon,
das hat irgendwie mit Netz zu tun und mit Web und so.
Und Soa kann man heute auch machen.
Soa ist euch, habt ihr schon mal gehört?
Gehen wir nicht weiter drauf ein. Okay,
dann kommen wir jetzt mal zu der fachlichen Architektur.
Da wird das System SAP so eingeteilt oder das SAP-ERP in,
kann man einteilen auf drei Granularitätsebenen.
Anwendungsbereiche,
Module und Komponenten
Das wollte ich nicht machen. Ja, bei den Anwendungsbereichen
wird es unterteilt, in diese drei blauen Säulen hier links.
Das sind die drei Säulen, die standardmäßig schon an Bord sind.
Rechnungswesen, Logistik, Personalwesen. Die sind ziemlich breit,
da ist alles Mögliche drin. Daneben gibt es auch noch
Branchenlösungen und da gibt es zwei Fälle, also Branchenlösungen,
die SAP direkt anbietet oder Branchenlösungen, die von Dritten angeboten werden,
die von Dritten gebaut werden auf der SAP-Basis.
Wenn man sich das wenn man sich das dann etwas näher anguckt.
Entschuldigung. Wenn man sich das etwas näher anguckt,
in den Modulen, dann sieht man hier unten diesen langen,
blauen Balken, diesen breiten, blauen Balken, SAP,
ECC, ERP, Central Component, muss ich selber nachgucken.
Das ist also die Basis, auf der alles andere aufsetzt.
Und das sind so Säulen. Diese Module, die haben
in SAP typischerweise zwei buchstabige Abkürzungen, manchmal auch drei.
Und wenn man mit SAP-Leuten spricht,
dann sprechen die permanent in diesen Begriffen
Also ich mache FI oder ich mache CO.
Oder SD oder weißer Geier. Bei den Branchenlösungen
habe ich hier auch nochmal zwei von SAP aufgeschrieben beispielsweise.
ISAH und IS Eul. IS heißt irgendwie, dass das
eine Branchenlösung ist. A für Automotive und Eul für Öl und Gas
. Automotive sind eben irgendwelche Fahrzeughersteller und Ähnliches,
die haben
Bestimmte Anwendungen, die irgendwie gemeinsam dann auch standardisiert werden können.
Und dann gibt es noch Branchenlösungen, die von Dritten gebaut wird.
Da tummel ich mich, deswegen habe ich da mein Projekt dazu geschrieben.
Lisa, das ist ein Modul auf SAP-Basis,
um Leasing zu unterstützen. Aber es gibt auch von,
es gibt alle möglichen Module, die da gebaut werden.
Es gibt auch noch ganz typisch die Möglichkeit,
dass auf der SAP-Basis innerhalb eines Unternehmens für das Unternehmen
was Spezielles gebaut wird.
Hallo Cola
Was ist da? Haben wir die Zeit auch nicht,
glaube ich. Ja, ich habe eben gezeigt,
dass das alles so Säulen sind, die nebeneinander stehen.
Die sind aber nicht sowas wie, nicht so richtig sowas wie Slices.
Sowas hast du schon eingeführt, nehme ich an. Also solche Schnitte,
die nebeneinander stehen und keine Abhängigkeiten voneinander haben,
sondern es ist eben eine fachliche Architektur, die Säulen,
die stehen nebeneinander, aber sie interagieren schon miteinander.
Also zum Beispiel, Wenn man sich anguckt,
die Säulen SD, also Vertrieb, Verkauf und FI-Finanzbuchhaltung,
dann kann man sich eben vorstellen, wenn irgendwas verkauft wird,
dann soll das auch in der Buchhaltung ankommen.
Damit die das buchen kann. Und so sind die Module
ziemlich eng miteinander verzahnt. Das ist typischerweise auch so,
wenn man sich so ein SAP-ERP-System installiert.
Wenn man sich so ein SAP-ERP-System installiert oder,
genau wie gesagt, das installiert bekommt,
dass man eigentlich das ganze System kriegt und die Teile,
die man nicht braucht,
die werden abgeschaltet
Also es ist eigentlich nicht so,
dass man die Basis installiert kriegt und dann die einzelnen Säulen,
sondern eher das Ganze und der Rest wird dann abgeschenkt.
Das gilt für diesen linken, blauen Bereich. Natürlich für
die Branchenlösung und für die Lösung von Dritten nicht. So,
und wenn man dann noch weiter in das Detail reingeht,
dann sieht man, dass diese Module auch wieder noch aus Komponenten bestehen.
Also wir sind mal aus der Finanzbuchhaltung ein paar Beispiele aufgeführt.
FIGL, FIAP und so weiter und so fort.
Also hier Hauptbuchheilung, Kreditor und Buchhaltung
Da können die Informatiker jetzt weghören, aber ihr Wirtschaftsinformatiker.
Habt vielleicht schon mal das Wort Buchhaltung gehört. Eventuell. Ja,
soviel zur fachlichen Architektur. Fragen? Soweit? Nein.
Dann gucken wir uns das technisch nochmal etwas näher an.
Erstmal, auf was für Wirtsystemen kann man das System laufen lassen?
Ich habe schon gesagt, ursprünglich kommt es vom Host,
vom Großrechner. Das gilt auch heute noch.
Also da steht links oben ZOS
Das ist der aktuelle Name von IBM für die
ganz dicken Eisen für die großen Maschinen.
Aber typischerweise läuft es heute nicht mehr auf so einem Großrechner.
Und auch nicht mehr auf eine AS 400, sondern irgendwie auf dem Unix-System.
Solaras ist typisch. Oder auch auf dem Windows-System erstaunlicherweise.
Datenbanken kann man fast beliebig drunter stecken,
aber typisch ist es sind Oracle und Daby 2.
Von denen ihr vielleicht auch schon mal gehört habt
Und dann gibt es eine Sapphui,
das ist also eben habe ich über die Serverseite gesprochen,
für die Kleinseite gilt,
das hauptsächliche Egoi für Windows entwickelt wird,
dass Windows ab Goi,
aber es gibt auch eine Java-Implementierung und die ist im Prinzip Plattformen unabhängig und die gibt es auch für andere Systeme,
also für Unix, Linux zum Beispiel.
Oder eben auch für MacOS. Ja,
hier ist das nochmal aufgemalt, wie das früher aussah,
also in R1 und R2. Großrechner eben.
Ein dickes Eisen, deswegen ist das ein großer Kasten,
der hat eine Datenbank im Bauch
Und da hängen dumme Terminals dran. Und die Terminals haben keine eigene Intelligenz.
Sondern über die kann man nur eigentlich den Großrechner bedienen.
Und heute ist es so, wie hier rechts.
Also da gibt es mindestens drei Schichten,
die auch auf drei unterschiedlichen Systemen laufen können.
Also eine Datenbank kann auf einem System laufen.
Der Anwendungsserver, das ist also der eigentliche SAP-ERP-Server,
kann auf dem eigenen System laufen.
Und die Sappui läuft eben typischerweise auf dem Windows-Client oder was
auch immer in der Organisation da an PCs oder Workstations
für den einzelnen
Mann. Trotzdem ist es immer noch so ein bisschen Großrechnerdenke.
Also es gibt diese Sub-Gui, aber die meisten Programme,
die man auslöst, die laufen trotzdem weiterhin auf dem Server ab.
Also es ist vor allen Dingen die Interaktion mit dem Benutzer,
der eigentliche Gui-Teil, der mit dem,
der auf dem Client abläuft.
Ja, von der Implementierung her gibt es einen Kernel,
der ist im C geschrieben und der ist relativ dünn und
obendrauf gibt es einen Haufen Anwendungsprogramme
Das sind die eigentlichen Module. Und die sind typischerweise in ABAB geschrieben.
Und in letzter Zeit eben auch ein bisschen in Java,
also so seit zehn Jahren ungefähr, unterstützen die Java.
Aber es hat sich noch nicht so auf breiter Front durchgesetzt.
Ich habe eben schon darüber gesprochen. Das ist aus
so einer Großrechenderdenke herauskommt. Und auf dem Großrechner hat man
eben typischerweise Batchjobs. Und das ist eine Sache,
die man in so einem SAP-System
auch häufig hat
Hat irgendwelche Buchungsläufe oder sonstige Sachen, die dann typischerweise nachts laufen.
Und die laufen natürlich alleine auf dem Server ab.
Wenn ihr schon was über Wamm gehört habt,
habt ihr schon was über Wamm gehört?
Könnt ihr euch auch daran erinnern? Genau. Werkzeuge und Materialien
habt ihr schon gehört, Automaten. Vielleicht auch. Dann lasst
euch gesagt sein, also ein Automat ist eben ein Ding,
was eine Aufgabe automatisch abarbeitet. Also hier ist ein Getränkeautomat,
wenn ich da auf den Knopf drücke, dann führt er die Arbeit,
Dose nehmen und unten rausschmeißen und vorher nach Geld fragen,
automatisch aus.
Und so kann man sich eben so einen Batchjob auch vorstellen.
Im Gegensatz zum Werkzeug, dass ich den Hammer,
den ich selber in der Hand habe und selber hämmern muss.
Wie im Dialog, Betrieb, kann ich den Bachstop eben
einplanen und sage heute Nacht, soll der Automat anspringen.
Und meine Wäsche waschen.
Wenn der Strom günstig ist
Und wie sehe ich dann hinterher,
dass der Job auch gemacht hat, der Automat auch gemacht hat,
was ich wollte, was er tut.
Ich habe ja eben nicht die direkte Rückkopplung irgendwie im Dialog.
Das kann ich einmal eben sehen an die Daten,
die hinterher in der Datenbank sind.
Hoffentlicherweise so geändert, wie ich das haben will.
Und dann ist es ganz typisch, dass man solche Log-Ausgaben hat, ellenlang.
Gut, dann habe ich hier noch technische Architektur und fachliche Architektur.
Das sind Begriffe, die eingeführt sind, die werdet ihr woanders
auch hören. Das hier habe ich mal Programmierarchitektur genannt,
weil ich erstmal keinen besseren Begriff hatte.
Carola, vielleicht sagst du da noch was zu
Nein. Man kann grundsätzlich in zwei Programmiersprachen so
ein SAP-System programmieren, eben in ABB und in Java.
Andere Programmiersprachen gibt es bis jetzt nicht.
Man kann aus diesen Programmiersprachen direkt SQL benutzen.
Man kann sogar in den Programmiersprachen direkt SQL benutzen.
Man hat also so ein eingebettetes SQL. Ich weiß nicht
, ob ihr sowas schon mal gehört habt.
Habt ihr überhaupt schon mal von SQL gehört?
Für die, die das noch nicht gehört haben,
das ist eine Sprache, um Datenbanken zu steuern.
Also um in eine Datenbank Daten reinzuschreiben und wieder rauszuhauen.
Und SQL ist zwar ein Standard, aber jeder Datenbankhersteller interpretiert
ihn etwas anders und hat etwas andere Befehle.
Deswegen haben die bei SAP so eine Zwischenschicht eingezogen zwischen echter Datenbank und eigentlicher Anwendung.
Das nennen die OpenSQL. Sodass man als Anwendungsprogrammierer nicht merkt,
ob man auf einer DB2 oder auf eine Oracle-Datenbank unterwegs ist
und immer die gleichen er immer gleich programmieren kann.
Und entsprechend auch die Datenbank dann austauschen kann.
Dann gibt es noch eine Sache, das ist eine Besonderheit,
das werdet ihr so vermutlich noch nicht kennengelernt haben.
Das ist das Data Dictionary. Wenn ihr, habt ihr
schon mal eine Anwendung geschrieben, die auf eine Datenbank zugreift?
Ja, genau. Wer hat das schon mal getan?
Okay. Da hat man Ja, typischerweise ein Bruch.
Man muss eben eine andere Programmiersprache benutzen, eben SQL,
nicht die Sprache, in der man eigentlich entwickelt.
Und man hat auch einen Bruch auf Ebene der Datentypen. Also eine Datenbank,
die hat typischerweise so Sachen wie Integer oder Clops oder Blobs,
aber nicht was Schönes, Fachliches wie eine Personal-Kennsiffer oder oder auch nur einen Betrag.
Und das Data Dictionary Ist eine Sache,
also das Datenverzeichnis ist eine Sache, wo man genau,
wodurch man sowas, genau sowas bekommt.
Also das ist ein zentrales Verzeichnis, was auf dem ganzen System gilt,
in dem man Datentypen definieren kann.
Zum Beispiel einen Betrag oder zum Beispiel eine Personalkennziffer.
Und die kamen dann überall im System verwenden, diese Datentypen.
Also zum Beispiel in der Programmiersprache, okay,
das habe ich sonst auch. Also in Java definiere ich
mir eine Klasse und habe dadurch einen Typ definiert.
Aber in der Datenbank habe ich das eben sonst nicht
Mit diesem Dictionary habe ich es eben in beiden. Also das heißt,
ich kann in der Anwendungsprogrammierung die gleichen Datentypen verwenden,
wie ich in einer Deklaration einer Datenbanktabelle haben kann. Das heißt also,
wenn ich sonst hergehen muss und eine Datenbanktabelle definiere und sage,
vom Typ Int gibt es eine Spalte, Personenkennziffer,
kann ich jetzt eben gleich hergehen und sagen,
diese Spalte hat den Typ.
Personenkennziffer. Und dadurch ist dann eben gleich ausgeschlossen,
dass da zum Beispiel negative Werte reinkommen,
die für so eine Grenze
keinen Sinn machen
Ja, das ist das Data Dictionary.
Und die Erweiterung sparen wir uns. Und die Live-Demo fürchte
ich auch. Denn es ist jetzt völlig vor.
Wir können einmal versuchen, in das System reinzugucken.
Die Nachfolger werden ja dann auch kommen, wenn sie das brauchen.
So, ich habe das hier schon mal geöffnet.
Das ist jetzt die Windows Subgui.
Wen wundert das
Also wie viel? Ja, also ihr seht rundherum,
das ist nicht Windows, das ist macOS.
Also ich habe in der Elden Maschine da in Windows laufen,
weil man leider sagen muss, dass die Avagoui,
also die Avagoui, die nicht die Windows Goui ist,
sondern für andere Betriebssysteme da ist, nicht so dolle ist.
Deswegen benutzt man gerade als Entwickler lieber die Windows Goui.
Und da könnt ihr sehen jetzt hier,
dass SAP Easy Access Gesamtmenü. Ich habe ja von erzählt,
dass ich im Moment in so einem Leasing-Projekt arbeite,
da seht ihr hier dieses Leasing-System, da gibt es so Geschichten,
wie Vertrag, Objekt, Partner.
Ein Partner, da gehen wir jetzt mal näher rein.
Ein Partner ist ein Geschäftspartner, also jemand,
mit dem ich einen Vertrag abschließe. Wir stellen uns vor,
wir sind eine Leasing-Gesellschaft und wollen Leasing-Verträge verkaufen an Kunden.
Und ich glaube, hier müsste so ein Partner sein.
Genau. Und da sieht man, wie das so aussieht.
Also es ist nicht das typische Windows-Look in Fear,
sondern es ist das Sub-eigene Look in Fear.
Das ist so ein bisschen hässlich und ein bisschen komisch.
Muss man sich erst mal daran gewöhnen
Aber wenn man das getan hat, dann wird man damit relativ schnell.
Und dann sieht man eben hier, gibt es so ganz
typische Sachen, Reiterfelder, wo man das eingeben kann.
Ich gehe noch mal zurück. Ich will euch nämlich
eine typische Sache von SAP zeigen. Das ist die
sogenannte F4-Hilfe. Immer wenn man irgendwo was eingibt,
dann gibt es typischerweise eine F4-Hilfe.
Warum heißt die F4-Hilfe
Genau, genau, weil man die Tasse F4 drückt.
Also F1, kennt jeder von uns, kriegt man auch
unter Windows eine Hilfe und die gibt es hier auch.
Und es gibt eben auch noch die F4-Hilfe,
wenn man eine F4 drückt, kriegt man die.
Oder wenn man diesen komischen Böppel drückt, der da ist.
Und diese Hilfe ist eine Suchhilfe,
weil man bei SAP eben immer gleich einen Riesensack von Daten hat,
also hier eben alle Partner, die da drin sind,
aber nicht alle Partnernummern auswendig kann,
will man ganz typischerweise nach einem Partner suchen.
Also hier hatten wir jetzt
irgendwie Merklin
Da kann man so mit Sternen, also nicht wirklich reguläre Ausdrücke,
aber man kann es zumindest angeben, dass da noch andere Zeichen kann.
Ach, sowas kann man suchen. Und dann sieht man,
da kommen hier verschiedene Partner, sieht man, hier hat
vermutlich jemand geschlampt. Also es gibt den Partner viermal,
wahrscheinlich hat der Partner vier Verträge mit uns.
Und statt aber nur einen Partner anzulegen, hat man vier angelegt.
Okay, da wird dann die Nummer so eingetragen.
Dann kann man mit Anzeigen oder ändern,
sich den jeweils angucken
Nein. Das kommt als nächstes. Das war die Anwendung.
Der Object-Navigator ist die Entwicklungsumgebung von SAP. Und wenn man,
so wie ich, von Eclipse kommt,
dann ist es ein echter Schmerz im Hintern,
weil man also nur diese integrierte Entwicklungsumgebung nehmen kann.
Und die hat alle möglichen schönen Sachen,
die man heutzutage eigentlich hat, nicht.
Also es fängt an mit meinem Lieblings-Refactoring-Rename,
also eine Variable umbenennen oder
eine Methode umbenennen
Das muss man da noch zu Fuß machen mit der Hand am Arm.
Also ihr seht hier auf der linken Seite,
das habe ich den Repository-Browser ausgewählt.
Das Repository ist sozusagen die Sammlung der Programme, die da sind.
Da gibt es sogenannte Pakete. Hier ist das Paket ZL VT
ausgewählt. Das ZL bedeutet, lassen wir mal sein,
VT steht hier für Vertrag.
Eben waren wir im Partner. Es gibt auch passend PA-Partner
. Also wieder diese typische SAP-typische Abkürzerei
Und da kann man dann hier sehen, gibt es verschiedene Sachen.
Business Engineering Dictionary Objekte. Das ist das Data Dictionary,
von dem ich eben besprochen habe. Da gehen wir jetzt
mal rein und gucken uns an die sogenannten Datenelemente.
Und ich habe eben gesprochen von einer Personen-Kennziffer,
die haben wir hier nicht, aber wir haben hier eine Partnernummer,
die ist eben auch so was.
Das ist eigentlich eine Zahl. Das habt ihr eben gesehen,
wenn ihr aufmerksam zugeguckt habt. 1, 0, 0,
2, 7. Das ist eine Zahl, die bestimmten Bedingungen gehorchen muss.
Also zum Beispiel darf sie nicht negativ sein und sie muss
eine bestimmte Anzahl von Stellen haben und so weiter.
Deswegen ist es unpraktisch dafür, ein Entager zu nehmen.
Und viel praktischer, sich einen eigenen Typ zu definieren.
Und den haben wir hier. Es ist Z-A-D-P-A-N-R, also.
Z-A-D außen vor, P-A-N-R-Partner-Nummer. Und da kann man dann hier sehen,
aha, das ist also ein Charakter der Länge 10.
Das heißt also, so eine Partner-Nummer, die kann maximal
aus 10 Ziffern bestehen. Und auch wenn hier Charakter steht,
darf sie nicht aus Buchstaben bestehen,
das ist hier auch eine Gemeinheit von SAP
Okay, soviel mal ganz schnell zum Dictionary.
Ein richtiges Programm sollt ihr auch noch sehen.
Es gibt in der Programmiersprache, aber alle möglichen Sachen.
Also zum Beispiel kann man auch objektorientiert programmieren. Deswegen steht
hier sowas wie Klassenbibliothek. Und dann gibt es Funktionsgruppen.
Damit kann man imperativ programmieren. Und dann gibt es sogenannte Programme
. Und ich mache hier mal irgendein beliebiges Programm auf.
Und versuche euch mal zu zeigen, wie diese Programmiersprache aussieht.
Wie oben das Graue, das sind alles Kommentare
Und hier sieht man dann, das ist so ein Report ist.
Also erstmal mit Include werden andere Dateien inkludiert.
So ähnlich wie in C, wenn das jemand kennt.
Am Rande verwandt mit dem Import, was man in Jahre hat.
Und dann wird hier, gibt es verschiedene Punkte in so einem Report,
in so einem Programm, in die Initialization,
Ad Selection Screen,
Ad Selection Screen on,
einem bestimmten Parameter
Und so weiter. Und bei diesen sogenannten Ereignissen,
also Initialization und Ad Selection Screen, sind Ereignisse, passieren Dinge.
Also hier bei, beim Innet werden diese Routinen aufgerufen.
Ja, das mal so als ganz schnellen Überblick.
So sieht das aus. Also es ist für ein Java-Programmierer
schon etwas gewöhnungsbedürftig. Und kommt eher aus der Ecke
Cobol. Also ein Cobol-Entwickler fühlt sich da wohl.
Ja, so viel dazu
Super. Ja, das war die Live-Demo. Nochmal.
Zusammenfassung. SAP macht ERP-Systeme, also Enterprise-Resource-Planning. In der
fachlichen Architektur sieht man verschiedene Module, die nebeneinander stehen,
die eben fachliche Module sind, also unterschiedliche Unternehmensbereiche unterstützen.
Wir erinnern uns, zwei buchstabige Abkürzungen, F-I-C-O, HR-S-D.
Technische Architektur ist ursprünglich mal ein hohes System gewesen.
Jetzt ist es ein bisschen Richtung kleinen Server verschoben
Und für die Programmierarchitektur mithilfe von OpenSQL macht man sich unabhängig
von der Datenbank. Man hat eine eigene Programmiersprache,
dieses AWAP und es gibt diese Besonderheit mit dem Data Diction nämlich.
Okay. Ja, dann vielen Dank für eure Aufmerksamkeit.
Gibt es noch Fragen dann
Kannst du etwas lauter sprechen? Das ist der Vater,
der Vater. Ja, so ungefähr. Also die Programmiersprache
, bitte? Ja. Heute hat man Methoden,
aber die Programmiersprache ist ziemlich alt inzwischen. Und er ist
immer historisch gewachsen oder wie man unter SAP-Entwicklern sagt,
heißt die ästerisch gewachsen, weil, also jede neue Technologie,
die für Programmiersprachen als neue Sau durchs Dorf getrieben wurde,
auch in diese Sprache eingebaut wurde.
Ursprünglich hat es nur sogenannte Formroutinen gegeben. Das sind so
Unterprogramme, die Prozeduren sind. Also die waren ursprünglich parameterlos.
Die haben einfach auf globalen Variablen oder eben auf der Datenbank operiert.
Und dann wurden diese Funktionsbausteine eingeführt. Das ist eben für,
damit kriegt man eine Funktion,
also schon auch im Sinne von funktionaler Programmierung,
aber eben auch im Sinne von Prozeduren,
ähnlich Parameter mitgeben kann und die mir in Rückgabe wird,
Und als Letztes hat man dann auch Objektorientierung in die Sprache eingebaut.
Und man hat heute entsprechend auch Methoden. Das heißt,
wenn man heute auf der grünen Wiese anfängt und so
ein Modul selber schreiben will,
dann hat man alle schönen Sachen der Objektorientierung da und kann damit anfangen.
Nur leider ist es im richtigen Leben so,
dass man immer den ganzen alten Code an der Backe hat.
Und... Da gibt es einen Schreiber,
der schreibt,
ich möchte nur eh nichts
So ist es. So ist es. Ja.
Genau. Das führt dazu, dass eben viele,
aber Programme deswegen auch sehr schwer, sehr schlecht leserlich sind,
also schwer zu lesen sind, schwer zu verstehen sind.
Auf den ersten Blick, weil man alles mögliche hat.
Bitte? Ja
Also was die gut können, ist Geld verdienen.
Software entwickeln steht irgendwie gar nicht so im Vordergrund.
Also SAP wird von vielen gehasst und viele sagen, das ist große Scheiße.
Sowohl auf Anwenderseite als auch auf Entwicklerseite. Auf Anwenderseite habt ihr gesehen,
weil es altbacken ist und nicht besonders benutzerfreundlich und auf Entwicklerseite eben,
weil man diese breite Programmiersprache hat,
die einem hier eine Schweinerei erlaubt und der auch jede Schweinerei
gemacht ist
Aber trotzdem sind die sehr erfolgreich. Es gibt auch Sachen,
die sie besser machen als andere,
auch auf der technischen Seite, also das Data Adactionary ist.
Das ist ein Beispiel dafür. Okay, noch Fragen?
Gut. Könnt ihr mich da auch?
Ich glaube nicht