Navigation

Freitag, 31. August 2007

Freitagsschulung

Früher als gewohnt startete der Tag heute bereits um 08.00. Wir durften heute zum ersten Mal an der Freitagsschulung teilnehmen. An diesen Schulungen Präsentiert jeweils ein Mitarbeiter ein neues Thema im SAP Umfeld. Heute war Winfried an der Reihe.
Zu beginn zeigte er uns den neuen Editor, dessen Möglichkeiten und Unterschiede zum alten. Als grosse Neuerung zeigte sich die Code-completion.
Für uns Raper war dies nichts neues, da wir in unserem System von Anfang an mit diesen neuen Werkzeugen gearbeitet haben.
Eine weitere Neuigkeit von SAP ist das Management von Breakpoints und Assertions. Neu können Breakpoints einer Checkpoint Gruppe zugeordnet werden. Diese können Anschliessend über die Transaktion SAAB ein - ausgeschaltet werden. Dadurch können Breakpoints von Testszenarien auch in Produktivsystemen belassen werden, was das Testen nach allfälligen Änderungen erheblich erleichtert.
Bei der Dynamischen Typermittlung, der Dynamischen Programmerzeugung und den Shareds Objects wurde es dann etwas zu schnell für die Raper. Immerhin hat man einmal davon gehört und kann sich vielleicht irgend wann später in dieser Ausbildung wieder daran errinnern.
Zum Schluss wurden wieder etwas verständliche Themen vorgestellt. Das neue Erweitereungskonzept, welches Branchenlösungen wieder zusammen führen soll und die Regular Expressions waren wieder für alle nachvollziehbar.

Am Nachmittag versanken dann alle wieder in den PDF's oder versuchten das gelernte vom Morgen nochmals nachzuvollziehen.

Donnerstag, 30. August 2007

Selbststudium und Werkskalenderaufgabe

Im heutigen Selbststudium nutzten wir die Zeit um die fehlenden Blogeinträge auf zu holen, unsere Zeiten ins CATs einzutragen, eine Aufgabe mit dem Werkskalender zu lösen, mit Bedauern die Bierzapfmaschine ab zu bauen (Warum bauen wir eine solche eigentlich nicht gleich in die Küche ein?) und selbständig zu repetieren. Ich möchte bei diesem Blogpost etwas auf eine Lösung der Aufgabe mit dem Werkskalender eingehen und beginne hier mit der Aufgabenstellung:

"Ein kleines Programm dass über die Parameter ein Datum und eine Anzahl Tage erhält, zum Datum die Anzahl Tage unter Berücksichtigung eines Werkkalenders addiert und das entsprechende Enddatum ausgibt."

Nun denn, ich hab insofern die Aufgabe nicht erfüllt da meine Lösung über drei Parameter verfügt. Anstatt statisch z.B. den schweizer Kalender mit der Kennung 'CH' zu verwenden kann man so je nach Lust und Laune auch andere Werkskalender verwenden. Das Programm besteht im Prinzip aus 4 Teilen. Der erste Teil nimmt die Parameter entgegen und konvertiert über den Funktionsbaustein "DATE_CONVERT_TO_FACTORYDATE" das Datum in ein Werkskalenderdatum-Datentyp. Teil Zwei addiert die gewünschte Anzahl Tage zu diesem Werkskalenderdatum. Teil Drei ruft danach den Baustein "FACTORYDATE_CONVERT_TO_DATE" auf um dieses Werksdatum zurück in ein standart Datum zu konvertieren. Schlussendlich gibt Teil Vier das Resultat zusammen mit den erhaltenen Eingaben aus.

Lange Rede kurzer Sinn, hier das Programm ZRAP_02_WERKKALENDER. Leider muss ich mich jetzt auch schonwieder Verabschieden um meinen Bürgerpflichten beim Kraisbüro 11 nach zu gehen. Vielleicht gibt es ja morgen noch eine andere Variante als Lösung zur Aufgabenstellung.

