23. May 2011: SAPPHIRE online

Die SAPPHIRE ist zu ende. Und mit ihr drei Tage voller Vortr├Ąge und Produkt-Vorstellungen. Seit gestern kann man sich die Aufnahmen der Live-Vortr├Ąge auf der SAPPHIRE Webseite nun auch anschauen, logischer Weise ohne anschlie├čende Diskussionsrunde.

Doch was waren die interessanten Themen dieses Jahres? Ganz eindeutig HANA und RFID. Wer mit HANA nichts weiter anfangen kann braucht sich nicht zu verstecken. Es handelt sich dabei um ein erst im Dezember 2010 freigegebenes SAP Produkt zum In-Memory Computing und ist als Baustein f├╝r die vorhandene SAP Systemlandschaft zu verstehen. Ganz im Sinne von OLAP soll es die Analyse von gro├čen Datenbest├Ąnden in Echtzeit erm├Âglichen ÔÇô BW(Business Warehouse) Power-User und Manager werden wohl als erste begeistert sein.

Kann man den Trend bei HANA verstehen, mutet RFID schon eher merkw├╝rdig an. Schlie├člich existiert es schon seit Jahren ÔÇô und wird immer wieder als Wunderkind, als Internet der Dinge, angepriesen. Langsam scheint es sich jedoch in der Masse mehr und mehr durchzusetzen. Damit kann man wohl auch Vorstellungen erfolgreicher Implementationen als auch die Vortr├Ąge zu den grunds├Ątzlichen Voraussetzungen (auch unter dem Aspekt der Sicherheit) erkl├Ąren. Obwohl der (aus meiner pers├Ânlichen Sicht) interessanteste Vortrag zu dem Thema bereits auf der letztj├Ąhrigen SAPPHIRE stattgefunden hat.

4. November 2010: SAP's TechEd virtuell

TechEd, die Haus- und Hof-Messe der SAP steht endlich auch mal zeitnah dem gemeinen (lies: Zahlungs—verweigerndem) Publikum zur Verf├╝gung. Und, das mag jetzt vor allem jene Leute ohne SMP-Zugang freuen: Ganz ohne Login-Pflicht!
Auch dieses Mal gibt es wieder interessante lesens-/h├Ârenswerte Vortr├Ąge, Key-Notes und Demo Jams. Also, hingeklickt!

├ťbrigens wurde letztens ein Projekt der SAP ├Âffentlich vorgestellt (auf der SAPPHIRE): Caffeine, eine ABAP-Runtime f├╝r diverse mobile Endger├Ąte (Neusprech f├╝r Smartphones, PDA’s und Tablets). Auf den ersten Blick klingt es kurios, aber der Sinn dahinter ist eindeutig: ABAP-Entwickler (vermutlich zum Gro├čteil die Angestellten der SAP selbst) sollen in die Lage versetzt werden Applikationen und Erweiterungen f├╝r die zuk├╝nftigen Wachstumsfelder zu entwickeln. Langfristig gedacht und ein geschickter Schachzug – und vermutlich auch eine Erkl├Ąrung daf├╝r, dass die SAP vor einiger Zeit Unmengen an iPads fuer seine Mitarbeiter gekauft hat.

19. February 2010: Virtuelles ganz physisch

Im Rahmen eines neuerlichen ASUG Florida Chapter Meeting gab es heute eine zutiefst interessante Rechenzentrums-Tour zu sehen: Bei Terremark direkt hier in Miami. Kannte ich das Unternehmen bis vor ein paar Tagen selbst noch nicht, bin ich nun umso mehr von dem beeindruckt, was in ihren W├Ąnden statt findet.

Als Tier-IV Knoten des Internets laufen hier, in Wurfweite der American Airlines Arena die Unterseekabel von circa 160 Telekommunikationsunternehmen zusammen. Die Deutsche Telekom landet hier genauso an wie der Rest Europas. Oder komplett S├╝damerika. Daher stehen hier auch einige von Verisigns Rootserver f├╝r die .com und .net Domains sowie einige der ICANN-Rootserver f├╝r .gov und .edu. Und, das muss man durchaus so sagen: Sie sehen verdammt gut aus! Ist der normale Server dazu verdammt sein Dasein in einer anonymen grauen Kiste in einem dunklen Raum zu fristen, sind die Rootserver h├╝bsch angestrahlt und hinter Glasscheiben zur Schau gestellt. Inklusive Status-Monitor mit aktueller Anzahl an DNS-Abfragen pro Sekunde.

