Navigation

Freitag, 21. Dezember 2007

FF: Flex und Ferien

Heute stand die 3.5h lange Besprechung über den FlexMonitor im Tagesprogramm, unsere Pendenzenliste vergrösserte sich um etwa das doppelte, juhui :)  zum Beispiel muss der Flex neu über eine Funktion verfügen, von einem PI Proxy Messages abzuholen und diese im selben ALV anzuzeigen. Dies ist insofern interessant, da es mir und Silas wieder einmal tiefere Einblicke in die PI-Geschichte verleit und wir bald mal keine XI/PI Schulung mehr brauchen :P Ich weiss, das ist arrogant, aber was soll ich sonst noch schreiben? Letzter Tag vor Weihnachten, der Apero lacht uns an, wie soll man da einen kühlen Kopf bewahren :)

Merry x-mas and a happy new year!

the rap team

Donnerstag, 20. Dezember 2007

Kundenprojekte und Praxisarbeit

Heute Morgen gaben Manuel und ich uns alle Mühe, die ziemlich kryptischen E-Mail-Nachrichten eines Kunden zu verstehen und die darin geschilderten Probleme in einem ersten Schritt als solche zu erkennen und dann auch noch zu beheben. Währenddessen werkelten Silas und Pascal an der Praxisarbeit.

Am Nachmittag, nach einer RAPer Ski Challenge Session, widmeten Manuel und ich uns dann auch der neuen - vierten - Praxisarbeit zu.

Stefan seinerseits war mit den Tests eines weiteren Kundenprojektes betraut - scheinbar keine so 'lässige' Arbeit, waren doch von Zeit zu Zeit immer wieder genervte Äusserungen aus seiner Ecke zu vernehmen.

Nun freuen wir uns alle auf die Weihnachtsferien.

Mittwoch, 19. Dezember 2007

Start PXA2

Heute kam Herr Brandenberger vorbei. Er ist der neue COO der Gartencheminee AG. Er hat den Auftrag, in der Firma das Chaos zu beseitigen.
Herr Brandenberger kam mit einer klaren Vorstellung der Lösung zu uns, der ein Kollege von ihm hat ihm die Lösung, welche sie in der Firma einsetzen gezeigt.
Folgendes ist noch zu ändern:
Änderungen der von Ihnen vorgestellten Lösung der Schaltag AG:

1. Selektionsbild
1.1 Selektionskriterien für Backoffice Mitarbeiter
1.2 Selektionskriterium für Positionsnettowert
1.3 Logo
1.4 (optional) Intranet Popup

2. Produktstruktur-Browser
2.1 Header mit Stichtag und Logo
2.2 TreeALV Lösung mit Selektierten Materialien
2.2.1 Anzeige der hinterlegten Dokumenten
2.2.2 Anzeige aller Spalten (Sortierung im Tree) 
2.2.3 (optional) Aktualisieren von Positionsdaten des selektierten Materials
2.3 Auftragspositionsliste
2.3.1 zusätzliche Spalte für Backoffice Mitarbeiter (Input)
2.3.2 Hotspot auf Belegnummer -> Auftrag ändern
2.3.3 Drucktaste für Druckvorschau
2.3.4 Hervorheben von Nettowert anhand Wert von Selektionsbildschirm
2.3.5 Ausblenden von Drucktasten "neu" und "Spalte hinzufügen"

3. Druckvorschau
3.1 Drucktasten: Texteditor, Vollbild, Mail, Auftrag o.k.
3.2 Email Editor für interne und externe Mail-Nachrichten
3.3 Betreff enthält Auftragsnummer
3.4 als Empfänger wird Personalnummer angegeben
3.5 Popup falls noch kein Backoffice Mitarbeiter zugewiesen ist

Ach ja, und dann war da noch was mit dem Server. Man konnte regelrecht zuschauen wie langsam aber sicher abkratzt, was das Versenden der Offerte ziemlich erschwerte. Doch auch das haben wir noch hinbekommen.

Dienstag, 18. Dezember 2007

MM/PP Schulung - Part 2

Zu Beginn gab es erst mal eine "kleine" Repetition vom letzten mal (was in 4 Wochen alles vergessen gehen kann ;-) ).

Als nächstes haben wir mal unsere Stammdaten im MM entsprechend den folgenden Aufgaben angepasst. Die heutige Aufgabe: Kalkulationschemas, Preisfindungen, Planung/Stückliste, Inventar, Fertigung und Prüfung/QM kennenlernen.

Es begann sich eine Wolke zu bilden, man sah den Bildschirm kaum.. Es war nicht immer leicht gleich alles nachzuvollziehen, vor allem bei dem Tempo war es nicht immer leicht am Faden zu bleiben.

Als final part haben wir noch die Theorie der Variantenkonfiguration durchgejagt. Ein sehr verlockendes Thema, wenn auch etwas beängstigend als man hörte wie komplex es werden kann :-( das witzige war hier der Code, welcher nicht nur ungewöhnlich war ;-)

Montag, 17. Dezember 2007

LSMW - Einfach... oder doch nicht?

So! Pünktlich zum Wochenanfang melde ich mich mal wieder. Heute haben wir das Kapitel 7 in unserem Datenübernahme Kurs behandelt. Es ging um LSMW den Legacy System Migration Workbench. Bevor wir aber den Kurs anfiegen, haben wir wieder einmal unser altes Montagmorgen-Ritual durchgeführt. Jeder erzählte kurz was ihm in der letzten Woche gefallen oder nicht gefallen hat. Nach diesem Ritual ging es ziemlich fix zu zum LSMW. Nach einer kurzen Theorie haben wir schon die ersten Daten übernommen. Das ganze ging eingentlich ziemlich fix, wenn man weiss wie es geht.

Am Nachmittag hat uns Tom eine Aufgabe gegeben per LSMW den Kundenstamm zu erweitern. Ich habe mich wirklich mal alleine mit dieser Aufgabe beschäftigen wollen, damit ich alles nachvollziehen kann, jedoch habe ich nebenbei noch Stefan geholfen bei seiner WEKA Aufgabe. Wie ging Prozentrechnen schonwieder? Egal... Die Datenübernahme hat jetzt um 17:30 noch nicht geklappt. Bei der Datenüberprüfung stosse ich im Moment noch auf über 7000 Fehler. Jedoch was ich so von den anderen gehört habe, sind diese auch noch am Kämpfen. Bis morgen... ich geh jetzt einkaufen.

Freitag, 14. Dezember 2007

Der Tag der anstehenden Arbeiten

Kennt ihr solche Tage, wo ihr zwar wisst, was es alles zu tun gibt, aber überall noch zusätzliche informationen oder ok's benötigt werden um weiterzumachen? Genau so ein Tag war heute, ich konnte zwar gewisse kleine Arbeiten am FlexMonitor machen und mit meinem Selbst-thema Webservices kleine Fortschritte erzielen, aber so wirklich produktiv fühlte ich mich heute nicht. Für die WEKA haben wir immer noch keine echten Testdaten, für die FlexMonitor Arbeiten müssen wir bis zum nächsten Freitag warten, bevor ich und Silas wissen, was die Kundenwünsche alles sind. Nun Fazit: Ich habe mir die Webservices genauer angeschaut, ein kleiner PHP Webservice erstellt und diesen dann ins ABAP eingebunden, funktioniert jetzt wunderbar :)  zumindest das! Freitagsschulung ole haha :)

Donnerstag, 13. Dezember 2007

Another Thursday

Wie schade, für WEKA ist die Arbeit an einem Stand angelangt bei dem gwisse Rücksprachen getroffen werden müssen die die Anwesenheit von bestimmten Personen erfordert die erst morgen anwesend sind :/. Die Übersetzungen für L&S Australien kamen zwar voran - werden aber jetzt vorerst doch nicht benötigt. Nun gut - mein Schach könnte jetzt eigentlich ein paar Fieldsymbols vertragen aber ...

"I maaag eifach nimme" Morgen wird voraussichtlich ein langer Tag, zumindest für mich, und ich sollte mich heute noch Anderem wittmen. Schlussendlich gibts noch immer ein Businessplan zu erstellen, das Klo zu putzen und die Wäsche zu waschen :). Mal sehn zu was ich noch komme.

Alles in allem - ein nicht zu erfreulicher Donnerstag. Aber auch die schlechten Tage brauchts, nöd wohr.

Mittwoch, 12. Dezember 2007

WEKA & BatchInput

Nach einer unangenehmen Zeit im Bad/Bett kehrte ich heute zurück und holte als erstes den rest der BatchInput Schulung auf, welches nach ein paar kleinen Tips von Tom auch recht gut geklappt hat. Anschliessend begann ich noch den Flyer für Katja zu übersetzen.

Vom restlichen Geschehen bekahm ich jedoch recht wenig mit, lediglich das für die WEKA diverse Sachen gemacht wurden :-(

Dienstag, 11. Dezember 2007

Die Realität

Heute haben wir erfahren, wie die Realität tatsächlich aussieht. Haben wir uns doch schon gedacht die letzte Produktivarbeit abgeschlossen zu haben und schon lange an einem weiteren sind, meldet sich dieser doch wieder. Nun heisst es: Arbeit unterbrechen, wieder ins alte Projekt eindenken, um dann zu merken. Es gibt gar kein Problem, wenn mas richtig machen würde. Nun ja, es scheint der Normalfall zu sein.

Ja, eigentlich arbeite ich im Moment an einem Kundenprojekt, wo es um Datenmigration mit Hilfe von Batch-Input geht. Die schwierigkeit ist hier, das Customizing einstellungen gelesen werden müssen, damit der Batch-Input fehlerfrei funktioniert. Ansonsten funktioniert der Batch-Input eigentlich ganz gut. Mit Hilfe der Transaktionsaufzeichnung ist so ein Batch-Input relativ schnell erstellt. Es sei denn... :) Die Anforderungen und die Struktur des Inputfiles ändern andauernd.
Aber auch das, normal. :)
So geht es bei uns zügig voran. Flexibel sein ist das oberste Gebot. Wenn gerade mal eine Pause entsteht, gibt es viele Kapitel und Themen die noch offen sind.

Montag, 10. Dezember 2007

Projektarbeit? Schulung?

Am heutigen Montag war es uns noch nicht ganz so klar, was für eine Aufgabe wir hatten. Nach einer kurzen Abklärung mit Tom haben wir uns darauf geeinigt eine Schulung durchzuführen. Aus gegebenen Projektarbeiten ist es von nöten, dass wir den Kurs BC420 "Datenübernahmen" uns zu Gemüte führen. Es ist ein ziemlich dicker Kurs. Er hat geschlagene 11 Kapitel. Da es mir heute nicht so gut gegangen ist, war meine Motivation auch entsprechend tief. Aber ich kämpfte mich durch.

Zuerst gab es einen Theorieblock über die Datenübernahme-Technicken. Da gibt es z.B. Batch-Input, Direct Input und Call Transaction. Wie jede einzelne funktioniert steht im zweiten Kapitel des Kurses BC420. Es gibt jeweils eine "schöne" Grafik dazu.

Im Verlauf des Nachmittages schauten wir zusammen ein Batch-Input Programm an, welches Fabrice für die WWZ geschrieben hat. Wir haben ebenfalls den Transaction-Recorder angeschaut. Mit diesem kann man sehr einfach und bequem Batch-Input Programme erzeugen, welche dann sehr leicht anpassbar sind. Zum Schluss haben wir den Unterschiede zwischen Batch-Input und Call Transaction angeschaut. Bei beidem braucht man eine bdc_tabelle.

Freitag, 7. Dezember 2007

Friedrichshafen

An diesem Morgen musste ich besonders früh aufstehen, nämlich um halb sechs, denn es ging zu einem Kundeneinsatz in Friedrichshafen, ich traf Thomas 2 :) in der resource wo wir noch kurz den Super Hotfix Transportauftrag für den FlexMonitor auf den Laptop kopierten und fuhren hinaus Richtung Schwabenland, die Fähre durfte natürlich nicht fehlen dabei, etwas verspätet kamen wir dann um 8:30 in in Friedrichshafen an, wo wir uns so gleich bereit machten, den zusätzlichen Transportauftrag einzuspitzen und den FlexMonitor zu konfigurieren, immer wieder beantworteten wir Fragen von den dort angestellten Monitoring-Leuten, die uns hilfsbereit zur Seite standen. Bald aber kam ein Problem: Wir brauchten den Oracle Schemabenutzer für den J2EE Zugriff. Eine Oracle-Basis-Spezialistin (hübsches ding) gab den Benutzername und Passwort ein, die Verbindung wollte aber nicht funktionieren, für Thomas war klar dass das Passwort nicht stimmt, aber die nette Dame wollte dies nicht so wahrhaben, und so versuchten wir eine Stunde lang, einen Schemabenutzer zu erstellen der auf die notwendigen Tabellen zugreifen kann, ohne Erfolg, am Schluss wurde das richtige Passwort gefunden und voila... es funktioniert, der message crawler fing an seine Arbeit zu verrichten und der FlexMonitor zeigte die adapter fehler an. Der Zmittag wurde uns offeriert und der Nachmittag galt der Produkte Präsentation in hochdeutsch, gehalten von Tom und dem Aufnehmen von Kundenwünschen. Ein interessanter Tag, und insgesamt stressless :)

Selbststudium Freitag

Am Freitag fuhren wir mit den angefangenen 'Selbststudien' vom Vortag fort.  Um die in den letzten Tagen / Wochen neu dazugelernten GUI Programmierung, unter anderem mit EnjoySAP Controlls, in Erfahrung zu verarbeiten legten wir eine neue Entwicklungsklasse ZRAP_GAMES für ABAP Spiele an. -> Spiele? Jaja, mooment - klingt zwar unnütz ist es aber bei Weitem nicht. Wer ABAP Programmiert kann sich ja mal vorstellen was es denn z.B. alles für ein Schachspiel zwischen zwei Systembenutzern braucht.