Mittwoch, 29. August 2007

MIGO Debugging, PS, HR und mehr

Heute haben wir verschieden Interessens-Gebiete behandelt, welche sich in den letzten Tagen angesammelt hatten.
Am Morgen erhielten einen Einblick ins MIGO-Debugging in einem Standard-Programm, sowie wie eine Modikation eines SAP Standard-Programmes bei SAP registriert und vorgenommen werden kann.

Nach dem Mittag erfuhren wir, wie mittels MOVE-Anweisung Standard-Werte in einem Formular (Select-Options) gesetzt werden können. Weiter durften wir etwas mit den Verschiedenen Zusätzen des Write-Befehls experimentieren wie beispielsweise der formatierten Datums-Ausgabe mittels DDMMYY.

Danach stellte uns Tom die Aufgabe herauszufinden, in welcher Tabelle die Dezimalstellen von Währungen abgelegt sind, als Übung wie man nach einer bestimmten Tabelle in der Datenbank sucht. Dabei stellte sich heraus, das die Suche nach "CUR", also einem Teil des englischen Wortes für Währung als Suchbegriff, bewährt.

Weiter verschafften wir uns noch einen Blick über das Projekt-System sowie das Human-Resour

Dienstag, 28. August 2007

Reporting Werkzeuge

Den Montag gut überstanden, ging es mit dem BC407 (QuickViews, InfoSetQuery und SAPQuery) Ordner in den Dienstag hinein.

Wir haben gesehen wie man Quickviews wie auch SAPQueries anlegen und ausführen kann und Infosets pflegt.

Beim Quickviewer kommt einem als erstes MS-Access in den sinn, wobei ich die Quickviews wegen der Handhabung um einiges besser finde. Der Query Painter (SAPQueries) benötigt jedoch ausreichend Geduld, da sich gewisse Sachen mit einem falschen Click verstellen und man anfänglich nicht gleich sieht was passiert ist (es kam sogar vor das man ganz aus dem SAP rausgeflogen ist).

Montag, 27. August 2007

Überblicke, CATS, Dynpros, etc.

Wie immer am Montag gab es einen kleinen Rückblick auf die letzte Woche. Auch gab es diesen Montag einen Überblick über die nächsten 3 Wochen. In diesem Überblick waren auch einige Informationen über die Praxisarbeit enthalten. Was kommt da auf uns zu? Was wird erwartet? Wie wird das ganze Ablaufen? Alle diese Fragen und noch mehr wurden von Tom beantwortet. Grundsätzlich ist die Praxisarbeit eine selbständige Arbeit. Jedoch darf man von anderen Personen hilfe beziehen.

Im weiteren Verlauf des Morgens hat uns Tom noch das Zeitrapportierungssystem CATS gezeigt. Er hat uns erklärt was die Leistungsart ist, was der Netzplan ist und wie man die Stunden einträgt. Zu jedem Tag müssen wir auch einen Langtext hinterlegen. In diesem Langtext stehen die Zeiten an welchem man anwesend bzw. gearbeitet hat. Ausserdem schreiben wir immer noch einen kleinen Text dazu, was wir an diesem Tag gemacht haben.

Am Nachmittag dann haben wir das Dynpro repetiert. Ein Dynpro besteht aus 3 Teilen. Aus dem Layout, der Ablaufstruktur und einen ABAP-Programm (bin mir nicht sicher). Die wichtigsten Zeitpunkte der Dialogverarbeitung sind PBO (process before output) und PAI (process after input).

Durch ein kleines "Problem" mit einem ABAP-Programm kamen wir darauf wo die Programme eigentlich abgelegt sind in einem SAP-System. Die Programme sind in den Tabellen TRDIR und TADIR abgelegt.

Am Ende des Tages warfen wir noch einen kleinen Blick auf FuGr's und FuBa's.