Allerdings stelle ich mir jetzt doch noch die Frage, warum meine Verbindungen gen Deutschland nicht ├╝ber Miami direkt nach Deutschland geroutet werden, sondern den Umweg ├╝ber Washington gehen:

Tracing route to www.t-online.de [62.153.159.92]
over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms shar.selune [172.16.0.8]
2 8 ms 12 ms 9 ms 10.156.0.1
3 10 ms 22 ms 12 ms 172.23.80.81
4 14 ms 10 ms 9 ms 172.23.80.1
5 25 ms 25 ms 24 ms xe-5-0-0.edge2.Miami1.Level3.net [4.59.84.49]
6 31 ms 32 ms 36 ms ae-32-52.ebr2.Miami1.Level3.net [4.69.138.126]
7 28 ms 58 ms 30 ms ae-2-2.ebr2.Atlanta2.Level3.net [4.69.140.142]
8 * * 45 ms ae-63-60.ebr3.Atlanta2.Level3.net [4.69.138.4]
9 55 ms 55 ms 67 ms ae-2-2.ebr1.Washington1.Level3.net [4.69.132.86]

10 57 ms 77 ms 48 ms ae-61-61.csw1.Washington1.Level3.net [4.69.134.1
30]
11 44 ms 60 ms 47 ms ae-14-69.car4.Washington1.Level3.net [4.68.17.6]

12 63 ms 50 ms 41 ms 62.156.139.129
13 148 ms 135 ms 140 ms ulm-ea3-i.ULM.DE.NET.DTAG.DE [62.154.58.125]
14 152 ms 139 ms 137 ms 80.156.161.42
15 162 ms 155 ms 138 ms www.t-online.de [62.153.159.92]

Trace complete.

Auf der anderen Seite gibt es hier aber auch einen der drastischsten Gegens├Ątze, die ich bislang sehen musste. Findet in den W├Ąnden diese dedizierten Internet-Knotenpunkts Hightech aus aller Herren L├Ąndern Verwendung, ist also sozusagen die Inkarnation der ersten Welt dort zu Hause, ist an der R├╝ckseite des Geb├Ąudes der Treffpunkt der ├Ąrmsten der Armen, die Miami zu bieten hat. Zwischen den den ├ťberresten ihrer Existenz sitzen sie dort zu Dutzenden und harren mit ihrem Schicksal. Ein merkw├╝rdiges Gef├╝hl.

24. September 2009: SAP-netzwerken in Florida

Das war also das ASUG FL Chapter Meeting 2009. Interessante Sache. Wenn auch aus der Sicht der t├Ąglichen Arbeit nicht unbedingt hilfreich, hat es mir zumindest in meiner momentanen Situation geholfen ein wenig an Aktualit├Ąt zu gewinnen. Und Kontakten. Von den f├╝nf offiziellen Vortr├Ągen (es gab auch noch ein Abend-Programm f├╝r die lokalen Mitglieder) habe ich mir zwar nur die drei interessanteren angeh├Ârt, aber aus denen konnte ich zumindest auch etwas mitnehmen.

So hat Roland Moore, seines Zeiches CIO der Orange County Public Schools und bekennender Data-Geek, gezeigt wie er in der Krise die vorhandene Analyse der Gesch├Ąftsprozesse nutzt um gezielt die Projekte anzugehen, die mittelfristig zu Einsparungen im Etat f├╝hren. Das hat nat├╝rlich mit SAP nur bedingt etwas zu tun, aber zeigte wie BPM dazu genutzt werden kann Management-Entscheidungen transparenter zu gestalten. Au├čerdem hatte er auch eine sch├Âne Aussage zu SAP-(RollOut)-Projekten im Allgemeinen:

It looks hard in the beginnig. It is hard while you are doing it. And guess what? It does not get any easier.

Anschlie├čend hat David Aschenbach, DB2-Verkaufsleiter f├╝r IBM, die Vorteile von DB2 in Bezug auf SAP-Installationen erl├Ąutert. Man muss zwar kein Hellseher sein um die Argumente eines Verk├Ąufers kritisch zu hinterfragen, aber die Aussage das eine SAP-Installation um 40% schneller, 50% kleiner und obendrein noch wesentlich g├╝nstiger wird – nur durch einen Wechsel der DB-Plattform – macht die Sache doch interessant. Wird Zeit, dass ich mir eine DB2-Installation zulegen um ein wenig damit herum zuspielen. Schlie├člich ist DB2 seit nunmehr geraumer Zeit auch die strategische DB-Plattform f├╝r SAP selbst (die seinerzeit ihre 1200 SAP-Installationen in einem Aufwasch von Oracle auf DB2 umgestellt haben, inklusive Unicode-Umsetzung und SAP-Upgrade).

Au├čerdem gab es noch einen Vortrag ├╝ber den Visual Composer im Allgemeinen und dessen Einsatz bei Siemens im speziellen. Viel mitzunehmen gab es hier jedoch nicht, au├čer das es offenbar nicht sehr empfehlenswert ist – zum Beispiel gibt es keinerlei nennenswerte Dokumentation.

10. September 2009: Virtuelle Nachlese

Doch was gab es mitzunehmen? Nicht viel, von einem technischen Standpunkt aus betrachtet. SAP Business Objects ist das neue (alte) Ma├č der Dinge. Der Aspekt geht immer mehr weg von der Technologie hin zu den Prozessen und dem Mehrwert f├╝r die Unternehmen – gerade in diesen Zeiten wird Software ja nicht mehr eingesetzt weil sie in ist, sondern weil man sich davon Einsparungen erhofft. So bleibt es, technisch betrachtet, erst einmal ruhig an der SAP-Front. Die gro├čen Dinge bewegen sich an der Oberfl├Ąche.

Angeh├Ârt habe ich mir Vortr├Ąge ├╝ber Business Performance Management von James Fisher (SAP Labs), die technischen Aspekte in SAP CRM von Stephen Johannes (Bunge North America), die virtuelle Teams im SAP-Support von Margaret Anderson (SAP Labs), ein Einf├╝hrungs-Szenario bei Kyphon/Medtronic, Basis-Support und SAP Technologie von Daniel Wilhelms (Symmetry Corporation), die technischen Anforderungen an einen ERP6.0-Upgrade von Lan Blake (SAP) sowie einen ├╝ber das Management von IT-Investments von Sharad Nagaich (Deloitte & Touche) und Naveen Srivastava (SAP Labs India).

Vieles von alldem war jedoch nichts umwerfend Neues. Vor allem den Vortrag ├╝ber virtuelle Teams h├Ątte ich schon fast selbst halten k├Ânnen – schlie├člich wurde dies bereits 2000 von Deborah Duarte und Nancy Snyder im Buch Mastering Virtual Teams (├╝brigens sehr empfehlenswert) beschrieben. Interessant waren die Vortr├Ąge dennoch, zumalbin ich nach wie vor dabei bin mich in das Themengebiet wieder tiefer einzuarbeiten.

Am besten gefiel mir jedoch der Vortrag von Daniel Wilhelms ├╝ber SAP Technologie. Weniger wegen der Technologie als solcher (der Vortrag war dazu gedacht dem Management die Funktionsweise von SAP samt Servern, Datenbank, Backups-Szenarien und Ausfallsicherheit n├Ąher zubringen), sondern wegen seiner Standpunkte ├╝ber die Aufgaben eines Basis-Administrators (abgesehen vielleicht von der Aussage It’s a Basis-Problem until proven otherwise). Im Zufolge werden selbst in der momentanen Krise Basis-Kenntnisse H├Ąnde-ringend gesucht. Was man wohl auch an der Karriere-Seite seiner Firma ablesen kann. Inhaltlich hat zwar auch dieser Vortrag nichts neues geboten, aber zumindest hat er mich darin best├Ąrkt technisch noch auf der H├Âhe der Zeit zu sein.