64 Customcontainers, 64 Picture Controls, ca. 128 unterschiedliche Pictures der Schachfiguren die im BDS hinterlegt sein sollten oder allenfalls über eine externe URL bereitgestellt sind. Soweit so gut, doch wie genau sieht der Re-Link eines Picturecontrols aus, wenn der Zug eine Gegnerische Figur angreifft? Wie soll überprüft werden, welcher Zug überhaupt möglich ist? Und wie implementiert man denn bloss eine Rochade? :)

Viele kleine Dinge die das Resultat aber schwer beeinflussen -> Von mir aus gesehen eine bessere Übung die zumindest motiviert und verschiedene Bereiche miteinbezieht. Wann wir aber wieder Zeit für's Selbststudium haben und ob es dann auch für ein Schach reicht lassen wir mal dahingestellt. Die nächsten Kundenprojekte stehen vor der Tür, ich geh dann mal aufmachen - bis bald!

Mittwoch, 5. Dezember 2007

Controls, Quartalsmeeting und Apéro

Heute waren Manuel und ich am Morgen mit der Vorbereitung unserer Schulungen beschäftigt, während die anderen sich dem Selbststudium widmeten. Nach dem Mittag legte dann Manuel los mit seiner Schulung und versuchte uns die Verwendung des TreeControls näher zu bringen. Nachdem wir dazu auch noch eine Übung gemacht hatten, wurde eine kurze Pause eingelegt, worauf dann ich an der Reihe war.

Mein Thema war die Drag&Drop-Funktionalität in EnjoyControls. Ein ziemlich happiges Thema, welches in den Schulungsunterlagen ziemlich unglücklich erklärt wird, wie wir feststellen mussten. Nichts desto trotz arbeiteten wir das Kapitel tapfer durch und versuchten dann gemeinsam eine Übung dazu zu machen. Dummerweise funktionierte zum Schluss nur die Drag-, nicht aber die Drop-Funktionalität. Nach ergiebiger Fehlersuche mussten wir dann feststellen, dass der Fehler in der Musterlösung lag - und wir diesen unwissend übernommen hatten.

Kurz darauf begaben wir uns zum Quartalsmeeting wo wir von Sergio ausführlich über alle Aktualitäten in der resource informiert wurden. Nachdem beim letzten Quartalsmeeting Silas einen RAP-Bericht geliefert hatte, gab diesmal Stefan seinen Vortrag von unseren letzten 3 Monaten im RAP zum besten.

Nach dem Meeting ging es dann hinunter in die Globus "Weihnachts-Lounge", wo wir diverse Köstlichkeiten präsentiert bekamen und auch der Durst nicht zu kurz kam. So blieben viele noch bis spät am Abend und genossen die Zeit zusammen.

Dienstag, 4. Dezember 2007

Ein Tag im Serverraum

Stefan und ich haben den heutigen Tag im ehemaligen Serverraum der Swisscom verbracht. Wir hatten den Auftrag die Verkabelung der Decke zu demontieren. Dies war eine sehr schweisstreibende Arbeit, da es ca 5 Kilometer Datenkabel waren. Und diese Kabel waren auch noch mit Kabelbinder an den Tragegittern befestigt. Am Mittag dann hatten wir jedoch die meisten Kabel demontiert. Am Nachmittag ging es dann nur noch darum die Kabelgitter zu demonitieren. Dies war auch eine ziemlich Zeitaufwändige Arbeit, da es einfach zu viele Schrauben waren und wir nur eine Leiter hatten. Einige Kratzer und einige Stunden später haben wir es dann endlich geschafft. Die Deckenverkabelung ist komplett weg und entsorgt. Irgendwann gehts dann noch dem Boden und den Klimaanlagen an den Kragen.

ALV_GRID mit Jim Knopf

Heute morgen ging's gleich weiter mit der EnjoySAP Schulung. Das ALV_GRID war noch nicht ganz fertig. Silas hat uns die Events nochmals genauer erleutert.

Das Hotspot event, wobei im Fieldcatalog der Spalte der Eintrag wa_fieldcat-hotspot   = 'X'. hinzugefügt werden muss,
Das double_click Event sowie das toolbar Event.
Denn für das hinzufügen von Button's in den Header der ALV Liste wir ebenfalls ein Event benötigt.
Dieses wird mit der Methode set_table_for_first_display ausgelöst.
Deshalb muss der Befehl
set handler lcl_event_handler=>on_toolbar for ref_alv.
Auch vor dem ersten Aufruf der ALV Liste ausgeführt werden.

Mit dem Befüllen der Tabelle e_object->mt_toolbar wird anschliessend der Button im Header des ALV angezeigt.

METHOD on_toolbar.
  data l_wa_button type stb_button.
  l_wa_button-function  = 'JIMKNOPF'.
  l_wa_button-icon      = ICON_OKAY.
  l_wa_button-quickinfo = 'JIMMY'.
  l_wa_button-butn_type = 0.
  l_wa_button-text      = 'JIM'.
  insert l_wa_button into table e_object->mt_toolbar.
ENDMETHOD.

Dieser Button löst wiederum ein Event aus: user_command, welchen im Eventhandler mit der Variable e_ucomm abgefangen werden kann.

Am Mittag gabs dann noch eine Schulung von Thomas zum Thema Transportaufträge Kopieren.

Montag, 3. Dezember 2007

Enjoy Controls die nächste Runde!

Am heutigen Montag ging es weiter mit der Enjoy Controls Schulung. Nachdem uns Stefan letzte Woche die Grundlagen erklärt hatte, brachte uns Pascal die verschiedenen Container, Kontextmenüs und das TextEdit Contro näher.

Die verschiedenen Container welche uns Pascal gezeigt hat, waren folgende: Der Custom Container, der Dialogbox Container, der Dockingcontainer. Was auch noch zu den Containern gehört sind das SAP Split Control und das SAP Easy Splitter Control. Wobei zweiteres wesentlich einfach hand zu haben ist. Jedoch bietet ersteres mehr Möglichkeiten.

Ziemlich flott ging es dan mit den Kontextmenüs weiter. Kontextmenüs werden über bestimmte Events bearbeitet, verarbeitet oder gelöscht. Das tückische an diesen Events ist, dass diese bei jedem Control anders heissen. Es gibt auch noch ein Spezialfall beim Picture Control. Zu den Kontextmenüs haben wir dann auch noch eine kleine Übung gemacht.

Ganz am Schluss von Pascals Schulung haben wir noch ein Blick in das Text Edit Control geworfen und auch dazu eine Übung gemacht.

Anschliessend an die Schulung von Pascal versuchte ich dem R.A.P.-Team das SAP Grid Control (ALV) näher zu bringen. Wir haben in kurzer Zeit ein ALV hinbekommen. Auch haben wir einen eigenen Feldkatalog einbauen können. Für die Events vom ALV-Grid hat es an diesem Abend leider nicht mehr gereicht.

Freitag, 30. November 2007

?= What the fuck? Down-Casting? hääääää?!

Heute war einer der Tage an denen ich mich wieder einmal in neues Land wagte, nach dem Lauf durch die trockene "Wüste des Dokumentierens" vertiefte ich mich in meine Kursunterlagen zu den Themas Kontextmenü's und Text Edit Controls. Um den Überblick über die ganze ABAP Objects und EnjoyControls Geschichte zu erlangen, habe ich mir die Demo Programme im Ordner genauer unter die Lupe genommen... als ich dann auf dieses seltsame "?=" stiess, wurde ich neugierig... nach mehr oder weniger haarsträubenden Minuten wusste ich dann, um was es ging: "Type Casting" respektive "Down Casting", was dies genau ist, würde den Blog über die ganze Seite füllen, wichtig ist, was es ist, das ist jetz klar :) Am Nachmittag gab's dann noch ein Feedback über die produktive Arbeit, welche wir alle als sehr positiv empfanden, nicht zuletzt weil Stefan den Projektleiter Job ausserordentlich gut meisterte. Ein durch Roli unterbrochenes Gespräch mit Thomas über den Flex folgte noch, bis schliesslich das Bierfässchen angezapft wurde und die Leute zum Apero  strömten.

Donnerstag, 29. November 2007

Lost in Debug

Als ich heute morgen die letzten Zeilen vom Vortag anging durfte ich als erstes feststellen, dass anscheinend bis 22:30 gearbeitet wurde ;) - Nun denn, die neue Struktur an der Modifikation war verständlich, dass Problem dass die zu übernehmenden Texte bereits bestehende Texte im Beleg überschreibt war mit einem einfachen 'clear' rasch gelöst. Was also noch zu tun bleibte war folgendes:

In der ME31k können Kontrakte angelegt werden für die wir Standardtexte aus 'SO10' auf Kopf sowie Positionsebene ziehen. Das Laden dieser Texte funktioniert soweit - doch werden diese in auf den Dynpros erst nach einmaligem aufrufen des entsprechenden Texteditors hineingezogen. Simpel oder? ... ähm nein, nicht ganz. Wir haben heute Stunden damit verbracht PAI sowie PBO der Dynpros die dieses "Hineinladen" der Texte bewirken zu debugen.

Nun -Stunden später und nach einigen Lösungsansätzen erkläre ich mich für weich! Ich frage mich wie oft heute F5, F6, F7 oder F8 gedrückt wurde und beschliesse mal an etwas essbares zu denken. Vielleicht trifft mich ja noch ein Blitz der Blitze :/.

Nebst diesem Blocker läuft es mit den Arbeiten allerdings gut vorran. Die Pendenzen, sogar die für nächste Woche, sind soweit zum Transport bereit. Die Arbeiten am FlexMonitor sind nich zu kurz gekommen und für die EnjoySAP Control schulung sind bereits weitere Kapitel vorbereitet. Die Arbeitsteilung ging meiner Meinung nach gut auf
und ich freue mich auf eine 'freie' Stunde für ein Projektreview auf die geleisteten Aufgaben!

Ahja, morgen ist schonwieder Freitag! - sollte man sich eigentlich Sorgen machen, wenn die Zeit zu rasen scheint?

Mittwoch, 28. November 2007

SWT, Enjoy und Flex

Heute waren wir alle mit vollem Einsatz an unseren jeweiligen Aufgaben am werkeln.

Während Pascal sich den Pendenzen des FlexMonitors zuwandte, arbeitete sich Silas den grössten Teil des Tages in ein Thema der kommenden EnjoyControls-Schulung ein.

Thomas und Stefan schlugen sich tapfer bei der automatischen Einbindung der von SWT gewünschten Kopf- bzw. Positions-Texte beim Erfassen eines neuen Mengen-Kontraktes.

Fabrice stellte die Modifikation an der SM21N fertig, welche den Einkäufer bei der Auswahl des Kontraktes (sofern vorhanden) unterstützt.

Manuel seinerseits war mit dem Rahmenvereinbarungs-Formular beschäftigt, wobei ich ihn nach Möglichkeit unterstützte.

Allgemein war ich heute ziemlich vielseitig beschäftigt. Ich unterstützte Manuel bei sämtlichen Problemen die auftraten, half Fabrice beim Testen seiner Lösung und erfasste die Standard-Texte für Thomas und Stefan.

Ausserden schaffte ich es heute endlich, mir einen Überblick über die Lieferadress-Findung in SWTs Bestellformular zu verschaffen. Dies war eine Bitte von Thomas, so dass er nicht der einzige ist, der darüber Bescheid weiss.

Nach zwei langen, fast zehnstündigen Tagen konnten wir heute alle 'bereits' nach acht Stunden den Heimweg antreten.

Dienstag, 27. November 2007

SWT, Enjoy & E1-Meeting

Ich habe heute meine Arbeit am Kontraktformular der SWT weitergeführt. Es gibt noch relativ wenig Pendenzen, doch gewisse Sachen haben es in sich, wenn man nicht gleich weis wie. =/

Die Haubtpunkte waren für mich heute, SO10 Texte anpassen und einfügen. Dann noch herausfinden wie ich den Positions und Kontrakttext in das Formular bekomme. Trotz hilfe von Mat haben wir das aber nicht mehr vor der Schulung hingekrigt. =(

Stefan gab uns nuhn einen Einblick in die Enjoy'able OO-Welt (EnjoyControls). Als Übung erstellten wir ein kleines Dynpro, welches bei Aufruf ein Bild mit der [load_picture_from_url] Methode, an hand einer URL, anzeigt.

Pascal brachte dazu noch ein kleines Addon. Er zeigte uns wie man ein Bild auch ohne Dynpro ausgeben und auch einen Refresh des Standarddynpros, nach ablauf einer Zeit erzeugen kann.

Zum schluss gab es noch ein E1-Meeting mit interessanten und auch lustigen Themen. Tom zeigte uns wie man ein iDoc per Mail versendet und Pascal fand sogar ein Weg um SELECT's dynamisch zu befüllen.

Montag, 26. November 2007

Begeisterung erleben...

Nach dem wir am Freitag beim Eishockeyspiel Kloten Flyers - Davos (4:2) Begeisterung erleben durften, ging's heute im Glatt so weiter.

Stefan ackerte sich durch die Kursunterlagen des nächsten Kurses ABAP Dialogprogrammierung EnjoySAP Controls. Er hat sich die Grundlagen angeschaut und wird uns morgen eine Schulung geben.

Manuel kämpft mit einem Formular. Was er genau macht weiss ich nicht. Aber es läuft wohl nicht alles so wies sollte. Das war ganz klar zu hören. :)