Freitag, 24. August 2007

10 Jahre resource, Bier und Elvis

An diesem Freitag stand ein riesiger Kundenevent im Mittelpunkt des Tages. Morgens konnten wir kurz noch ein wenig mit Thomas eine "Liste von Fragen und Unklarheiten" zum Kurs BC400 beseitigen, bevor wir als hilfsbereite Zügelgehilfen die Tische und Zelte für das Jubiläum Aufbauen halfen. Gegen Mittag kam dann die sympathische Frau vom Catering vorbei und fing an Lena zu belehren, wie man eine Bowle in ein Glas schüttet. Die Leute, die dies mitbekamen, amüsierten sich auf eine möglichst subtile Art, die arme Dame war aber nicht allzugut auf das Catering Team zu sprechen. Ich hab dies dann später auch selber erfahren, als wir vom Foodlieferanten zu Handlangern rekrutiert wurden :) Das Fest selber war der Hammer, es gab viel zu Essen und zu Trinken und der Informatik-Big-Boss einer nahmhaften Traditionsfirma trank mit uns Rapern ein Bier. Dies wurde natürlich marketingbewusst mit einem nicht ganz spontanen Foto festgehalten. Als dann alle Kunden da waren, beglückten uns noch zwei Comedians, die sich sehr gut mit der Firma und unseren Gründervätern Bruno und Jörg auskannten. Der Höhepunkt der Darbietung war dann allerdings die spanische Version eines bekannten Elvis Songs, welcher ich nicht genauer benennen kann, weil ich diese glorreiche Zeit nicht selber erlebt habe. Andere Zungen behaupten, der Event ging noch bis um 2 Uhr Nachts bis das Glattzentrum in absolute Dunkelheit gehüllt wurde, leider musste ich wegen eines privaten Termins um 19:00 gehen, um einen "resource(n) Konflikt" zu vermeiden.

Aufholjagd und Repetition

Nach zwei Tagen krankheitsbedingter Abwesenheit durfte auch ich mich heute wieder zu den Lebenden zählen. Als erstes liess ich mir von den anderen zeigen welche Themen sie an meinen beiden Fehltagen durchgearbeitet hatten und welche Übungen aus den Kurs-Unterlagen gelöst worden sind.

Danach machte ich mich daran mich durch die soeben ermittelten Themen zu arbeiten und die Aufgaben zu lösen während die anderen RAPer - solange sie mir nicht gerade helfend zur Seite standen - dieselben Themen repetierten.

Ich konnte heute einen Grossteil der Übungen nacharbeiten und erwarte, bis morgen Mittag wieder auf dem aktuellen Stand zu sein um dann die nächste Woche wieder normal mitarbeiten zu können. Dass wir jede Woche 2 Tage für das Selbststudium zur Verfügung bekommen, ist mir bei der Bewältigung des Rückstandes sehr entgegen gekommen.

Donnerstag, 23. August 2007

Datenbeschaffung, Programmanalyse und Mehr

Hallo Miteinander! Ich hab heute die Ehre euch den bisher längsten Tag im R.A.P. zu bloggen da Mathias am besagten Tag diesen Text verfassen sollte zu Hause, bleich und desorientiert herumwandelte.

Am Vormittag brachte uns Thomas der Datenbeschaffung, also den internen Tabellen und den SELECT-Abfragen und Schleifen näher. Was erst mit etwas verwirrten Blicken die sich fragten "Wozu denn jetzt diese internen Tabellen und warum nicht unbedingt SELECT-Schleifen?" anfing, wurde nach den Übungen recht klar. Mit dem zusätzlich Gelernten über Performanceanalyse (Laufzeitinspektor, Codeinspektor und Debugger) wurde ersichtlich wie sich die SELECT-Schleifen im Vergleich zu Abfragen die direkt in eine interne Tabelle geschrieben (fetcharray) werden auf die Systemperformance auswirken.