9. September 2009: ASUG und die virtuelle Messe

Heute also ist der erste Tag der ASUG Virtual Education Summit. Eine Veranstaltung, bei der Vortr├Ąge ├╝ber SAP gehalten werden, frei f├╝r jeden registrierten Teilnehmer. Der Fokus liegt dabei, klar, auf dem nordamerikanischen Raum, aber wie so vieles in diesen Zeiten sind die geographischen Grenzen auch hier nicht mehr wirklich erkennbar.

Aber wie ist das Event so? Ein Login war ab 10:15h (um 10:30h startete die Er├Âffnungsrede) nicht mehr m├Âglich. Die Server waren schlichtweg ├╝berlastet – bei gerade mal knapp ├╝ber 300 Teilnehmern. Hartn├Ąckigkeit hat sich jedoch auch hier ausgezahlt und so konnte ich die zeit-versetzte Aufnahme des Live-Streams (TiVO l├Ąsst gr├╝├čen) verlustfrei verfolgen. Und Vorspulen, denn nicht alle Teile der Er├Âffnungs-Keynote von Rob Enslin waren wirklich interessant.

Leider zogen sich diese Probleme anschlie├čend weiter wie ein roter Faden durch den gesamten Webauftritt. Zwanzig bis drei├čig Minuten vor Beginn der ersten Session schwollen die Wartezeiten auf eine Antwort des Webservers ins Unermessliche an. Hatte man erst einmal sich in einen Raum begeben waren die Chancen gro├č anschlie├čend nicht wieder heraus zu kommen. Schade, denn so war es schlichtweg unm├Âglich die St├Ąnde der teilnehmenden Unternehmen zu besuchen (und dadurch neue Kontakte zu kn├╝pfen). Allerdings waren zu diesem Zeitpunkt auch schon nahezu 1000 User angemeldet. Hatte man sich jedoch erst einmal in eine Session eingeklinkt, lief diese auch sehr stabil.

Mittlerweile halten sich die Wartezeiten auch eher in Grenzen. Mal schauen wie es sich weiterentwickelt wenn demn├Ąchst die n├Ąchsten Sessions starten.

Update
Die anf├Ąnglichen Probleme lagen ├╝brigens an einem Bandbreiten-Engpass beim Anbieter der Web-Plattform und wurden noch am selben Tag gel├Âst.

3. September 2009: Testfahrt mit dem Pinguin

Mentale Notiz an mich:

Wenn du mal wieder nach der Seite zur Erneuerung deiner N4S-Demo Lizenz suchst, klicke einfach hier.

5. March 2009: Vom Consultant zum Experten

Ich bin ja gerade wieder dabei mich ein wenig mit meinem alten Arbeitsumfeld SAP zu besch├Ąftigen. Erschreckend wie es ist nach gut und gern anderthalb Jahren immense Wissensl├╝cken bei sich selbst zu erkennen, so interessant ist es doch auch geblieben. In diesem Zusammenhang lernte ich letztens auch Puneet Suppal kennen. Ein Name, der mir bis vor kurzem noch g├Ąnzlich unbekannt war. Dann habe ich einen Webcast der SAP teched 2007 mit dem interessanten Titel How To Transform from an IT, Application, or Business Consultant to a Business Process Expert gefunden, bei dem er einer der Vortragenden war.

Um es kurz zu machen: Er hat mir deutlich imponiert. Im Jahr 2007, als die Stiftung, bei der ich mein t├Ąglich Brot verdient habe, gerade den Gro├čteil des Rollouts eines reichlich veralteten SAP-Releases hinter sich gebracht hat, steht dieser Mann auf der B├╝hne und propagiert einen Systemwechsel in der IT. Weg von der Anpassung der Unternehmen auf ein Softwareprodukt hin zur flexiblen IT, die sich den Bed├╝rfnissen und Besonderheiten ihrer Nutzer anpasst. Und dabei die Vorteile einer heterogenen Systemlandschaft f├╝r sich nutzt statt sie in einem einzelnen System zu harmonisieren.