Silas und Pascal sind weiterhin am FlexMonitor beschäftigt und kommen zügig voran. Gestern eröffnete sich für sie eine geniale Chance zu Kundeneinsätzen, welche sie hoffentlich auch wahrnehmen können. Auch wenn sie sich dafür in Pinguine verwandeln müssen. :D

Ich habe mich der nächsten Aufgabe für das Kundenprojekt aus der letzten Woche angenommen.
Auch wenn mir UserExits und dergleichen völlig unbekannt waren, wird bereits an der richtigen Stelle das gewünschte ALV Popup angezeigt. Zugegeben, den richtigen BAdi zu finden und anzulegen bedurfte es Unterstürzung vom Coach.
Obwohl das Programm in AbapObjects geschrieben ist, und uns diese Schulung noch fehlt, ist bei uns in der Gruppe bereits Know how vorhanden, sodass sich dies relativ schnell gelöst werden konnte.

Freitag, 23. November 2007

Kundeneinsatz und Standarttexte

Der zweite produktive Tag im Leben eines R.A.P.ers ging schnell vorüber. früh am morgen, naja, halb 9 :) traffen wir uns im Glattzentrum und besprachen den Projektstand und führten unsere Arbeiten fort, Stefan kümmerte sich um das Team und klärte kleinere Probleme im Kontext ab, Silas und Fabrice kämpften mit dem ALV Popup "REUE_ALV_POPUP_TO_SELECT, welches noch mühsame Krankheiten mit dem Aufruf provozierte, doch die Krieger haben die ABAP-Schlacht gewonnen und somit wurde kurz nach dem Mittag ein Teil des Projektes mehr oder weniger abgeschlossen, Manuel schlug sich den ganzen Tag mit einem Formular rum und auch Matthias hatte so seine kleines Problem, nämlich: "Woher kommen diese verdammten Z Felder?", unser Coach hat uns da noch einen Tip gegeben und uns auf die richtige Spur gelockt, man kann nämlich in Standardtexten Variablen definieren, somit kann man sämtliche Formulartexte aus dem Formular nehmen und die Übersetzung für den Enduser um einiges vereinfachen. Als wir dann den Standardtext fanden, wurde uns einiges klarer und die Formular Arbeiten kamen prima voran :) Und Ich? Ich war ein bisschen überall, manchmal habe ich Hilfe geboten, dann wieder den Flex Monitor übersetzt und noch Enjoy Control Containers als Thema zur Präsentation aufgeschnappt. Was uns allerdings heute Abend nach dem offiziellen Arbeitstag erwartet, ist streng geheim, Thomas hat einen RAP Alternativ Block geplant und er liebt es, sich in unserer Neugier zu sonnen :)

Donnerstag, 22. November 2007

Der zweite Projektarbeitstag

8:30 - das Wetter ist halbwegs schön und die Kälte hat heute auch nicht besonders viel zu melden. Was geht mir um diese Uhrzeit durch den Kopf? Das Kundenprojekt für SWT hat sich gestern auf unseren Tischen gesammelt und mich gleich als Projektleiter eingeteilt. Heute geht es so richtig los! Keine Fiktion, keine Rollenspiele ...

Konkret liegen uns drei Aufgaben vor die wird zum Teil noch diese Woche noch abschliessen müssen. Zugegeben es hat mir schon gestern den Einen oder Anderen Gedanken geklaut um heute eine passende Ein- / Auf-teilung zu finden. Dank dem Tipp den mir Coach 10der gestern Abend noch mitgegeben hat teilten wir uns heute morgen sogleich auf, um die unterschiedlichen Pendenzen anzugehen. Als Projektleiter mit dem Team zu arbeiten ist für mich eine neue Erfahrung. Auf der einen Seite erkennt man eine Art Notwendigkeit von jemandem der die Arbeiten koordiniert und auf der anderen Seite fragt man sich wie man sich selbst, nebst den fortwährend aufkommenden Situationen die meine Aufmerksamkeit verlangen, am besten einbringen kann. Wie klingt das denn jetzt ?!? *grml*

Die Arbeiten kamen heute im Allgemeinen gut voran. Ich bin zuversichtlich und will die Erwartungen des Kunden, der Teamkameraden und selbstverständlich auch diejenigen von Coach Thomas erfüllen! Ich denke wir alle bleiben gespannt auf den morgigen Verlauf, insbesondere dem Event morgen Abend :)

Mittwoch, 21. November 2007

Kundeneinsatz bei SWT

Obwohl viele meiner Blog-Einträge damit anfangen, war heute wieder ein besonderer Tag. Ich durfte heute zum ersten mal mit Thomas auf einen Kundenbesuch. Und zwar waren wir von SWT eingeldaden die Details zum Projekt, welches vom RAPer-Team gemeinsam mit Thomas erledigt wird, im Kundengespräch genau zu definieren.

Um neun Uhr trafen wir bei SWT ein und wurden freundlich empfangen. Schnell ging es zu den Punkten über, die es zu besprechen galt. Ich möchte auf diese Themen hier im Detail nicht eingehen, jedoch war es überaus interessant, Thomas bei dem führen des Gesprächs zu beobachten und zu sehen, wie er das Gelernte von den letzten beiden Tagen aktiv umsetzte. Schwierig war allerdings, mich selber in das Gespräch einzubringen, da praktisch alle Punkte welche mir in den Sinn kamen von Thomas behandelt wurden, bevor ich selbst Gelegenheit dazu gehabt hätten.

Nachdem wir drei Stunden intensiv diskutiert, verschiedene Anforderungen zu einer verschmolzen hatten, unterbrachen wir die Gespräche für eine halbe Stunde für das Mittagessen - ein überraschend schmackhafter Fitness-Teller in der SWT-Kaffeteria im Raum nebenan. Um halb eins ging es dann bereits weiter und es wurden noch die letzten Punkte besprochen, worauf wir uns um drei Uhr wieder auf den Rückweg ins Glatt machten.

Nach der Ankunft im Resource HQ überrumpelte Tom mich gleich mal mit der Aufforderung, die Kollegen über das vergangene Gespräch und dessen Resultate aufzuklären. Das viel mir aus mehreren Gründen ziemlich schwer. Zum Einen war ich auf diese Aufgabe nicht vorbereitet und musste "on the fly"entscheiden was ich wann in welchem Detailgrad erzählen wollte. Eine weitere Schwierigkeit bestand darin, mich an die Fülle des Besprochenen überhaupt im Detail zu erinnern und dabei gleichzeitig das Wichtige vom Unwichtigen zu trennen. Die letzte Schwierigkeit die ich an dieser Stelle erwähnen möchte, war, die ganzen Informationen sinnvoll zu ordnen, im Gespräch war öfter vom Einen ins Andere Thema und zurück gewechselt worden.

Alles in Allem war heute ein extrem interessanter und lehrreicher, aber auch strenger Tag.

Dienstag, 20. November 2007

Erwartungsmanagement

Der heutige Tag begann gleich mit einer Diskussion. Thema: was tuhen wenn die Spezifikationen nicht dicht halten und der Kunde auf eine Lücke baharrt?. Theoretisch gesehen würde man sich versuchen zu rechtfertigen - interessiert dass den Kunden? er will ja nur seine Lösung - ausserdem wäre es auch nicht dass Problem des Kunden, wenn die Spezifikationen nicht richtig gemacht wurden. Daher sollte man versuchen heraus zu finden, wie man den Kunden glücklich stellen kann, aber auch selbst nicht zu kurz kommt ggf. ein Kompromiss schliessen.

Als Auflockerung und förderung der Kreativität haben wir als nächstes mal ein Brainstorming zum Wort "Erwartung" gemacht. Hierzu wurde das erwähnte Wort gross aufgeschrieben, um anschliessend Wörter zum Thema "Erwartung" für jeden Buchstaben zu notieren.

Der negste Konflikt wurde in einem Rollenspiel dargestellt...

Ein Waschmaschinenhersteller (Kunde) hat für seine Geräte 1000 Steuer/Bedienungsplatinen bei einem Platinenhersteller (Lieferant) bestellt. Der Kunde hat bereits 500 Maschinen verkauft und hat dann bemerkt dass die Platinen defekt sind. Der Kunde meldet sich also beim Lieferant und beanstandet die Umkosten, durch die Rücknahme der bereits gelieferten Waschmaschinen, wie auch der Ersatz der defekten Platinen. Der Lieferant muss in dieser Situation also versuchen, mit seinem lieben Kunden ein Kompromiss zu schliessen.

Folgend wurde dann der Unterschied zwischen einem Ein- und Vorwand geklärt und haben gesehen wie man sich entsprechend verhalten muss. Hier wird der Einwand als eine evtl. positive Situation klassifiziert, während der Vorwand einer negativeren Natur entspricht - in diesem Fall muss man versuchen über die Gesamtsituation zu sprechen, da das Selbst Wert Gefühl (SWG) möglicherweise bedroht ist.

Ein/Vor-Wand

Das penetrante in den letzten 2 Tagen war das Fragenstellen, daher haben wir uns natürlich auch die Vorteile von Fragen angesehen:

  • biologische - Fragen werden selten als Angriff aufgefasst, Fragen "reizen" das denk-Hirn (löst Blockaden)

  • psychologische - jede Frage ist eine "Streicheleinheit", Anerkennung und baut Brücken zum anderen und helfen die Beziehungsebene positiv zu gestalten

  • logische - prüfen der Informationen von anderen, Missverständnisse ausschliessen, wir entdecken eventuelle Denkrinnen, wir erfahren seine Argumente bevor wir unsere "Katze" aus dem Sack lassen und wir können abschaetzen ob unser angebot für den anderen ok ist


Die nächsten Punkte waren die Wahr-nehmung und "wie wirklich ist die Wirklichkeit?".
Jeder hat recht auf seine eigene Wirklichkeit. Wärend der eine das Glass als halb leer sieht, schaut es der andere als halb voll an. Genau so unterschiedlich wie die Wirklichkeit ist auch die Wahrnehmung, die Kriterien welche diese ausmachen sind zB. Kleidung, Ausstrahlung etc.

Als weitere Übung haben wir ein möglichst realitäts nahes Rollenspiel gestalltet, diesmal Herr. Meisterhans vs. Silas.
Um die Realität etwas näher zu bringen, wollte der Kunde (Herr. Meisterhans) in diesem Fall eine SAP-Lösung, Silas musste nun mit dem Gelernten herausfinden was zu tuhen ist und den Kunden ggf. beraten.

Das Gespräch verlief grösstenteils wie von uns Erwartet, wurden jedoch darauf aufmerksam gemacht dass Silas mit weteren logischen Fragen an den Kunden, zu einer noch besseren Lösung gekommen wäre. Da er durch den Gedanken "ich bin Entwickler, also muss ich wahrscheinlich etwas Programmieren", auf das gewünschte Programm konzentriert war und daher nicht darauf gekommen wäre, dem Kunden eine Mobile Lösung anzubieten, welche sich in dieser Situation besser geeignet hätte.

An dieser Stelle wurden wir über eine weitere wichtige Tatsache bei der Beratung aufgeklärt.

The Circles

Eine perfekte Lösung besteht nicht nur aus einem guten Programm. Will man den Kunden wirklich glücklich machen, muss man bestimmte gegebenheiten beachten (Abbildung-Kreise) und dabei möglichst die Mitte treffen. Man muss dem Kunden nicht einfach ein Programm hinstellen und denken "das passt schon", man sollte etwas weiter denken (was ist wenn der Kunde garnicht richtig weis was er will?), der Kunde kommt ja zu uns weil er unter anderem auch beraten werden will.

Montag, 19. November 2007

Wer fragt der führt!

Heute fing der Workshop "Erwartungsmanagement" mit Carolyn an. Auf diesen Workshop habe ich mich schon sehr gefreut, weil mich das Thema sehr interessiert. Ich wollte schon immer wissen wie die Kommunikation zwischen zwei oder meheren Gesprächspartner abläuft. Heute, den ersten Tag des zweitägigen Workshops, haben wir mit Erwartungen bzw. Rahmenbedingungen angefangen. Das heisst wir haben uns Organisiert, wann Kaffeepause ist, ob wir Du oder Sie sagen und und und. Meistens werden diese Rahmenbedingungen nicht klar definiert, was die Kommunikation verhindern kann.

Im weiteren Verlauf des Morgens haben wir Assoziationen zum Wort KUNDE gesucht. Das heisst wir haben für jeden Buchstaben im Wort eine oder mehrere Assoziationen gesucht. Was nachher an der Wandtafel stand, waren überwiegend "böse" Begriffe. In einem zweiten Durchlauf versuchten wir positive Wörter zu finden. Dies war eindeutig schwerer.

Das selebe Spiel haben wir mit dem englischen Wort CUSTOMER gemacht. Hier vielen die positiven Begriffe viel einfacher.

Ein Rollenspiel, in welchem ich Stefan eine Reise nach Mykonos in Griechenland verkaufen sollte haben wir auch durchgeführt. Dies einfach mal um zu schauen, wie wir ein Gespräch bis jetzt führen. Anschliessend wurde das Gespräch mit Hilfe von Carolyn analysiert und ausgewertet.

Moslowsche BedürfnispyramideNach den Erkentnissen welche wir aus dem Gespräch gezogen haben, haben wir das ganze auf die Maslowsche Bedürfnispyramide abgeleitet. Dabei ging es darum Fragen gezielt anzuwenden. Wann stellt man welche Frage?

Noch ein Thema welches wir behandelt haben ist die Wahrnehmung. Das erstaunliche an der Wahrnehmung ist, dass der Mensch nur ca. 10% bewusst wahrnimmt. Die restlichen 90% passieren unbewusst. Es geht also darum, dass man sich mit Fragen mehr als diese 10% bewusst wahrnehmen kann. Denn die Wahrnehmung und der Fokus steuern unser Verhalten!