Am Nachmittag behandelten wir die Extras drum herum. Zur Datensicherheit bei Zugriffen auf die Datenbank werden wir in Zukunft selbstverständlich ausschliesslich, immer, stehts, laufend nur noch direkt Datenelemente bearbeiten da die dazugehörigen Subroutinen für nichts implementiert wurden. In anderen, nicht von Sarkasmus übertönten Worten: "Um Dateninkonsistenz zu verhindern und andere Sicherheitsaspekte zu berücksichtigen stehen in SAP Subroutinen für Änderungsaufgaben zu verfügung".

Sind wir schon einmal bei den Datenbanken wurden auch noch die "Views" und "Logische Datenbanken" angehaucht. Diese Themen werden in der Ausbildung jedoch erst später im Detail behandelt. Auch die Benutzerberechtigungen haben wir in der Theorie behandelt. Wie die Hirarchie (Benutzer -> Rollen -> Profile -> Objekte) aussieht und man in ABAP diese Berechtigung abfragen kann.

Der Tag verging für mich relativ rasch für Andere eher lang (Der Ausbildungsleiter weiss wer gemeint ist). Aber damit noch nicht genug; Um 17:00 Uhr startete das Gruppenmeeting E1 an dem wir Neulinge die Gelegenheit hatten die anderen Gesichter des Teams kennen zu lernen, über aktuelle Projekte zu erfahren und mehr über die damit verbundenen technischen Seiten zu lernen. Ich persönlich stellte einmal mehr fest, dass OOP auch hier noch für Witze statt als nützliches Werkzeug missbraucht wird. Insofern fühl ich mich als ehemaliger Programmierer aus dem SPS Bereich noch praktisch zu Hause ;)

Mittwoch, 22. August 2007

Mittwoch - 22.7.2007 - wieder verwendbar

Am Morgen zeigte uns Thomas die Möglichkeiten ein Programm mittels Subroutines zu strukturieren und Programmteile wieder verwendbar zu machen. Damit war das Schlagwort gefallen: “wieder verwendbar”. Die richtige antwort für die meisten nachfolgenden Fragen.  ;) Danach haben wir das Thema ABAP-Ereignisse kurz angeschnitten. So haben wir die Wichtigsten Ereignisse kennengelernt und diese auch mit einer Übung ausprobiert.

Am Nachmittag war dann Benutzerdialoge das Thema. Zuerst zeigte uns Thomas wie wir diese mehrsprachig erstellen können. Anschliessend, waren die Interaktiven Listen an der Reihe. Die Übung mit der Interaktive liste, die Detailangaben zu einer Zeile anzeigt und die Vorbelegung von Eingabefeldern, waren da schon ein kleine Erfolge.

Zum Schluss des Tages erstellten wir noch ein eigenes Dynpro mit verschiedenen Elementen und Eigenschaften. Damit ging dieser Interessante aber anstrengende Tag zu Ende.

Montag - 20.08.2007 - BC400 Kap. 1-4

Wir haben heute die Architektur von SAP Netweaver Application Server grob analysiert und dabei gesehen, das dieser in drei Schichten (Präsentationsserver-, Applikationsserver- und Datenbankserver-Schicht) unterteilt ist. Wir lernten das es drei Arten von Bildschirm Bilder gibt:

  • Dynpro

  • Selection

  • Liste


Darauf folgte das Repository, wo wir lernten mit dem Object-Navigator (SE80) darauf zu zugreifen um Pakete, Programme wie auch Transaktionen zu erstellen. Dabei haben wir auch den Debugger und das Datadictionary kennen gelernt. Den Function- und Class-builder wie auch Screenpainter, Menupainter haben wir bislang in der Theorie durchgenommen.