28. August 2007: RFC-Umwege

Um die Optionen einen RFC-Verbindung auszuwerten gibt es einen sch├Ânen Funktionsbaustein namens RFCDES2RFCDISPLAY. Dieser l├Âst den Connect-String aus Tabelle RFCDES auf und bietet einem die Informationen in Struktur RFCDISPLAY zur weiteren Verarbeitung an. Leider musste ich jedoch feststellen, dass sowohl die Load-Balancing Informationen der RFC-Verbindung selbst, als auch die der dazugeh├Ârigen A-RFC Einstellungen nicht korrekt ├╝bergeben werden.

Da ich weder im SDN noch in den sonstigen weiten des Internets f├╝ndig geworden bin, m├Âchte ich auf diese Weise meinen Work-Around mit dem Rest der Welt teilen:

* ----- Get RFC-Details (Options) -------------------------------------*
Form get_rfcoptions using     value(dest) type RFCDES-RFCDEST
                    changing  options type RFCDISPLAY.
*       Temporary variables
  Data:         rfcdest       like rfcdes,
        Begin of it_rfcopt occurs 32,
                token         like rfcdes-rfcoptions,
        End of it_rfcopt.
*       Get RFC-Destination
  Select single * from RFCDES into rfcdest where RFCDEST = dest.
*       Get Details
  Call function 'RFCDES2RFCDISPLAY'
                exporting     import_rfcdes = rfcdest
                importing     export_rfcdisplay = options.
*       Check Load-Balancing (not properly checked in Function-Module)
  Split rfcdest-rfcoptions at ',' into table it_rfcopt.
  Loop at it_rfcopt where token = 'X=LB=ON'.
    options-rfclbflag = true.
  EndLoop.
*       Check A-RFC Options (not checked in Function-Module)
  Select * from RFCCHECK where rfcdest = dest.
    If RFCCHECK-ARFCACTIVE = true.
      options-rfcarfcopt = true.
    EndIf.
  EndSelect.
EndForm.

6. December 2006: Passw├Ârter-Raten

Als Administrator weist man ab und an seine Anwender darauf hin komplexere Passw├Ârter zu nutzen, die aus einer zuf├Ąlligen Reihenfolge von Buchstaben und Zahlen bestehen. Innerhalb eines SAP-System pflegt man denn auch einige Passwortregeln in Bezug auf deren L├Ąnge oder einiger W├Ârter und Wortteile, die nicht in Passw├Ârtern vorkommen d├╝rfen. Und man selbst geht nat├╝rlich mit leuchtendem Beispiel voran und verwendet ausschlie├člich kryptische Passw├Ârter.

Dumm nur, wenn man dann die Passwortliste f├╝r technische Hintergrund-User verliert. Da diese User meist f├╝r die Anbindung anderer Systeme genutzt werden, kann man auch deren Passwort nicht einfach wieder zur├╝cksetzen. Grund genug also, sich einmal n├Ąhergehend mit der Passwortverschl├╝sselung von SAP zu besch├Ąftigen.

Zun├Ąchst einmal das Wichtigste: Passw├Ârter werden innerhalb eines SAP-Systems mit einem nicht weiter bekannten Algorhytmus im Kernel selbst verschl├╝sselt. Dabei wird der Username mit in die Berechnung einbezogen, wodurch ein anderer User mit demselben Passwort einen anderen Hash-String bek├Ąme. Der so verschl├╝sselte Hash-String wird anschlie├čend in Tabelle USR02 zu einem User abgelegt.

Wie die Passw├Ârter genau verschl├╝sselt werden ist nicht bekannt. Allerdings k├Ânnen wir uns zunutze machen, dass die SID eines Systems nicht mit in die Berechnung eingeschlossen wird. Dadurch k├Ânnen wir auf einem anderen System, auf dem der User nicht existiert, einen Report starten, der die m├Âglichen Passwort-Kombinationen durchtestest. Der Report benutzt einen Funktionsbaustein, der einen User mit einem gegebenen Namen und Passwort anlegt. Nach der Anlage kann nun der Hash-Wert ausgelesen und mit einem anderen Wert verglichen werden. Ist der Hash-Wert derselbe, hat man das Passwort gefunden:

REPORT ZBOE_TEST .
parameters: user    like usr02-bname,
            pw_hash like usr02-bcode.

data: charset type table of c with default key initial size 26,
      char1 like line of charset,
      char2 like line of charset,
      char3 like line of charset,
      char4 like line of charset,
      char5 like line of charset,
      char6 like line of charset,
      char7 like line of charset,
      char8 like line of charset,
      pass(8),
      logondata type USLOGOND.

CALL FUNCTION 'SUSR_USER_CREATE'
  EXPORTING
    USER_NAME                          = user
    USER_LOGONDATA                     = logondata
    PASSWORD                           = ''
  EXCEPTIONS
    USER_NAME_ALREADY_EXISTS           = 1
    USER_LOCKED_BY_ANOTHER_ADMIN       = 2
    PASSWORD_NOT_ALLOWED               = 3
    ERROR_IN_LOCK_MANAGEMENT           = 4
    ERROR_WRITING_TO_DB                = 5
    INTERNAL_ERROR                     = 6
    OTHERS                             = 7.
case SY-SUBRC.
  when 0.
    break 1.
  when 1.
    MESSAGE e000(fb) with 'User existiert bereits!'.
  when others.
    MESSAGE e000(fb) with 'User konnte nicht angelegt werden.'.
endcase.

append 'A' to charset.
append 'B' to charset.
append 'C' to charset.
append 'D' to charset.
append 'E' to charset.
append 'F' to charset.
append 'G' to charset.
append 'H' to charset.
append 'I' to charset.
append 'J' to charset.
append 'K' to charset.
append 'L' to charset.
append 'M' to charset.
append 'N' to charset.
append 'O' to charset.
append 'P' to charset.
append 'Q' to charset.
append 'R' to charset.
append 'S' to charset.
append 'T' to charset.
append 'U' to charset.
append 'V' to charset.
append 'W' to charset.
append 'X' to charset.
append 'Y' to charset.
append 'Z' to charset.

loop at charset into char1.
  loop at charset into char2.
    loop at charset into char3.
      loop at charset into char4.
        loop at charset into char5.
          loop at charset into char6.
            loop at charset into char7.
              loop at charset into char8.
                 concatenate char1 char2 char3 char4
                             char5 char6 char7 char8 into pass.
                 CALL FUNCTION 'SUSR_USER_CHANGE'
                   EXPORTING
                     USER_NAME                 = user
                     PASSWORD                  = pass
                   EXCEPTIONS
                     USER_NAME_NOT_EXISTS      = 1
                     PASSWORD_NOT_ALLOWED      = 2
                     INTERNAL_ERROR            = 3
                     OTHERS                    = 4.
                 IF SY-SUBRC <> 0.
                   exit.
                 ENDIF.
                 CALL FUNCTION 'SUSR_USER_LOGONDATA_GET'
                   EXPORTING
                     USER_NAME                 = user
                   IMPORTING
                     USER_LOGONDATA            = logondata.
                 if pw_hash EQ logondata-BCODE.
                   write pass.
                   break 9.
                 endif.
              endloop.
            endloop.
          endloop.
        endloop.
      endloop.
    endloop.
  endloop.
endloop.

data ret_table type table of BAPIRET2.
CALL FUNCTION 'BAPI_USER_DELETE'
  EXPORTING
    USERNAME       = user
  TABLES
    RETURN         = ret_table.

Die Laufzeiten bei diesem Verfahren sind jedoch immens; auch wenn der Report selbst, der hier nur als Proof-of-Concept verstanden werden will, durchaus noch einiges Optimierungspotential besitzt. Die Laufzeit steigt jedoch expotentiell zur Anzahl der verwendeten Zeichen. Die m├Âglichen Kombinationen lassen sich einfach berechnen:

<Anzahl Zeichen>^<Passwortl├Ąnge>

In einem Test habe ich ein bekanntes Passwort bei einer Passwortl├Ąnge von acht Zeichen und sieben verschiedenen Zeichen in f├╝nf bis zehn Minuten finden k├Ânnen.