Mir hat dieser Tag sehr viel Spass gemacht und habe auch viel dazu gelernt, wie sich Menschen verhalten in einem Gespräch. Mir ist nun auch bewusst, wie man mit Fragen ein Gespräch geziehlt führen kann. Denn mit meinen Fragen kann ich die Richtung des gespräches vorgeben.

Freitag, 16. November 2007

FI / CO Schulung

Bei der heutigen Schulung mit Martin war wieder einmal der Bär los, nämlich der Rechnungswesen-Bär. Eine wirklich pelzige Angelegenheit für einen Informatiker mit "Ich kann eine Bilanz erstellen und weiss was Soll und Haben ist"-Erfahrung. Zum Glück gingen wir die Sache zuerst ziemlich geschmeidig an und zwar mit den Organisationseinheiten, dem Kontenplan, den Konten selber und deren Eigenschaften im FI, dort hat es nicht all zu viele Felder und das ganze ist noch angenehm zu überblicken. Danach haben wir angefangen mit den Prozessen zu hantieren: Rechnungen und Zahlungen abwickeln und Feinheiten wie die maschinelle periodische Zahlung anzuschauen. Am Nachmittag gingen wir dann ins CO über: Zuerst die Theorie mit den Kontenarten und den Kostenstellen, danach haben wir ein Problem mit der Rückstellung von Fertigungsaufträgen und der Verbuchung in die richtige Kostenart, welches wir innert nützlicher Zeit leider nicht lösen konnten. Am Schluss der Schulung haben wir die Kostenstellen und die Innenaufträge genauer unter die Lupe genommen und gewisse Prozesse dazu durchgespielt, das war dann für mich recht schwer zu begreifen, da ich noch nie damit zu tun hatte. Und nun schauen wir zurück auf eine schwer betriebswirtschaftliche Schulungswoche, die wir nun zuerst noch im Schlaf verarbeiten müssen :)

Donnerstag, 15. November 2007

Die scheinbar unendlichen Weiten des PP / MM

Der Donnerstag begann mit einer kurzen Vorstellrunde und gleich danach ging es Schritt für Schritt durch die Sichten des Materialstamms. Christian erklärte uns im Schnelldurchlauf die Bedeutung der Felder jeder Sicht, was daran speziell sein kann und beim einen oder anderen Highlight einige Transaktionen zum Pflegen dieser Felder / Schlüsselfelder. Dabei konnten wir vorallem zwei Dinge feststellen: SAP kann wirklich viel (wussten wir ja eigentlich, aber es wird immer wieder aufs Neue bestätigt) und gewisse Dinge sind im Standart etwas unangebracht. Wozu sollte ein normaler Betrieb z.B. Hochspannungsleitungen steuern wollen?!? Wie dem auch sei, der Vormittag verging wie im Flug und dem Nachmittag drohten wir mit den Themen Arbeitsplatz, Arbeitsplan, Materialstückliste, und den zugehörigen Transaktionen zum anlegen & richtigen Kostenfindung (Selbstkosten, Fixkosten, -> Materialkosten, Fertigungskosten, u.s.w.)

Nachdem wir am Nachmittag die genannten Themen durchgesehen haben pflegte jeder noch eines seiner Materialien, eine Stückliste dazu, ein Arbeitsplan, den Arbeitsplatz... Das ging ziemlich rasant vorwärts, ganz nach dem Motto kurz und schmerzlos es funktionierte auch bei ziemlich allen. Ausser bei mir erstmals nicht, weil ich natürlich wiedereinmal eine grössere Stückliste (halt eine die der Realität näher steht) erzeugte die Materialien beinhaltet hat welche bedauerlicherweise einige Wochen zuvor unzureichend gepflegt wurden. Zum Schluss gabs noch ein kleines Roundup über den 1. Tag MM/PP und schon war der Tag gelaufen. Ich denke man hätte sich gut eine Woche mit all den angesprochenen Bereichen beschäftigen können aber so haben wir einen zwar groben, aber ich hoffe doch breiten Überblick aufs MM und die ersten Angelegenheiten im PP.

Hier noch die eine oder andere Spezialität...

Konsignation - http://de.wikipedia.org/wiki/Konsignation

Retrograd - http://de.wikipedia.org/wiki/Retrograde_Verbrauchsermittlung

Lohnbearbeitung
Hierbei senden wir einem Hersteller oder einer Produktionsstäte (extern) unser Material und lasse ihn damit unser Produkt fertigen.

Koppelprodukt
Wenn ein Material in seiner Stückliste sich selbst beinhaltet (Rekursion => allenfalls in der Chemie). Oder z.B. wenn aus einem Baustamm mehrere Qualitativ unterschiedliche Bretter gefertigt werden.

Ein rasanter und packender Tag von dem wir alle natürlich versuchen so viel wie möglich zu merken. Ich freue mich jedenfalls auf den zweiten Tag mit Christian. -> Meine rohen Notizen zum Tag könnt ihr im unteren Link einsehen.

Kurznotizen / RAW

Mittwoch, 14. November 2007

IDoc

Nach zwei Tagen SD Schulung hatten wir heute Zeit, uns ein Thema welches wir auf unserer Pendenzenliste hatten zu widmen: dem IDoc.
So begannen wir damit abzuklären, was nötig ist, um eine Bestellung als IDOC an einen Geschäftspartner zu übermitteln.
Als erstes beschafften wir uns die Struktur der Bestellung - wobei gleich eine RAPer-Typische Diskussion aufkam, ob nicht XML sich besser eignen würde um die Daten zu übermitteln (welche dann aber auch schnell wieder ein Ende fand). So schauten wir uns die Dokumentation zur Struktur des Basistypen ORDERS05 an.

Darauf legte jeder einen eigenen Fileport sowie eine Partnervereinbarung an und fügte diese als Nachicht in seiner Lieferanten-Bestellung hinzu. Nun galt es, das genererierte File in einem eigenen Programm vom Applikations-Server zu lesen und zu guter letzt noch zu versenden. Während das Versenden der E-Mail Nachricht an sich kein grosses Problem darstellte hatten wir jedoch Probleme mit dem Dateianhang. Dessen Zeilen dürfen aufgrund des Funktionsbausteins nicht länger als 255 Zeichen sein. Unsere Datei, welche wir verschicken sollten, überschritt diese Länge aber um fast das doppelte.

Nach längerem Probieren konnten wir das Problem schlussendlich lösen, indem wir die zu übermittelnde Datei dem FuBa in binärer Form übergaben.

Dienstag, 13. November 2007

SD Schulung