Wir haben gelernt Entwicklungen zu organisieren in dem man Pakete anlegt, mit Transportaufträgen kann man eine Entwicklung zusätzlich steuern. Die Transportschicht über welches der Transportauftrag übermittelt wird definiert den Transportweg, welcher im Paket hinterlegt ist.

Da wir an diesem Punkt das nötige Wissen erreicht hatten, welches benötigt wird um mit ABAP zu arbeiten, taten wir das auch. Mit dem ABAP-Editor erstellten wir zwei Programme:

  • DB Zugriffs Progrämmchen, welches verschiedene Daten aus der DB ausliest und ausgibt

  • Kleiner Taschenrechner, mit welchem man +, -, / und * rechnen kann


Beim Code zu beachten gilt:

  • Jeder Befehl hat einen Punkt am Schluss

  • Gross/klein schreibung kann vernachlässigt werden

  • Prettyprinter ist nuetzlich um den Code automatisch sauber zu strukturieren und formatieren

  • Ein Stern am Zeilenanfang beginnt ein Kommentar

  • Bei einem Kettensatz kombiniert man mehrere gleiche Befehle in dem man den Kettensatz mit ":" beginnt und dann die einzelnen Parameter mit "," trennt

Freitag, 17. August 2007

SAP NetWeaver Application Servers Architektur

Auch der letzte Tag der ersten Woche war spannend! Wir haben uns bereits an den zweiten Ordner herangewagt und uns einmal in das Thema ABAP - Programmierung eingelesen. Somit wissen wir bereits wie ein ABAP Programm abläuft, auf welcher Schicht was bearbeitet bzw. angezeigt oder gespeichert wird. Zum einen gibt es die Datenbankserver-Schicht welche die Daten mit Hilfe einer relationalen Datenbank verwaltet. Dann gibt es noch die Applikationsserver-Schicht. Auf eben dieser Schicht laufen die ABAP-Programme ab. Die dritte Schicht ist die Präsentationsserver-Schicht. Sie umfasst die Benutzeroberfläche, über die der Anwender auf das Programm zugreift, Daten eingibt und die Ergebnisse seines Arbeitsprozesses präsentiert bekommt.

Auch haben wir nach einer Diskussion mit Tom den R.A.P. Blog auf meinem Server aufgesetzt. Alle R.A.P.er können jetzt Beiträge in den Blog schreiben. Der Blog ist unter rap.katun.ch erreichbar. Den anderen R.A.P.ern habe ich erklärt wie der Blog funktioniert. Schade das Fabrice nicht hier ist. Ich werde ihm aber alles noch erzählen. Bin gespannt auf die nächste Woche. Dann gehts richtig los mit ABAP.

Donnerstag, 16. August 2007

Donnerstag - 16.08.2007

Nach zwei kopfkratzenden Tagen mit dem Einstieg in die komplexeste Benutzeroberfläche, die die Welt je gesehen hat, durfte sich der R.A.P.er nun selber in die Wolken von SAP vertiefen und sein bisher Gelerntes in einem Selbststudium festigen und weitere Forschungsarbeiten erledigen.

