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.