Genau so spannend wie gestern ging's heute mit den Folien 89 bis 127 weiter. Thomas hat uns weitere Einstellungs möglichkeiten im SD Bereich gezeigt und erklärt. Weil es sooo unglaublich viele einstellungsmöglichkeiten gibt, verirrten wir uns teilweise in der Transaktion. Doch nach kurzer Suche und der Zuhilfenahme der Monsterpräsentation wurde de richtige meist gefunden. Doch damit war eigentlich erst das kleinste Problem gelöst. Hatte man die richtige Einstellung gefunden, musste man noch sein Reaktionsvermögen unter beweis stellen. Denn die Einstelllung wurde bestimmt schon durch einen Kollegen bearbeitet und fünf weitere warteten nur darauf als nächster dran zu kommen.

 Heute haben wir folgende Themen angeschaut:

  • Nachrichtensteuerung

  • Stammdatenpflege 

  • Verkauf

    • VV11 (Anlegen)

    • VV12 (Ändern)

    • VV13 (Anzeigen



  • Versand

    • VV21, VV22, VV23



  • Fakturierung

    • VV31, VV32, VV33



  • Lieferungsprozess

  • Versandstellenvermittlung

    • Kopiersteuerung



  • Fakturierung


An dieser Stellen ein grosses Dankeschön an Thomas.

Montag, 12. November 2007

Ausbildung Vertriebslogistik

Diese Woche ist eine besondere Woche. Wir haben nicht wie normal eine SAP-Schulung mit anschliessendem Selbsstudium sondern interne Kurse über Vertriebslogistik, Produktionslogik und FI/CO. Den heutigen Montag haben wir mit dem Kurs über die Vertriebslogistik begonnen. Thomas (diesmal ein anderer) führte diesen Kurs mit uns durch. Er hat sich super darauf vorbereitet und hat auch Aufgaben für uns erstellt, so dass wir nicht nur den ganzen Tag zuhören mussten. Die PowerPoint-Präsentation von ihm hat 127 Seiten. Am heutigen Tag haben wir genau 88 Seiten geschafft. Also mehr als die Hälfte. Wir haben so viele Themen angeschaut, da wäre ich morgen noch dran, wenn ich für alle einen kurzen text schreiben würde. Also belasse ich es mal bei einer Auflistung. Wer sich dann genauer informieren möchte, kann die PPP auf dem FTP-Server anschauen. Also nun hier die Themen von heute:

  • Stammdaten

  • Spezielle Auftragsarten und Vorgänge

  • Geschäftspartner

  • Positionstypen im Vertrieb

  • Einteilungen

  • Preisfindung

  • Unvollständigkeitsprüfung

  • Verfügbarkeitsprüfung


Zu jedem dieser Themen hat es durchschnittlich 11 Folien gegeben, welche Thomas zur Unterstützung seiner Erklärungen benutze. Man kann also sagen dass wir die verschiedenen Bereiche recht gründlich angeschaut haben. Auch haben wir in der Customizing Transaktion SPRO "herumgewütet". So konnten wir das ganze besser kennenlernen. Thomas hat Zeichnungen gemacht um die ganzen Abhängigkeiten verständlich zu machen. Diese Zeichnungen werden vermutlich auch noch auf dem FTP-Server abgelegt.

Ich fand den heutigen Tag super, da ich die Abhängigkeiten von den ganzen Funktionen welche SAP bietet etwas mehr nachvollziehen kann. Thomas hat sich auch sehr gut angestellt mit erklären und helfen. Bin gespannt auf morgen.

Freitag, 9. November 2007

Selbststudium rund um Dialogprogrammierung

Heute war wieder einmal Selbststudium angesagt, nach einem schweren Gang aus dem Bett und dem Schneesturm (aus Stadtzürcher Sicht :D), fand ich mich doch noch im Glattzentrum ein und habe mich zuerst einmal dem Table Control gewidmet. Dort habe ich in die Aufgabe von vorgestern noch eine Sortierfunktion reinprogrammiert, die Kontextmenü gesteuert ist und habe mich ein wenig über die zusätzlichen Möglichkeiten im Bereich Ablauflogik informiert. Nach dem Mittag fuhr Stefan's Ordnungssinn ungebremst in die Gruppe, als Konsequenz wurden alle Ordner zusammengesucht und einheitlich angeschrieben :), weiter gings mit Zigi-Fötzelä (Aschenbecher hielt dem Wind nicht stand) bevor wir zu unseren Arbeitsplätzen zurückkehrten. Dort ging ich dann nochmals durch die Kursunterlagen und habe mir den Layout Editor angeschaut, wo mir wieder einmal das Feldattribut "Schalter" auffiel. Schnell einmal war klar, dass es im SAP ein sogenanntes Switch Framework gibt, welches mit dieser Option zu tun hat. Nach gewissen Recherchen bin ich dann dahintergekommen, was das soll...

Schalter

Zusammenfassung Switch Framework (SFW)
Das SFW erlaubt es, gewisse Repository Objekte (Dynpro Felder, Ablauflogik-Module, etc.) anhand eines Schalter anzuzeigen oder auszublenden. Dies ist praktisch, wenn man zum Beispiel ein Dynpro mit individuellen Feldern je nach Industrielösung (Öl, Auto, Chemie... ) oder eigen definierten Varianten programmieren möchte. Dazu erstellt man in der Transaktion (SFW1) eine Schaltergruppe oder merkt sich eine schon vorhandene und wählt diese nachher im Dynprofeldattribut "Schalter" aus. Auch Module in der Dynpro Ablauflogik können abhängig nach Gruppen aktiviert oder deaktiviert werden mit dem Zusatz SWITCH. Mit der Transaktion SFW5 kann man dann diese Feature-Gruppen für ein System begutachten und gegebenfals aktivieren.

Der Unterschied und die Zusammenarbeit zum Enhancement Framework lässt sich nicht besser als in gutem alten Englisch erklären:
The Enhancement Framework enables the implementation of the best-practice solutions defined within an industry, while the Switch Framework controls which enhancement implementations are to be performed.

Grundsätzlich, so wie ich das verstanden habe:

SFW:    Ausgabe durch Schalter steuern und Enhancements aktivieren/deaktivieren.
EFW:    Verarbeitung durch Schalter aufteilen

Donnerstag, 8. November 2007

SAP Basis Schulung

Wir durften heute an der Schulung von Patrick über SAP Systeme (Basis) teilnehmen. Er vermittelte uns einen guten rund-um Blick mit dem wir jetzt endlich mehr wissen über wie so ein SAP System eigentlich aussieht, was dazu gehört, und was es dazu braucht. Hier noch einmal kurz ein Überblick über den behandelten Stoff:

1. Aufbau SAP Produkte Business Suite und NetWeaver
- Business Suite ERP and Industrie Lösung (IC, WebShop) , CRM (Mobile, IC, WebSHop), SCM and Live Cache (APO), PLM, …
- NetWeaver Portal, BI, PI/XI and SLD, MI, MDM, Adobe Service,...

2. Welche Provider und Hardware Lösungen werden unterstützt.
- IBM, HP, SUN, Siemens, Dell, EMC, ...
- Cluster (Fail-Over) Lösungen,...
- SAN, NAS,...
- Libelle, Schattendatenbank,...

* Wo liegen die stärken und die schwächen

3. Welche Betriebsysteme werden unterstützt
- Windows 32Bit / 64 Bit
- Linux
- HP-UX (Digital, Compac True 64)
- IBM Unix, i5, mainframe
- Sun Solaris

* Wo liegen die stärken und die schwächen

4. Welche Datenbank Lösungen werden unterstützt
- MaxDB Windows, HP-UX, Linux, Sun, IBM Unix (openSource mysql, SAPDB, ADABAS)
- MS SQL Windows
- Oracle Windows, HP-UX, Linux, Sun, IBM Unix (RAC Lösung)
- IBM Windows, HP-UX, Linux, Sun, IBM Unix, i5, mainframe
- Informix Windows, HP-UX, Linux, Sun, IBM Unix
* Wo liegen die stärken und die schwächen

5. Architektur
- WebAS for Abap (kernel, verschiedene arts von patch
- WebAS for Java
- MCOD

Um jetzt aber nicht den ganzen Kurs zu Wiederholen will ich mich auf zwei, drei Bereiche beschränken. Was ist MCOD und was genau ist mit Netweaver gemeint? Was hat es mit den mysteriösen Ausdrucken von der Praxisarbeit auf sich?

Bei MCOD handelt es sich um eine Lösung die alle in einem SAP Datenbanken in einer vereint. Man hat also nicht verschiedene Instanzen für Beispielsweise ERP, CRM, SRM, ... sondern nur eine gemeinsame Datenbank. Diese Lösung kann kosten sparen, aber nach den Aussagen die man in verschiedenen Foren im Web findet kann ich nur darauf schliessen, dass die Nachteile die Vorteile überwiegen. (Backupsystem muss auch MCOD sein, geringere Ausfallsicherheit / Erreichbarkeit ...

Netweaver beschreibt eine Menge von Zusätzlichen Systemen die besonders zur Hardwarenahen unterstützung dienen. Konkret gibt es die Module BI, EP, PI, MI, MDM, sowie XI bzw. PI. Letzteres bietet eine Schnittstelle für die Kommunikation zwischen dem SAP System und externen / anderen Systemen. Daher wahrscheinlich sein alter Name 'XI' (Exchange Infrastructure (?)).

Wer sich an die Praxisarbeit und an seine SAP Script / SmartForm Ausdrücke erinnern kann soll sich künftig nicht mehr wundern wenn er seine Ausdrücke über LOCAL druckt und 'Mist' erhält. Hier der Weg den wir 'theoretisch' gelernt haben:

1. Drucker im System anlegen (Printserveradresse mit IP festlegen, keine Domänen verwenden da diese oft zu lange Responsetimes aufgrund der Auflösung haben.

2. Formular auf diesen Drucker einrichten (erstellen), Schriften ect. verwalten.

3. Sich über ein seriösen Ausdruck freuen.

Als kleiner Hinweis: Mit einem OSS Benutzer kann man ein beliebiges SAP System herunterladen und 3 Wochen (bis zur Lizenzeingabeaufforderung) Testen / Benutzen!

Mittwoch, 7. November 2007

Ein Tag für's Table Control

Heute haben wir an unserem Table Control, welches wir gestern Abend als letztes erstellt hatten, weitergearbeitet. Wir erweiterten das Control mit drei Buttons, mit welchen sämtliche Zeilen markiert, die Markierung aufgehoben bzw. die markierten Zeilen storniert werden können.

Im Verlaufe meiner Tests stornierte ich aus Versehen alle Buchungen eines eines Fluges. Dies war zwar nicht weiter schlimm, da es sich nur um Übungsdaten handelte, aber nichts desto trotz baute ich schleunigst ein 'POPUP_TO_CONFIRM' in mein Programm ein um das in Zukunft zu verhindern...

Das stornieren aller Buchungen des Fluges führte dann aber bei der nächsten Ausführung zu einem DUMP meines Programmes, da der FuBa welcher für das Stornieren der Buchungen verwendet wurde in der Datenbank einen Minus-Wert (seatsocc) hinterlassen hatte, was dem DynPro dann Probleme bereitete.

Dieses Problem konnten wir dann aber durch das simple auf 0 setzen des entsprechenden Wertes zur Laufzeit umgehen. Gelöst ist das Problem damit allerdings noch nicht, da der Fehler im FuBa liegt - die Anpassung bzw. das Ersetzen eben dieses FuBas ist nun eine Aufgabe für das Selbststudium am Freitag.

Danach wandten wir uns dem Kapitel der Kontext-Menüs zu, welches wir rasch durcharbeiteten. Nachdem wir auch das zugehörige Übungsbeispiel in den Schulungsunterlagen, in welchem wir unser Table Control durch ein Kontext-Menü erweiterten geschafft hatten, ging es weiter mit Kapitel 9, "Listen auf Dynpros", und der entsprechenden Übung.

Dienstag, 6. November 2007

Magische Benutzerdialoge

Heute war ein sehr verzauberter Tag... Zu Beginn haben wir ein paar Radiobuttons und ein Subscreen erstellt, bei welchem der Inhalt mit den Radiobuttons verändert werden konnte.

Jetzt musste/durfte endlich mal der Wizard verwendet werden um ein Tabstrip zu erstellen, da ich nicht der Freund von Wizards bin versuchte ich es zunächst von Hand, musste jedoch feststellen das es mit dem Wizard einiges einfacher und schneller geht.


Nun hatten wir den Tabstrip schön mit Daten befüllt, also stand als nächstes Tablecontrols auf der todo Liste. Natürlich gibt es hierfür auch einen Wizard, den ich aber zum Glück nicht verwendet habe.


Grundsätzlich kann man es sich so merken:

  • Tabstrip: Hier kann sorglos der Wizard verwendet werden, es macht das Leben sogar einfacher.

  • Tablecontrols: Achtung! bei komplexeren Sachen (Strukturen usw.) ist es empfehlenswert die Tablecontrols von Hand zu erstellen, der Wizard wird nur für einzelne Tabellen empfohlen.

Montag, 5. November 2007

Benutzerdialoge

Heute haben wir mit dem neuen Kurs BC410 angefangen. In diesem Kurs geht es um die Entwicklung von Benutzerdialogen.

Dieser Kurs bringt auch wieder viel Theorie mit sich. So haben wir am Anfang nur das Gröbste angeschaut. Da wir schonmal mit Dynpros zu tun hatten, war das für mich wie eine kleine Auffrischung.

Beim Entwickeln von Userdialogen geht es im Prinzip darum, Dynpros zu gestalten und mit einer Ablauflogik zu versehen. In der Ablauflogik eines Dynpros gibt es die zwei Elemente Process Before Output (PBO) und Process After Input (PAI). Diese Elemente werden mit Modulen gefüttert, welche die Datenbeschaffung übernehmen.

Heute ist es mehr darum gegangen sich mit dem grafischen Layouter vertraut zu machen und sein erstes Dynpro zu erstellen. Auch GUI-Titel und GUI-Stati wurden von uns erstellt. Danach ging es schon um die verschiedenen Controls welche in einem Dynpro verwendet werden können. Tom zeigte uns für was sie sind und wie die Daten transportiert werden.

Donnerstag, 1. November 2007

Tag der Entscheidung

Heute war wiedereinmal ein besonderer Tag. Der Tag der Entscheidung unserer SmartForms Challenge, welche Thomas gestartet hat. Inhalt der Challenge war es, bis heute Abend sowohl die SAP Script- als auch die Smartforms-Aufgabe fertig gelöst zu haben und dabei die 'beste' oder 'schönste' Lösung entwickelt zu haben. Als Preis lockte ein freier Freitag (morgen).

Heute waren noch Pascal und ich im Rennen. Und so waren wir den ganzen Tag damit beschäftigt, das bestmögliche Resultat zu erarbeiten um die Challenge wenn möglich zu gewinnen - der Wettbewerb war in vollem Gange. Wir beide schafften es, das Formular bis zum Abgabetermin fertigzustellen.

Danach lag es an Thomas den Gewinner auszuwählen. Leider entschied er sich nach langem überlegen dafür, dass es keinen Gewinner gibt, denn sowohl Pascal als auch ich hatten zwar schöne Formulare entwickelt, hatten allerdings etwa die selben Mängel bei der Selektion der Daten. Diese müssen wir nun morgen noch beheben - danach dürfen wir aber dann doch noch verfrüht ins Wochenende starten. :o)

Dienstag, 30. Oktober 2007

Zeit- & Arbeitsmanagement Seminar in Moggelsberg

Resort Hotel Mogelsberg


Oerlikon 07:30... Paskal, Stefan und ich treffen uns auf dem Parkplatz der Mobility. Hier begann unsere Reise nach Mogelsberg, wo wir uns dann mit Fabrice und unserer RAP'er Mami trafen.


Zu Beginn gab es eine Einführung im Resort Hotel (Bild) und eine kleine Wanderung zum mogelsberger Baumkreis. Auf dem Weg dorthin sollten wir uns ein Bild über uns selbst machen, auf welches wir im Baumkreis eingegangen sind.

Zurück im Hotel haben wir ein Raster zu unserem Charakter erstellt und darüber diskutiert. Daraus konnten pro Person die Pros und Kontras ermittelt und bewertet werden. Nach einem super Mittagsessen folgte eine kurze Diskussion und jeder erstellte für sich eine Vision, anschliessend spielten wir eine interessante Partie Schach. Zum Schluss haben wir für uns ein paar Leitsätze geschrieben und besprochen was es noch zu tun gibt (Aufgabe).

Das Motto des heutigen Tage: Sei anders!
Aufgabe: Ein Businessplan über sich selbst erstellen.

Um den ganzen Tag schön abzurunden gab es noch einen "kleinen" Snack, wobei wir noch über den Tag diskutiert haben.

Montag, 29. Oktober 2007

SAPscript Feedback

Tom hat sich inzwischen unsere Formulare, welche wir mit SAPscript erstellt haben mal angeschaut. Bei praktisch allen von uns, gab es noch Verbesserungsarbeiten. Zum Teil stimmten die Schriftarten nicht, Texte waren nicht richtig ausgerichtet, etc. Das tückische daran ist, dass ein SAPscript Formular nie gleich aussieht, wenn man es auf verschiedenen Druckern druckt. Ich habe mein Formular nun auf den resource Farblaser angepasst. Da werden Boxen und Bilder mit richtig dargestellt. Bei einigen ist das Logo zum Teil verkehrt rum ausgedruckt worden. Ich wüsste jetzt nicht, was ich da gemacht hätte. Bei mir kam es beim ersten mal gleich Korrekt aus dem Drucker.

Nach dem Feedback von Tom haben wir die Anpassungen an den Formularen gemacht. Ein Zusatzwunsch von Herrn Meisterhans war noch, dass die Empfängeradresse auf den Rechnungen des lausanner Verkaufsbüros auf der linken statt auf der rechten Seite sein soll. Da das Büro in Lausanne das Sichtfenster von den Couverts links hat. Das Formular wurde natürlich auch so angepasst.

Desweiteren hat Tom eine Challange für uns RAPER gestartet. Wer bis Donnerstag Abend eine Buchungsbestätigung in Smartforms realisiert hat, bekommte am Freitag frei. Aber nur der mit der schönsten und technisch funktionierenden Buchungsbestätigung.

Freitag, 26. Oktober 2007

Freitagsschulung: E-Commerce

Wieder einmal stand eine interessante Freitagsschulung statt mit Thema: E-Commerce. Insgesamt ging es um einen recht einfach gehaltenen Webshop, der mit JSP realisiert wurde und von SAP ausgeliefert wird. In der Schulung ging es darum, wie erstellt und pflegt man Produktkataloge, wie richtet man die Kommunikation zwischen Shop und SAP R/3 ein und um die Schwierigkeiten bei der Indexierung der Daten im Webshop, die man mit dem sogenannten T-REX Server oder einem Job-gesteuerten Datencaching realisieren kann. Insgesamt kann man sagen, es ist eine schnelle und einfache Lösung, einem Kunden einen an SAP angebundenen Web-Shop auszuliefern. Liefert man den Shop im Standart aus, kann mit absehbarem Aufwand von ungefähr 4 Tagen gerechnet werden, möchte der Kunde aber Zusatzfeatures, kann sich der Aufwand sehr schnell verdoppeln oder verdreifachen. Echtes Know-How über diese E-Commerce Lösung ist allerdings zurzeit allein in SAP Hand, hier gibt es Potenzial. Vielleicht irgendwann eine Aufgabe für das RAP Team? Schliesslich sind viele von uns Web Profis :P :P

Mittwoch, 24. Oktober 2007

SAP-Script: zweiter Tag

Der zweite, volle Tag der Praxisarbeit. Es ging heute weiter mit der Realisierung.
Ich befasste mich heute mit der Ausgabe des Kopfteils der Rechnung, genauer gesagt mit der Ausgabe des Zuständigen Mitarbeiters sowie der Telefonnummer desselben.
Auch galt es die Telefonnummer aufzubereiten - was schliesslich mit dem FuBa 'TELNUMBER_FORMAT' gelang. Schliesslich verschob ich das Adressfenster noch so lange, bis es im Fenster des Couverts erschien.

Danach ging es dann weiter zu den Rechnungs-Positionen. Nach dem Erstellen diverser Absatzformate und dem erstellen des Headers war sowie der Ausgabe der bereits im Standard-Formular vorhandenen Daten war der Tag dann auch schon wieder vorbei.

Dienstag, 23. Oktober 2007

SAP-Script: erster Tag

Der erste SAPScript Vollgas Tag! Heute habe ich mich hauptsächlich mit dem Layout befasst, Struktur macht das Leben leichter. Denn das Standardformular ist ein ziemliches durcheinander.

Bei der Positionierung der verschiedensten Fenster kann man sich merken - alles so angeben wie der Kunde möglicherweise auch Änderungen wünscht, sprich "CM". Wenn man nämlich angaben zB in LN oder CH macht und der Kunde will dann Fenster-X 0,5cm weiter rechts, darf man dies zuerst umrechnen.

Das Hauptproblem für mich war jedoch die Orientierung im Programmcode des Standardformulars. Tausend Zeilen mit spärlich kommentiertem Code machen es nicht unbedingt leicht.

Montag, 22. Oktober 2007

Lessions Learned

Paint Praxisarbeit 1Heute, nach den Ferien von Tom, haben wir den Tag unter dem Motto Lessions Learned verbracht. Hauptsächlich ging es darum, einen Überblick über die Praxisarbeit 1 zu bekommen. Was war gut? Was war nicht so gut? Wo sind defizite? etc. Um das zu ermitteln haben wir Stichworte zur Praxisarbeit auf kleine Blätter geschrieben. Positive, neutrale ebenso wie negative Punkte haben sich so gefunden. Anschliessend, haben wir aus diesen Stichworten ein Bild erstellt, welches die Praxisarbeit wiederspiegelt. Dabei sind ganz interessante Sachen herausgekommen wie man sehen kann.

Ein netter Nebeneffekt dieses Tages: Wir wissen nun wie das Smartboard genau funktioniert ;)

Freitag, 19. Oktober 2007

Selbststudium der Dritte

Ollaaa!!

Abschliessend zu SAPScript/Smartforms kann man sagen, der Kurs war ein Erfolg aber: Man könnte diese beiden Kurse ohne Probleme in eine Woche packen. hat man nämlich SAPScript begriffen und genügend Hintergrundverständnis, ist der Sprung auf Smartforms dann kein grosses Problem mehr, ein paar Sachen wie das FUBA generieren, Bilder, gewisse Feldertypen oder Schablonen sind neu, aber grundsätzlich könnte man Smartforms innerhalb eines Tages erlernen, wenn man SAPScript im Griff hat.

Was uns jetzt die letzen 2 Tage noch blieb ist viel zu viel Zeit für das Smartforms Selbstudium. Darum schreib ich jetz noch den Blog, Catse und geh danach ins Wochenende :)  Arriba andale andale

Donnerstag, 18. Oktober 2007

SmartForms

Im heutigen Selbststudium beschäftigen wir uns erneut mit SmartForms was heute wohl am auffälligsten war ist, dass sich jeder irgendwie an die benutzerfreundliche Art und Weise von SmartForms zu gewöhnen hat. Meiner Meinung nach merkt man, warum SmartForms nie so wirklich SAP Script ersetzen konnte. Die Extras sind zum Teil zwar schön und gut, aber um himmels Willen die Bedienung ist fast unerträglich. Um über die Zeilenbreite eines Fensters hinaus zu schreiben muss man speziell über die Tastenkombination Shift + F8 oder eben mit der Maus weiter Steuern. Das Abwechseln zwischen Maus und Tastatur hat Verbesserungspotential. Nicht nur das, sondern auch andere Kleinigkeiten die mir persönlich SAP Script fast schon freundlicher machen.

Ich bin gespannt wie uns diese 'Technologien' die Praxisarbeit versüssen werden :)