Der Morgen gestaltete sich zuerst durch eine SAP-Link Sammlungsrunde, welche wir in einem öffentlichen del.icio.us Account gespeichert haben (http://del.icio.us/resourceap). Danach haben wir durch internen Kontaktdatenaustausch (Yahoo IM) erfahren, dass Tom, um halb Zehn in der Schweiz, noch nichts gefuttert hat J Der Rest des Morgens füllte sich mit Surfen auf SAP Communities. Leider wurden wir bei der Suche nach der genauen Architektur und Datenbank (technische Details) der SAP Serversoftware nicht wirklich fündig.

Nach dem Mittagessen im Mac Donalds vertieften wir uns dann weiter ins ERP, guckten Teile des SAP01 Ordners nochmals durch und stellten Fragen mit Wörtern, die wir vor zwei Tagen noch nicht kannten.

Mittwoch, 15. August 2007

Mittwoch - 15.08.2007

Wie jeden morgen haben wir mit der Repetition des Vortages begonnen. Zum ersten Mal konnten wir so richtig mit praktischen Beispielen mit SAP arbeiten. Anhand unserer Cheminée Firma die einfachsten Abläufe durchspielen und Stammdaten anlegen. So hat jeder sein Eigenes Cheminée mit den entsprechenden Bestandteilen bei einem anderen Lieferanten bestellt und anschliessend eingelagert, sowie nach Eingang des Auftrags produziert, geliefert. Am Ende des Kurstages kam dann der schönste Moment für eine eine Firma. Der gelieferte Auftrag wurde in Rechnung gestellt.
Mit dem Arbeiten in der SAP umgebung haben wir sehr schnell einige wichtige Transaktionen kennengelernt. Zugleich sind wir natürlich auch gleich auf Probleme getroffen, die wir dann mit Thomas gelöst haben.

Dienstag, 14. August 2007

Dienstag - 14.08.2007

An diesem angenehm warmen, zweiten Tag im Glatt konnten wir uns weiter ins SAP einarbeiten. Der heutige Schwerpunkt lag bei den Stammdaten und den Bewegungsdaten die wir kurz in der Theorie und dann anhand der Cheminée AG in die Praxis umsetzen konnten.

Nebst dem erstellten wir einen Flipchart mit den wichtigsten Transaktionen zu den Prozessen der Organisationseinheiten der AG. Anhand dieser Bookmarks pflegten wir die nötigen Stammdaten und legten Angebote an die wir dann in Aufträge umsetzten und so dem Belegfluss der Logistik nach gingen. Wir konnten uns nun auch ein Bild der Hintergrundprozesse z.B. der Verfügbarkeitsprüfung bei einer Auslieferung machen und über das Costumizing einen 'Slice' mehr in SAP und den üblichen Organisationsstrukturen einsehen.

Mit dem Umgang dieser Transaktionen schweiften wir dann zusätzlich auf die Druckformulare und deren Tücken ab. Das wichtigste Werkzeug ist hier trotz der heutigen Technik teilweise wohl immernoch der gute, alte Massstab ( Vielleicht auch ein Hammer? )

Dank unserem tollen Teamgeist, der daraus resultierenden, ungezwungenen Atmosphäre und selbstverständlich den Kaffepausen fällt uns die Arbeit an der vielleicht eher noch etwas trockenen Seite des Lernprozesses leichter und motiviert auf besondere Art und weise. Thomas macht seinen Job als Ausbilder bis jetzt sehr gut! Das Tempo wird als passend empfunden und ich bin davon überzeugt wir sind alle gespannt auf die ersten ABAP Zeilen.

Montag, 13. August 2007

Montag - 13.08.2007

Unseren ersten Tag bei Resource Informatik durften wir mit Gipfeli und Kaffee starten. Bei dieser Gelegenheit konnten wir bereits einige wenige Mitarbeiter kennenlernen. Danach wurden wir von Bruno im Namen der Firma begrüsst und über die Gepflogenheiten der Firma informiert.

Anschliessend durften wir dann bereits unsere brandneuen Notebooks fassen. David informierte uns über die einzuhaltenden Richtlinien bezüglich dieser Geräte sowie über die Nutzung der verschiedenen Dienste die uns Resource für die Arbeit bietet und stellte uns bei dieser Gelegenheit gleich auch noch seinen Nachfolger Michel vor.

Ab ca. elf Uhr ging es dann mit der Ausbildung los. Thomas führte uns in die Grundsätze im SAP ein und machte uns mit der grundlegenden Bedienung von SAP vertraut. Nach dem Mittag gingen wir dann weiter im SAP01 Lehrordner in welchem wir tapfer 142 Seiten durcharbeiteten und somit bis zum Kapitel Logistik vorstiessen, worauf der Tag dann überraschend schon gelaufen war.