Mittwoch, 17. Oktober 2007

Selbststudium SmartForms

Da wir den SmartForms-Kurs bereits gestern abschliessen konnten, ging es bereits heute darum, unser Wissen im Selbststudium zu vertiefen. Wir nutzten diese Zeit, um verschiedene Dinge nochmals anzuschauen.

Ich für meinen Teil las in den Schulungsunterlagen übersprungene Themen nach. Danach erstellte ich nochmals von Grund auf eine Tabelle zur Darstellung der Aufträge eines Kunden mit den zugehörigen Auftrags-Positionen.

Darauf befasste ich mich noch mit den Optionen für Druckansicht und Dialog und probierte dabei verschieden Einstellungen aus. Zum Schluss bastelte ich noch etwas am Stil meines Formulars herum, um ein einigermassen Ansprechendes Layout zu erhalten.

Dienstag, 16. Oktober 2007

The Smart Form(s)

Heute gab es als erstes eine intensive Repetition des gestrigen Tages.
Und dann ging es weiter mit den Smart Forms!

An sich ist die Handhabung der Smart Forms viel besser als SAPScript, auch wenn ein gewisser Zusammenhang besteht, auch der Formpainter ist etwas freundlicher.

Zur Übung erstellten wir also mal ein Formular, wobei der Formpainter bereits recht hilfreich war, auch wenn man noch die genauen Positionierungen etwas justieren musste. Um dass Formular nun nach etwas aussehen zu lassen, erstellten wir ein entsprechendes ABAP Programm, welches die nötigen Daten ausliest und integrierten dieses im Smart Form.

Bis jetzt hat alles eine gewisse Ähnlichkeit mit SAPScript, doch dann kamen die Schablonen zum Einsatz. Eine Schablone kann man mit einer Tabelle vergleichen, der wesentliche Unterschied prägt jedoch die Statik. Während Tabellen erst zur Laufzeit generiert werden, ist die Grösse der einzelnen Felder oft unterschiedlich, die Schablone hingegen wird im Formpainter festgelegt und ist somit definitiv.

Schlussfolgerung: ich würde Smart Forms gegenüber SAPScript bevorzugen, bin aber weiterhin sehr gespannt auf die Lösung von Adobe ;-)

Montag, 15. Oktober 2007

Smartforms - nochmal Formulare

Diese Woche haben wir den Kurs BC470 angefangen. In diesem Kurs geht es um Smartforms. Dazu gibt es eigentlich nicht viel zu sagen. Es wird auch wieder ein Formular erstellt mit Absatzformaten, Fenstern, etc. Der grösste Unterschied von Smartforms zu SAPscript ist die Verarbeitung. Im gegensatz zu SAPscript wird dem Formular nur Daten übergeben. Das Formular stellt dabei ein Funktionsbaustein dar. Das heisst es gibt ein ABAP Programm welches die Daten hohlt und danach das Formular aufruft. Den Rest erledigt dann das Smartform. Loops, Abfragen, etc werden dann vom Formular selbst behandelt.

Freitag, 12. Oktober 2007

SAPScript - Selbststudium

Grüezi mitenand! Ich muss schon zugeben, es fällt mir ein wenig schwer für den heutigen Freitag zu bloggen, dies hat damit zu tun, dass SAPScript einfach nur simpel ist, ausser man versucht Drucker Fonts zu verändern bzw. Barcodes manuell anzupassen, aber das war zum Glück nicht Hauptteil der Schulung :) Nun ja, uns fällt es heute wie auch gestern recht schwer, etwas noch hinzuzulernen oder zu vertiefen in diesem Bereich. Auch wenn die SE71 sehr mühsam zu bedienen ist, finden und kennen wir inzwischen fast alle Funktionen und Tücken des Formulardrucks, Silas würde natürlich hierzu sagen: "Da isch da wo du denksch!" Doch er denkt gleich.

Noch ein Wort zu unserem SAPScript-Ausbilder: Rolf trinkt sein Käfeli und versucht nicht vorhandene Fragen zu beantworten und gibt sich zufrieden :)

Nun, was tut man an so einem Tag? Genau! Man bloggt, führt seine Arbeitszeiten nach, räumt den PC auf und macht nochmals ein Formular oder verfeinert die bestehenden Absätze :)

Auf zu den SmartForms! Möge der Montag kommen!

Donnerstag, 11. Oktober 2007

SAP Script Beispiel

Den heutigen Tag verbrachte ich mit der Erstellung eines Beispiel-programmes das ein SAP Script Formular abfüllt und ausgibt. In zukunft vergesse ich jetzt nicht mehr, dass Variablen die auf dem Formular ausgegeben werden müssen im Programm 'global' zu deklarieren sind. *grins* Das Programm gibt eine Debitorenliste aus über welche mit Line-Selection ein SAP Script Formular zur Ausgabe von Ansprechpartnern ausgegeben wird.

Hauptprogram

TOP Include , Print - Include , GET - Include , Formular Include ( Includes zum Programm )

Bedauerlicherweise kann ich das Formular nicht bereitstellen, dennoch sollte der Programmcode ein sauberes Beispiel für einen Anwendungsfall von SAP Script sein. (Obwohl SAP Script Formulare oft vom Standart aus kopiert und angepasst werden)

Mittwoch, 10. Oktober 2007

SAP Script Kurstag 3

Am heutigen Tag mussten wir bereits nach Themen suchen, welche wir noch miteinander Anschauen konnten, da wir an den letzten beiden Tagen unerwartet weit gekommen waren. Schlussendlich lief es darauf hinaus, das wir schlicht das Gelernte von Montag und Dienstag repetierten und zusammenfassten.

Nach dem Mittag waren wir angehalten, das Gelernte auszuprobieren und zu vertiefen - es ging also fliessend ins Selbststudium über. Ich ging das während der Schulung erstellte Formular nochmals durch und probierte verschiedene Einstellungen durch. Danach stellte ich die Darstellung komplett um, um auch mal ein zwei- bzw. mehrseitiges Formular zu sehen. Ich stellte bei meinen Versuchen fest, das SAP Script vorallem in Sachen Layout und Bedienung schon so seine Tücken hat, auch wenn die Grundsätze relativ schnell erlernt zu sein scheinen.

Zusammenfassend lässt sich also sagen, dass SAP Script weniger schwierig ist als ich erwartet hatte - allerdings sind zum Teil simple Dinge recht mühsam oder gar kaum zu realisieren. Diesbezüglich bin ich gespannt auf den Smartforms-Kurs von nächster Woche.

Dienstag, 9. Oktober 2007

SAPscript - weiter gehts!

Den grössten Teil haben wir gestern abgedeckt.
Heute haben wir uns die Barcodes und OCRa/b vorgenommen.

<komische Sache!>
Die ganzen Abhängigkeiten geben einem zu Denken..

Bis ende des Tages hatten wir jedoch unser Formular!

Fazit:
Logik - nicht schwer
Umsetzung - Mühsam

Montag, 8. Oktober 2007

SAPscript - Ist doch gar nicht so schwer!

Nach dem Abschluss der Praxisarbeit, haben wir diesen Montag wieder ein Kurs angefangen. Es ist der Kurs BC460. In diesem Kurs geht es um SAPscript. Entgegen vielen Meinungen finde ich das Thema nicht sonderlich schwer. Ich denke alle die aus der Webentwicklung kommen und sich mit Templatesystemen auskennen, werden keinerlei Probleme haben SAPscript zu verstehen. So ist es auch bei mir der Fall. Im grossen und ganzen geht es darum, dass man ein Formular erstellt, diesem sagt wo was stehen soll und anschliessend mit einem Programm die definierten Variablen abfüllt.

Das tückische an der ganzen Sache ist das layouten des Formulars. Man muss verschiedene Seiten, Fenster, Absatzformate, etc. erstellen und diese dann mit Massangaben positionieren. Dadurch dass die Positionsangaben metrisch angegeben werden können, wird der Massstab zu einem wichtigen Werkzeug. Klingt komisch, ist aber so!

Donnerstag, 4. Oktober 2007

Abgabetermin!

Heute war - vorverlegt aufgrund der morgen anstehenden Freitagsschulung - Abgabetermin unserer Praxisarbeit. Da Herr Meisterhans leider krank war, übernahm Thomas die Abnahme und schaute mit uns die Ergebnisse an.

Erfreulicherweise konnten sämtliche Programme abgenommen werden, wenn auch mit einigen wenigen neuen Punkten auf der Pendenzenliste. Diese sollten dann bei Gelegenheit mal noch erledigt werden.

Ein Rückblick über das Gelernte steht dann nach der Rückkehr von Thomas aus seinen Ferien (bzw. Herr Meisterhans vom Cheminée Kongress) an - gelernt haben wir so einiges, soviel steht fest. Nun sind wir alle gespannt auf den SAP Script Kurs nächster Woche.

Montag, 1. Oktober 2007

Praxisarbeit 1 - Tag 5

Heute haben alle mit vollem Enthusiasmus an ihren Codes weitergearbeitet. Währenddessen sind wir auf ein 'Problem' bei einer Warenbuchung gestossen, die Buchungsperiode war abgelaufen. Dies weil wir ja auf einem Entwicklungssystem (RAP) arbeiten wo niemand die Buchhaltung führt. Das Problem konnte jedoch rasch behoben werden (sobald wir mal rausgefunden haben wie), hierzu verwendeten wir die Transaktion MMPV.

Bezüglich Projekt gab uns Tom noch ein paar wichtige Hinweise:

  • Bei Programm spezifischen Abmachungen IMMER klären um welche Transaktion bzw. Feld es sich handelt. Idealerweise das spezifische Feld mit dem Kunden kurz anschauen.

  • Bei Fragen des Kunden ob X oder Y möglich wäre, IMMER gleich definieren ob es mehr Zeit benötigt und dass die Zeit ggf. auch zusätzlich verrechnet wird --> Zeit <> Kosten

  • Und zusätzliche Abmachungen schriftlich festhalten!


Meinerseits verläuft das Projekt soweit super, nicht ganz nach Zeitplan, doch momentan ist der Lerneffekt das wichtigste und der findet eindeutig statt.

Freitag, 28. September 2007

resource meets mallorca

Im Rahmen des 10-Jahres-Jubiläum der resource fand ein Mitarbeiterevent statt. Dieser war nicht irgendein Event. Nein, dieser Event fand auf der spanischen Insel Mallorca statt.

Morgens um 11 Uhr versammelte sich ein Grossteil der resource Belegschaft im Terminal 1 des Flughafens Zürich. Nach dem Check-in ging es direkt durch die Passkontrolle in die zollfreie Zone. Dort verbrachten wir dann unsere Zeit bis zum Abflug. Der Flug verlief Reibungslos. Meiner Meinung nach zumindest :). Als wir in Mallorca angekommen sind und unser Gepäck gefasst haben, stand auch schon ein Bus bereit, welcher uns zu den Hotels transferiert hat.

Mehr dazu im nächsten Post

Montag, 24. September 2007

Herr Meisterhans

Heute war ein besonderer Tag - der Beginn unserer ersten Praxisarbeit. Mit etwas gemischten Gefühlen kamen wir um halb acht Uhr im Büro an, wo Herr Meisterhans bereits auf uns wartete.

Nach dem gemeinsamen Kaffee gings dann sofort los mit dem Kundengespräch. Herr Meisterhans brachte uns dabei seine Vorstellungen und Anforderungen an die gewünschte Kunden- bzw. Auftragsliste näher. Nach einer knappen halben Stunde war das Gespräch dann bereits vorbei - ein Umstand, denn wir schon kurz danach bereuten, hätten wir doch noch so einige schlaue Fragen stellen können die wir so nachträglich klären mussten. Etwas, das wir beim nächsten Mal sicher besser machen werden.

Den Rest des Tages verbrachten wir dann - zwischen den vermehrt auftretenden Diskussionen betreffend der genauen Anforderungen und wie sie wer verstanden hatte - alle fleissig und konzentriert mit Spezifizieren.

Freitag, 21. September 2007

Selbststudium Freitag

Der heutige Tag hat für mich etwas später angefangen als sonst, da ich mich am Morgen mit dem Hausmeister und einem Sanitär am Hauptwasserhahn rumquelen musste. Das Resultat dieser Geschichte (für die, die es interessiert) war:
Kürzlich wurde der Hauptwasserhahn von einem Sanitär ausgetauscht, dieser hatte jedoch ein zu kurzes Ventil. Dies hat zu folge das man dass Wasser überhaupt nicht abstellen kann - jetzt muss also ein neuer montiert werden.

Da muss man sich nicht wundern dass ich meine Sachen lieber selbst erledige ;-)

'Back to business' - Die heutigen Themen umfassten nebst dem ganzen Logistikprozess (Kundenstamm, Aufträge, Materialstamm, Fertigung und Fakturierung) auch ALV Grids.

Wobei ich mich eher auf den Logistikprozess konzentriert habe, da ich mich hier noch am unsichersten fühle. Entsprechend hatte ich auch ziemliche Probleme eine Bestellung bei einem Lieferanten zu verarbeiten.

Silas sah sich auch plötzlich mit einem eher ungewöhnlichen Problem konfrontiert. Als er versuchte seine Arbeitstation wieder zu entsperren, wollte die Tastatur nicht die richtigen Zeichen zurückgeben (Space war zB. plötzlich ein Alt) - also musste er sich, mit einer zusätzlichen Tastatur und ASCII Tabelle bewaffnet, wieder in das System zurück kämpfen.

Donnerstag, 20. September 2007

Selbststuduim: Aufträge, Fertigung, Lieferung, etc.

Am heutigen Donnerstag war wie immer ein Selbststudium angesagt. Tom war heute auch bei uns am Tisch um für Fragen und Hilfestellungen bereit zu stehen.

Logistik Prozess in SAP


Wir haben heute nochmal den ganzen Logistikprozess angeschaut und durchgespielt. Dabei ging es um den Kundenstamm, Aufträge, um den Materialstamm, Fertigung und um die Fakturierung. Ich hatte da so meine Probleme damit, desshalb habe ich das Szenario mehrmals durchgespielt. Das heisst: Vom Kunden anlegen über Materialstamm pflegen bis hin zur Fakturierung, habe ich alles mehrmals durchgespielt.

Pascal und Fabrice haben sich dem REUSE Baustein für ALV Grids gewidmet. Sie kamen dabei zu einem tollen Ergebnis. Die ALV-Liste hatte am Schluss einen Kopfbereich mit einem eigenen Logo. Es war eine Ente.

An diesem Tag hatten wir auch einige lustige Momente. Vorallem als Manuel sich mit seinem Vermieter um den Wasserhahn gestritten hat. Dies ergab ein sehr lustiges Gespräch.

Mittwoch, 19. September 2007

Die unendliche Geschichte: SAP-Tabellen sammeln

Der Mittwoch war nach dem eher angespannten Dienstag wieder total harmonisch, obwohl ein nicht gerade motivierende Arbeit anstand: Den Durchblick in Sachen Tabellenkorrelation zwischen Materialstamm, Kundenstamm und Aufträge zu erlangen, wir haben dabei gelernt das die Zusammenhänge zwischen den duzenden Datenbanktabellen im DDIC mit Hilfe der logischen Datenbanken einfacher zu erkennen und zu finden sind.

Die Diskussion ging am Nachmittag in die "Aber das isch doch? Hä? AHAA Ja stimmt!" Phase, als wir das Anlegen von Material, Kunden und die ganzen Logistikprozesse repetierten, natürlich in Hinsicht auf die Praxisarbeit die schon nächste Woche ansteht. Als sämtliche fiktiven Cheminees ausgeliefert und fakturiert wurden, schauten wir uns dann noch das Vertriebsinformationssystem mit den Statistiktransaktionen genauer an. Ein mittel bis grosser Lacher ging dann durch die Männerrunde, als wir in der Liste der Transaktion MCTC die Option fanden, "nach Periode aufzureissen" :). Was haben sich die Waldorfer dabei gedacht? Könnte man da nicht anstatt "Aufriss" "Gruppierung" nehmen? ;)

Am Abend stand dann noch das Quartalsmeeting an, wo Silas den anwesenden Mitarbeitern einen kurzen Einblick in das Leben eines RAPers gab. Im Übrigen wissen wir jetz, wie das Transportieren über den SAP Solution Manager ablaufen sollte und dass schlussendlich doch die meisten Entwickler mehr Rechte bekommen als nötig, das wenige bis keine Firmen den ITIL Standart im Bereich des Change Management's wirklich begreifen und auch hart durchziehen. Ganz in Resource Manier kam nach dem durchaus positiv ausschauhenden Geschäftsbericht von Bruno, auch der Apero nicht zu kurz!

Dienstag, 18. September 2007

Ein schlechter Dienstag

Der Titel spricht es aus, der Dienstag war einer dieser Tage an denen nicht alles lief wie erwartet. Ich möchte hier aber nicht weiter auf die Dinge eingehen die zu diesem schlechten Tag führten sondern auf das positive - das Gelernte. Anstatt dem Versuch alle Kapitel zusammen zu fassen und erneut einen übergrossen Blog zu verursachen beschränken wir uns doch hier einfach auf das Kapitel Abhänigkeiten von Objekten im ABAP Dictionary.



Abhänigkeit im ABAP Dictionary


 


Die Abbildung zeigt die Hirachien verschiedener Elementen und deren Abhänigkeiten. In anderen Worten: Ein ABAP Programm greift in der Regel auf Datensätze in Tabellen und Strukturen zu. Diese Tabellen und Strukturen können mehrdimensional also verschachtelt sein. Eine Struktur S1, kann in einer Struktur B inkludiert werden. Auch diese Struktur S2 kann dann wiederum in einer Tabelle T1 verwendet oder miteinbezogen werden. Jede Struktur und Tabelle besteht aus unterschiedlichen Datenelementen die wiederum über eine Domäne zur Deklaration verfügen.


Des Weiteren halte ich es für erwähnenswert dass Tabellen, Strukturen, ect. erst logisch in der Datenbank eingefügt werden nachdem diese aktiviert worden sind. Wird also z.B. eine Tabelle im ABAP Dictionary modifiziert bleibt diese solange eine ungenutzte Vorlage bis zu ihrer Aktivierung. Anders formuliert: Es werden immer die zuletzt aktivierte 'Version' der ABAP Dictionary Elementen instanziert.

Freitag, 14. September 2007

Selbststudium Freitag

Heute war wieder Selbststudium angesagt. Da mir nicht bekannt ist, was die anderen so getrieben haben, beziehe ich mich hier mal nur auf mich.

Zuerst arbeitete ich die Liste der Unklarheiten und Interessen von dieser Woche ab. Vom Selbststudium gestern übriggeblieben waren dabei die folgenden Themen:

  • SQL Trace

  • Tabellen-Indizes

  • ABAP Performance Tuning


Danach las ich die im Kurs übersprungenen Textpassagen im Ordner BC402 nach und freute mich dabei über herrliche Aussagen wie "Die einzelnen Zeilen einer Tabelle werden als Tabellenzeilen oder Tabelleneinträge bezeichnet", worauf der Tag überraschend schon wieder gelaufen war.

Donnerstag, 13. September 2007

Kundeneinsatz bei der Schaltag AG

Es war ein sonniger, halbwarmer fröhlicher Tag als ich mich am Donnerstag Morgen vor der Dorfbäckerei in Effretikon wiederfand. Ich wunderte mich erst gar nicht wie ich dahin gekommen bin, denn das wusste ich ja, sondern wie der heutige Tag wohl ausgehen wird. Mit zwei Buttergipfeln ausgerüsted wartete ich ein paar Minuten bis dann Thomas mit seinem Auto vorfuhr. Wir kurvten dann zwei, dreimal um eine Ecke und standen schlussendlich auf der anderen Seite des Bahnhofs vor der Schaltag AG.

Mit unserem Werkzeug in der Hand begaben wir uns fast quer durch eine Art Montage Abteilung, ein paar Treppen hoch, durch einige Büroräumlichkeiten und schlussendlich in ein Büro indem wir den zuständigen SAP Betreuer begrüssten. Nach einer kurzen Unterhaltung durften wir uns dann auf einem freien Tisch einrichten. Der erste Einblick in die Firma hatte ich also schon bekommen, doch jetzt kam der interessante Teil. "Wie sieht unsere Aufgabe wohl aus?" dachte ich mir noch...

Als erstes schossen gleich mal einige, mir unbekannte, Stichwörter durch den Raum. Ich hatte schon fast Angst, dass mir der Tag nicht ohne Kompfschmerzen vorüber geht doch nach einigen Minuten wurde mir dann langsam klar worum es bei gewissen Änderungen ging. Hier ein Ausschnitt meiner Notizen und ein paar Begriffserklärungen:

8:40
(Änderung an ZHART, Lohnbestellungen von Tschechien, (Änderung im Verfaharen), Alle Bestelltypen im Selektionsbild, Lieferant obligatorisch setzen, Lieferant in die Selektion miteinbeziehen statt wie vorher im nachhinein dazu zu laden (? Klingt zwar komisch, wird aber schon so irgendwie sein), Rückfrage an Kunde -> nächste Anpassung
10:15


ZHART ist eine Kundeneigene Transaktion (Der Kunde nennt im Normalfall den Transaktionscode nicht aber die Programmbezeichnung).

Lohnbestellungen, sind z.B. Fertigungsaufträge (extern) zu denen das Eigenmaterial oder die Halbfabrikate mitgeliefert werden anstatt den Hersteller die Teile selbst beschaffen zu lassen. Offensichtlich eine Art von Outsourcing, wenn ich mich nicht gänzlich irre.

Workflow, damit gemeint ist (zumindest bei diesem Kunden) die Liste der Empfänger die über gewisse Prozessschritte informiert werden sollten. Thomas wenn du das vielleicht als Kommentar ergänzen könntest? Ich habe das so verstanden, dass es sich hier um eine Art visierungs- Dokument dass über verschiedene Personen weitergeleitet wird handelt.

Endlieferkennzeichen, das Kennzeichen dass eine Lieferung bei Erhalt bekommt, wenn diese vollständig ist.

Nachdem Thomas die ersten Änderungen erledigt hatte kam es zu einem interessanten Problemlösungsdialog bezüglich der Stücklistenausgabe. Ich hielt es nicht für ein Ding der Unmöglichkeit und machte mir ein paar Notizen auf die ich gerne in einem anderen Blog zurückkomme, sobald wir die besagte Beispielliste erhalten haben.

Der Tag verging rasch und brachte mir vorallem die eine Erkenntnis, dass uns R.A.P.ern schon noch das eine oder Andere fehlt z.B. eben SAPscript *...* - Schreck, entschuldigt den eher längeren Blogg. Ich mach an dieser Stelle mal einen Punkt und verbleibe mit einem letzten Auszug aus meinen Notizen:

" 16:30
- Thomas nimmt sich schritt für schritt die änderungen der History an der Materialstückliste vor, mir fällt dabei vor allem auf, wie dringend ich eine Brille brauche. Dennoch vom Prinzip her sind die Vorgänge klar, das Coding geht mir allerdings noch etwas zu rasch um auf Schritt und Tritt folgen zu können."


Mit etwas Glück erzählt uns Thomas noch etwas über seine Erfahrungen mit Migroskassen-optimierungs Aufgaben aus der Wirtschaftsinformatik :)

Selbststudium

Der heutige Tag verbrachten Pascal, Fabrice, Silas und ich relativ einsam.

Wir verbrachten unsere Zeit mit native SQL Abfragen, dynamische Programmerzeugung, Fieldsymbols und Erfassung von Materialstämmen.

Die einzige Abwechslung brachte Tom's Mail über das Einnehmen der Weltherrschaft, in dem wir dem russischen Militär SAP andrehen um für eine Vakuumbombe einen Transportauftrag anlegen zu können. ;-)
Eine Vakuumbombe besteht aus zwei Sprengsätzen, der eine verstäubt einen flüssigen oder auch pulverartigen Sprengstoff, sobald dieser das richtige Sprengstoff/Luft Verhältniss erreicht hat zündet der zweite diese Wolke, welches einen riesen Knall zu folge hat.

Mittwoch, 12. September 2007

Fieldsymbols - Klingt komisch, ist aber so!

Heute haben wir den Arbeitsplatz mal zu Tom nach Hause verlegt.  Dies bot eine super Abwechslung zum education room im glatt com. Als am Morgen dann alle bei Tom zu Hause eingetroffen sind, starteten wir den Tag wie immer mit einer kleinen Repetition des gestrigen Tages. Am Vortag gegen den Abend haben wir die Fieldsymbols angeschaut. Da aber doch alle recht müde waren, kam der Stoff nicht mehr so recht an. Darum wiederholten wir den, nicht ganz einfachen, Stoff nochmal. Aber auch am heutigen Mittwoch morgen sorgte das Thema bzw. die Anwendung von Fieldsymbols bei einigen für Verwirrung. Jedoch konnten wir das im Laufe des Morgens abhacken.

Nach den Fieldsymbols war das Kapitel "Programmaufrufe und Speichermanagement" an der Reihe. In diesem Kapitel lernten wir wie man Programme aus anderen Programmen aufruft und wie man Daten zwischen den Programmen hin und her geben kann. Dabei lernten wir das SAP-Memory und das ABAP-Memory kennen. Während wir Aufgaben dazu lösten, feuerte Tom den Grill an. Nachdem wir dann alle die Aufgaben mit mehr oder weniger Erfolg abgeschlossen haben, gab es ein super Mittagessen vom Grill. An dieser Stelle nocheinmal Danke für das tolle Essen!

Am Nachmittag gab es dann noch einiges zu verdauen. Einerseits waren das immernoch die Fieldsymbols und andererseits war es das Mittagessen. ;)

Dienstag, 11. September 2007

ABAP Open SQL Vertiefung

Der heutige Tag stand ganz im Sinne der Optimierung und Vertiefung von SQL Statements in ABAP. Angefangen bei der Repetierung der Datenbankschnittstellen und Architektur, konnten wir einfach nachvollziehen, wieso eine Select Schlaufe unperformanter ist, als ein Array Fetch. Der Grund dafür ist, dass die Netzwerkkomunikation die Daten in Blöcken stattfindet von einer Grösse von standardmässig 32Kb. Werden die Daten nun über mehrere Zugriffe hintereinander statt nur einem an den Datenbankserver geschickt, verursacht dies einen grösseren Overhead und mehr Datenpakete, da die Blöcke immer 32Kb beinhalten könnten, bei einer Select Schlaufe aber nicht immer ganz gefüllt werden. Bei einem Array Fetch entsteht so eine grössere Verdichtung der Daten und müssen weniger lange gepuffert werden, bis alle Daten abgeholt wurden.

Abbildung

Durch dieses Wissen konnten wir uns an den SQL Trace heranmachen, dies ist eine Transaktion mit der man alle SQL Statements zwischen dem manuellen Starten und dem Stoppen des Traces anzeigen lassen kann. Dies bewirkt, dass wir unsere ABAP Entwicklungen analysieren können und mehrere gleiche SQL Statements aufspüren können, diese sollte man möglichst vermeiden, da sie nur unnötige Datenbankzugriffe verursachen.

Montag, 10. September 2007

Verwirrung bei Type / Like

Es ist morgen früh, mal wieder eine Planänderung. Den Funblock gibt’s nun nicht mehr. Er heisst jetzt "Alternativblock". Klingt auch viel



professioneller :)


Weiter ging’s mit organisatorischem. Es gab Infos über die erste Praxisarbeit und man merkte schnell. Alle sind gespannt, wie diese



Praxisarbeit herauskommen wird. Thomas wurden die Infos regelrecht aus den Fingern gesaugt.


Anschliessend ging’s wie gewohnt weiter. Zuerst etwas Grundsätzliches zum Thema Zeichensatz, UNICODE, UCCHECK bevor wir uns in die



Stringverarbeitung stürzten. Dazu erledigten wir einige Übungen.


Als es dann zum nächsten Thema, den Geschachtelten Strukturen ging, fing das Chaos an. Um trotzdem bei Laune zu bleiben wurden die Datentypen



dementsprechend kreativ benammst.


Um dies zu verdeutlichen hier der Ausschnitt aus dem Coding:


REPORT  zztesttz2.


DATA: wf_feld2 TYPE i,


      wf_feld3(10) TYPE c


PARAMETER: pm_feld1(10) TYPE c DEFAULT '0000004711'.


break zehnder.


shift pm_feld1 left deleting leading '0'.


WRITE: pm_feld1.


types: begin of ty_judi.


     include structure lvc_s_fcat.


types: feld1,


       feld2,


       end of ty_judi.


data: it_judihui type standard table of ty_judi.


data: wa_judihui like line of it_judihui,


      wa_judihui4 type ty_judi,


      wa_judihui3 type line of lvc_t_fcat,


      wa_judihui5 type lvc_t_fcat,


      wa_judihuit like it_judihui,


*      wa_judihui6 like ty_judi,


      ita_judihui7 like standard table of mara.


Weiter ging’s: Mit den geschachtelten und nochmals geschachtelten Strukturen hielten wir uns nicht lange auf. Da war das Thema Namenskonventionen erzwingen viel interessanter.


Im Zusammenhang mit den Breakpoint und Assertions wurden wir zuerst wieder verwirrt. Schliesslich muss dabei doppelt verdreht gedacht werden, was die einen schon gefährlich nahe an die Grenze des machbaren brachte ;)


 


Danach nahmen wir den Codeinspector (SCI) genauer unter die Lupe und fanden viele Möglichkeiten, die dem Entwickler helfen können, sauber zu Programmieren oder Namenskonventionen einzuhalten. Übermütig wollten die Raper den Code Inspector obligatorisch machen, doch Thomas intervenierte sehr vehement. :)

Freitag, 7. September 2007

Selbststudium

Am zweiten Repetitionstag legten wir uns die Köpfe nochmal in die Hände um das Gelernte der Kurstage gänzlich zu verdauen. Ich weiss jetzt nicht inwiefern die anderen R.A.P.er ihr Selbststudium gestaltet haben desshalb möchte ich hier meine Repetition erläutern.

Mein Bedarf lag vorallem bei der Erstellung von ALV Listen mit Customcontainern und Grid-Controlls die über ABAP Objects angelegt werden. Da die Übung während dem Kurs kurz und schmerzlos anhand eines kopierten Templates erstellt werden konnte, die dazu noch den ok_code handelte ohne diesen im Dynpro überhaupt definiert zu haben (!!!), erstellte ich nochmals ein Programm von Grund auf neu.

Da die logischen Datenbanken mir noch nicht so ganz logisch eingingen versuchte ich heute eine solche unlogische Datenbanken anzulegen. Das klappte auch ganz gut, bis auf das Hinzufügen eines weiteren Nodes in einer hirachisch untergeordneten Position das zum ultimativen Laufzeitfehler führte. Nun denn, das Prüfprotokoll zeigte mir schliesslich auf welche Punkte fehlten und jetzt muss ich nur noch herausfinden wo ich diese Daten pflegen kann und vorallem wie ich ohne Laufzeitfehler dahin gelange :/ -> Für mich sind diese logischen Datenbanken bis _jetzt_ jedenfalls alles andere als ''eine vernünftige Schlussfolgerung".

So, mein Interrupt-buffer füllt sich langsam aber sicher mit der Nachricht w023->"Nikotinspiegel niedrig." und so gönn ich mir jetzt noch die letzte Pause vor den letzten Anstrengungen um dann einem entspannten Wochenende entgegen zu gehn.

-> Schreibe ich denn wirklich soooo überhoben?

Donnerstag, 6. September 2007

Selbststudium

Aus der Welt der Kranken zurückgekehrt, war meine heutige Aufgabe das Verpasste nach zu holen. Ich arbeitete mich daher gleich vom Anfang des BC405 Ordners bis zum Thema "Control Level Processing" durch, während dem der Rest den Ordner repetierte.

Neben bei hat uns Thomas gezeigt wie man korrekt ein Transportauftrag (TA) anlegt - dies an einem Kundenbeispiel. Hier gelten für Entwickler/innen folgende Kriterien:

  • Er/sie muss in der Regel nie einen TA von einem Q zu einem P System auslösen

  • NIE auf den grossen LKW klicken - da dieser alle vergangenen Aufträge erneut auslöst

  • Alle Transport Aufgaben müssen freigegeben werden, damit der TA stattfinden kann

  • Keine Trojaner verwenden ;-)  (welche es ohnehin nicht gibt)


Mittwoch, 5. September 2007

ALV Grid Control, Diskussion und ERM

Heute Morgen wurde als erstes Pascal von Tom geschockt, indem er nach vorne gerufen wurde und erzählen sollte was wir die letzten zwei Tage an Theorie behandelt hatten. Als nächstes mussten nacheinander Stefan, ich, Fabrice und Silas daran glauben - wir mussten aufgrund der Anweisungen von Tom am Beamer programmieren. Dies stellte sich zwar als schwierig heraus, allerdings war auch der Lerneffekt gross - so schlimm war es also auch wieder nicht.

Danach machten wir uns daran, das letzte Kapitel im Ordner BC405 durchzuarbeiten, wobei der Ausdruck "Wiederverwendbarkeit" immer, und immer wieder fiel. Kurz vor Mittag liessen wir dann noch eine heftige Diskussion betreffend dem Unterschied zwischen statischen und instanzierten Methoden vom Stapel, welche dann jedoch vorzeitig abgebrochen werden musste um Schlimmeres zu verhindern.

Nach dem Mittag arbeitete jeder selbstständig an den Übungen zum ALv Grid Control wo es darum ging, eine Liste mit Hilfe eben diesem Control zu erstellen, zu erweitern und zu formatieren. Um halb fünf Uhr wurden wir dann von Tom über eine optionale Übung informiert, wo es darum geht, mit Hilfe des REUSE_ALV_GRID_DISPLAY Controls eine Liste zu erstellen und mit Header und eigenem Logo zu versehen.

Zum Schluss suchten wir im SAP noch nach einer Möglichkeit, die vielen Datenbank-Tabellen in einem ERM darzustellen. Wir haben zwar eine entsprechende Funktionalität gefunden, allerdings entsprach diese nicht wirklich unseren Vorstellungen, sodass wir damit begannen, ein eigenes ERM aufzuzeichnen. Allerdings hatten wir noch nicht 1 Promille der Tabellen aufgezeichnet, als der Tag schon gelaufen war.

Dienstag, 4. September 2007

logical database, data retrieval, control level processing

Generating ListsHeute fällt es mir sehr Schwer um etwas sinvolles zu posten. Aber ich probiere es trozdem.

Soweit ich mich errinern kann und meine Notizen stimmen, haben wir an diesem Dienstag mit den logischen Datenbanken auseinander gesetzt.
Im Bild nebenan, sollte man erkennen können, was eine logische Datenbank ist bzw. was sie macht. Auf eine logische Datenbank können verschiedene Programme und QuickViews zugreifen. Auch kann man ein normales Queries auf eine logische DB absetzen. Die benötigten Tabellen werden mit dem ABAP Befehl NODES. Daten aus den einzelnen Tabellen bekommt man unter anderem auch mit GET tabellenname.

Desweiteren aben wir kurz das Kapitel "Daten abrufen" angeschaut. In diesem Kapitel ging es darum, wie man Daten aus Tabellen auslesen kann. Da wir aber den meisten Stoff schon intus haben, war das eine kurze Angelegenheit.

Beim nächsten Kapitel wurde uns der Gruppenumbruch gezeigt. Dazu haben wir eine kleine Übung gemacht und gut wars. Im grossen und ganzen, haben wir die Theorie für diesen Kurs bis jetzt nur kurz durchgeschaut und dazu Übungen gemacht. Die Übungen haben dabei die meiste Zeit in Anspruch genommen.

Gegen Ende dieses laaaangen Tages haben wir noch das Speichern von fertigen Listen angeschaut. Man kann diese als Datei auf dem lokal PC speichern, im SAPOffice können sie abgelegt werden und selbstverständlich können diese auch gedruckt werden.

Montag, 3. September 2007

Repetition, Listenformatierung und Eingabechecks

Der erste Tag der Woche startete bei mir wie meistens nach einem langen Wochenende mit Schlafrythmusinterferenzen, weshalb ich erst nach einem 4-fachen Espresso einsatzbereit war.

Der erste Teil des Kurses BC405 befasste sich mit Repetition von Selektionsbildern, Listen und Formatierung. Thomas zeigte uns weitere Formatierungsmöglichkeiten neben Farben setzen wie zum Beispiel das Setzen von Frames und Blöcken und dessen Verschachtelung, spezielle SELECT-OPTIONS Parameter und das Einsetzen von Radio Buttons.

Zusätzlich wurde uns beigebracht wie man Eingaben in Formularfelder überprüft und diese behandelt. Interessant war vorallem die Möglichkeit, wie einfach man Popups anzeigen lassen oder mehrere unabhängige Selektionsbilder untereinander anzeigen kann.

Vielmehr gibt es nicht zu sagen, da wir gerissenen Raperlein in der Vergangenheit immer so fleissig Fragen stellten, war der grösste Teil des Tages Repetition der bisher gelernten Optionen und Möglichkeiten in Selektionsbildern, weil wir das meiste schon kannten.

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.