SAP Zinsrechnung

Kaufmännisches Rechnen hört sich simpel an, ist es aber nicht. In einem Workshop habe ich gezeigt, dass das Feld sehr groß ist. Obwohl SAP die Zinsrechnung bis in das kleinste Detail gut durchdacht hat, lohnt es sich darüber nach zu denken.

Die Zinsrechnung ist weitaus mehr als Zins = Betrag * Zinssatz / 100. Es tauchen Fragen auf wie: Ist der Zins in einer Periode linear oder exponentiell verteilt. Ist der Zinssatz auf 365 oder, banküblich, auf 360 Tage zu verteilen. Und, und, und. Aus dem Schaubild der SAP geht das Prinzip hervor, wie und womit die Zinsrechnung im System realisiert wird.

SAP Zinsrechnung
Copyright by SAP
Tabelle Leitzins T056B
Tabelle Leitzins T056B

In der Realität wird zur Bestimmung eines Zinssatzes u.a. die Tabelle T056P befragt, in der auch der EZB Leitzins abgespeichert ist. In dem Schulungssystem des letzten Workshops war die Tabelle leer, weshalb ich sie mit den Echtdaten der EZB gefüllt habe.

An der Stelle ist schon der Typ des Datenelementes zu beachten: Der Zins ist vom Datentyp DEC, 10 Zeichen lang davon 7 Nachkommastellen und entspricht dem ABAP Datentyp p (packed). Das ist wichtig in Bezug auf die Nutzung der im ersten Bild angesprochenen Funktionsbausteinen, die als Importparameter für den Zinssatz den ABAP Datentyp f (float) voraus setzen! An der Stelle habe ich meinen Teilnehmern das Nachschlagen unter dem  Stichwort „Festpunktarithmetik“ anheim gestellt, denn das habe ich zur Erhöhung des Spaßfaktors deaktiviert! Die Folgen können hier nachgelesen werden. (Link).

Zunächst aber die Problematik in der Betrachtung des Zeitraums: Eine Bank rechnet nicht nach Kalendar. Ein Jahr hat für die Bank 360 Tage, ein Monat immer 30 Tage. Es hat den Vorteil, das man über Schaltjahre garnicht erst nachdenken muss. Ein Zeitraum, also die Anzahl Tage zwischen zwei Daten, ist einfach zu programmieren. Der Datentyp DATS, ABAP Datentyp d, ist ein CLIKE also ein Feld vom Typ  Like Charakter. Das Format ist „YYYYMMTT“. Es lässt sich mit den Werkzeugen der Stringmanipulation, dem Textoffset, bequem auslesen und auch Rechenoperationen sind systemseitig realisiert. So funktioniert „TAGE = DATUM2 – DATUM1“ genau so wie „Monate = DATUM2+4(2) – DATUM1+4(2)“. Genau das wird mit dem Funktionsbaustein FIMA_DAYS_BETWEEN_TWO_DATES realisiert, dem wir uns problemlos bedienen können. Die Berechnung nach Bankstandard ist auch hier Standard!

In dem Listing (Link) ist in Zeile 29 zu sehen, das der Datumswert, wie auch in der Tabelle T056P, als invertiertes

28.07.2018 und 01.01.2020 Normal und invertiert
28.07.2018 und 01.01.2020 Normal und invertiert

Datum erfasst wird. Nach der Konvertierung suchen wir aus der Tabelle den zum Startzeitpunkt gültigen Zinssatz und addieren den in Zeile 30 abgefragten Zinswert welcher über dem Leitzins errechnet werden soll.

Stehen die Parameter Basisbetrag, Startdatum und Zinssatz soweit fest, kann der Zins mit dem Funktionsbaustein FIMA_INTEREST_COMPUTE errechnet werden. Schauen wir in die Zeile 102 auf den Importparameter i_pzins. Der Datentyp ist f (float). Mit ausgeschalteter Festpunktarithmetik wird jetzt,  schon beim Casting der Werte, der Wert mit dem Typ DEC als Ganzzahl interpretiert. Wir sagten: DEC 10 Stellen, 7 Dezimal. Wenn der Wert vorher 10,1000000 war, ist er jetzt 101000000. Genau DAS passiert in Zeile 96. In Zeile 97 ist eine mögliche Korrektur, nämlich die Division mit 10000000 – das Komma um sieben Stellen verschoben. Statt solcher unschönen Klimmzügen, geben wir die Werte einem Funktionsbaustein in dessen Funktionsgruppendefinition die Festpunktarithmetik aktiviert ist. Dieser Funktionsbaustein Y_ZAHL übergibt schlicht den Wert mit dem Typ p (packed) and den Typ f (float) unter Beachtung des Dezimaltrenners.

Die Daten so, korrekt, dem Funktionsbaustein FIMA_INTEREST_COMPUTE übergeben, wird unter Beachtung der Zinsrechnungsmethode ( Standard ist die lineare Verteilung auf 360 Tage ) und des Verteilungsquotient ( Tage / Basistage ) der Zins errechnet.

entscheidende Formel im FB FIMA_INTEREST_COMPUTE
entscheidende Formel im FB FIMA_INTEREST_COMPUTE

In Zeile 115 bauen wir so unsere Tabelle auf, die durch den Loop in den Zeilen 45 bis 121, maximal soviele Zeilen aufweist wie auch Zinssätze in der Tabelle T056P vorhanden sind. Im Echtsystem ist das Vorgehen so nicht empfehlenswert, da die Tabelle im Normalfall mehr als 88.000 Einträge hat.

SAP Fax – Standard Installation

Man mag es nicht glauben, aber den Fernkopierer wollen viele nicht missen. Das analoge Relikt der frühen 80er Jahre lässt sich aber heute noch durch Umwandlung einer Mail in, über das Telefon, übertragbare Töne umwandeln.

Ein SAP Netweaver System kann über viele Wege mit ihren Nutzern oder Kunden kommunizieren. Im Standard vorgesehen ist EMail, SMS und das Fax – über die Schnittstellen ist jede Art der Kommunikation möglich. Wenn wir beim Thema Fernkopierer sind: Ja, auch TELEX und das Morsen ist realisierbar.

SAPConnect (c) SAP
SAPConnect
(c) SAP

Der Weg über den FAX Provider ist der kleverste. Der Postfix Mailserver ist in der Regel bereits vorhanden und kann auch von anderen Anwendungen genutzt werden.

Der SAP Netweaver ist schnell vorbereitet. (Link) Man ist gut beraten, eine eigene, extern erreichbare Maildomain zu konfigurieren. Das SAP System produziert also nicht mehr als eine EMail, welche mit einer eigenen Domain versehen an den Mailserver transportiert wird. Über die Transaktion SBWP geben wird lediglich die Faxnummer ein, das Mailformat sieht dann so aus: FAX=+49105954900@fax-provider.com. Der Präfix FAX= wird zwingend automatisch hinzugefügt. Genau so die Ländervorwahl +49 für „DE“ Deutschland und der Suffix, die Domain. Ein Fax kann und soll auch von anderen Applikationen versendet werden können. Sehen wir uns die verschiedenen „To:“ Zeilen im Header der Mails an um heraus zu finden, wie man letztendlich die Faxnummer heraus filtern kann.

To: "DE 22023480" <FAX=+4922023480@FAX.SYSTEM.DE>

So sendet das SAP System. Andere Systeme sehen so aus:

1
2
To: 0223480@fax.system.de
To: "022023480@fax.system.de" <022023480@fax.system.de>

Thunderbird sendet wie in Zeile 1 und Microsoft Outlook wie in Zeile 2. Für die Filterung der Faxnummer aus dem Mail Header existiert ein gutes Script von Lee Howard (Hylafax) welches die üblichen Fälle abdeckt. Für die Besonderheiten des SAP Systems müssen wir es modifizieren.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
# Script von Lee Howard
# customized 2018
# thomas@schilling-bontkirchen.de
RANDOMFAX=/tmp/mail2fax.$$
mkdir $RANDOMFAX
cat >> $RANDOMFAX/_message_
# Debug setting
#set -x
#exec > /tmp/mail2fax.log 2>&1
JOBID=`grep -e "^subject:" -i $RANDOMFAX/_message_ | sed q | sed 's/^[^:]*: *//g'`
TOLINE=`grep -e "^to:" -i $RANDOMFAX/_message_ | sed q`
FROMLINE=`grep -e "^from:" -i $RANDOMFAX/_message_ | sed q`
if [ "`echo $TOLINE | grep '<.*>'`" != "" ]; then
TONUMBER=`echo $TOLINE| sed -e 's/.*<\(.*[^@]*\)@.*>.*/\1/'`
else
TONUMBER=`echo $TOLINE| sed -e 's/^[Tt]o://g' -e 's/[ ]*\(.*[^@]*\)@.*/\1/'`
fi
if [ "`echo $TONUMBER | grep 'FAX='`" != "" ]; then
TO=`echo $TONUMBER| tr -d 'FAX='`
TONUMBER=$TO
fi
if [ "`echo $FROMLINE | grep '<.*>'`" != "" ]; then
FROMPATH=`echo $FROMLINE| sed -e 's/.*<\(.*\).*>.*/\1/'`
else
FROMPATH=`echo $FROMLINE| sed -e 's/^[Ff]rom://g' -e 's/[ ]*\([^ ]*\).*/\1/'`
fi
cat $RANDOMFAX/_message_ | faxmail -v -T $FROMPATH | sendfax -vv -n -D -f "$FROMPATH" -i "$JOBID" -d $TONUMBER
rm -rf $RANDOMFAX
exit 0

In den Zeilen 19 bis 22 korrigieren wir die Faxnummer die vom SAP System mit einer quasi Dienstkennung (FAX= oder SMS=) versendet wird. Schauen wir uns den Debug an:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
+ grep -e ^subject: -i /tmp/mail2fax.24145/_message_
+ sed s/^[^:]*: *//g
+ sed q
+ JOBID=Test
+ grep -e ^to: -i /tmp/mail2fax.24145/_message_
+ sed q
+ TOLINE=To: "DE 123456789" <FAX=+49123456789@FAX.SYSTEM.DE>
+ grep -e ^from: -i /tmp/mail2fax.24145/_message_
+ sed q
+ FROMLINE=From: "Thomas Schilling" <schillingt@sap.system.de>
+ echo To: "DE 123456789" <FAX=+49123456789@FAX.SYSTEM.DE>
+ grep <.*>
+ [ To: "DE 123456789" <FAX=+49123456789@FAX.SYSTEM.DE> != ]
+ echo To: "DE 123456789" <FAX=+49123456789@FAX.SYSTEM.DE>
+ sed -e s/.*<\(.*[^@]*\)@.*>.*/\1/
+ TONUMBER=FAX=+49123456789
+ echo FAX=+49123456789
+ grep FAX=
+ [ FAX=+49123456789 != ]
+ echo FAX=+49123456789
+ tr -d FAX=
+ TO=+49123456789
+ TONUMBER=+49123456789
+ echo From: "Thomas Schilling" <schillingt@sap.system.de>
+ grep <.*>
+ [ From: "Thomas Schilling" <schillingt@sap.system.de> != ]
+ echo From: "Thomas Schilling" <schillingt@sap.system.de>
+ sed -e s/.*<\(.*\).*>.*/\1/
+ FROMPATH=schillingt@sap.system.de
+ rm -rf /tmp/mail2fax.24145
+ exit 0

Wir sehen, das in Zeile 19 If   WAHR ist und FAX= durch tr(im) heraus geschnitten wird. Faxmails können jetzt von jedem Programm in jedem Format zum Faxserver zur Verarbeitung weiter geleitet werden. Im Postfix bedienen wir uns in der main.cf der virtual_alias_maps die folgenden Inhalt hat

@fax.system.de sapfax

Wir leiten alle Mails an die Domain fax.system.de an den Alias sapfax weiter. Sapfax ist wiederum in der /etc/aliases definiert.

sapfax: | /usr/local/bin/sapfax.sh

Der Systemuser-Alias „sapfax“ wird durch eine Pipe an unser Script, das global ausführbar sein muss, weiter geleitet und verarbeitet.

Ein hervorragendes Manual für die Installation von Asterisk und Hylafax ist noch zu nennen (Link) – alles weitere ist problemlos.

FBL3N versus FAGLL03 Einzelpostenanzeige

Die Bedeutung des Kennzeichens Einzelpostenanzeige in der Kontenverwaltung zum Buchungskreis ist nicht einfach. Sie verändert sich mit der Nutzung der neuen Hauptbuchhaltung.

Grundsätzlich sollte man, nach Aktivierung der neuen Hauptbuchhaltung, auf die Anwendung alter Reports und den Transaktionen wie zB. FBL3N oder FS10N verzichten. In der Praxis haben sie dennoch ihren Reiz und ich erliege auch oft ihrem Charme und verwende sie.

Wo liegt nun der Zusammenhang mit dem Kennzeichen Einzelpostenanzeige wie sie zB über die Transaktion FS00, in den Steuerungsdaten Kontoverwaltung im Buchungskreis, zu finden ist?

Im wesentlichen ist zu sagen, das mit setzen des Kennzeichens u.a. eine zusätzliche Tabelle ( BSIS ) geführt wird, in der die Verbindung Belegposition und Konto geführt wird. Ausserdem sind die Tabellen BSIS und BSAS für die OP Verwaltung wichtig. Die SAP Dokumentation gibt umfassend Auskunft. In diesem Kontext aber, sind die Stichworte Erfassungs- und Hauptbuchsicht entscheidend.

Die Transaktion FAGLL03 führt, in der Standardvariante, immer zu einer Einzelpostenliste – auch ohne Kennzeichen „Einzelpostenanzeige“. Warum ist das so?

Es ist Augenwischerei! Es ist die Betrachtungssicht zu beachten. Die Betrachtung der Einzelpostenliste, aus Sicht des Sachkontos, ist eine andere als die aus Sicht des Hauptbuchs. Die Transaktion FAGLL03 beginnt in der Standardvariante mit der Einzelpostenliste Hauptbuchsicht – die Transaktion FBL3N mit der Einzelpostenliste Erfassungssicht.

Das Kennzeichen „Einzelpostenanzeige“ in den Steuerungsdaten des Sachkontos ist also sehr wichtig wenn es um die Anzeige der Belegaufteilungen in der Erfassungssicht geht. Das Kennzeichen, wenn es denn vergessen wurde zu aktivieren, lässt sich auch nachträglich aktivieren.

Über die FS00 ist das Kennzeichen für das betreffende Konto zu setzen. Danach muss das Konto gesperrt werden ( Systemfunktionsleiste –> Sachkonto/Sperren ). Mit dem Aufruf des Reports RFSEPA01 (SA38) wird die Tabelle BSIS nachträglich generiert.

Die echte Einzelpostenanzeige, also die Sachkonteneinzelpostenliste in der Erfassungssicht, steht zur Verfügung.

SAP terminiert

SAP Systeme terminieren sich selbst wenn die Ressourcen aufgebraucht sind.

Der SAP Basis Administrator achtet auf den Speicherverbrauch des Systems – Ist nicht mehr genug Platz verfügbar, terminiert sich das System „wortlos“. Gerne kommt es im Log Bereich zum Überlauf.

Die Logs automatisch zu bereinigen, ist bei Systemen die die MaxDB Datenbank nutzen denkbar einfach. Entsprechende Einstellungen finden sich im DBCOCKPIT. Das Anfassen des Systems auf Ebene des Betriebssystems ist nicht notwendig.

Anders bei Nutzung der ORACLE Datenbank. Schnelle Abhilfe bei einem Überlauf des Log Bereichs –> Lösche den Inhalt des Ordners ORAARCH. Das ist gefahrlos auch während des Betriebs möglich.

Unserem Schulungssystem muss ich mehr Plattenspeicher gönnen.

BAS Datenimport Beispiel

Beispiel eines Datenimports in das BAS eines SAP NETWEAVER

Möglichkeiten, Daten aus Altsystemen in SAP zu importieren, gibt es reichlich. LSWM, SHDB sind die wichtigsten Transaktionen die auch sehr gut dokumentiert sind. Sie basieren auf der Technik des Batch-Input – also des „abspielens“, des simulierens einer Benutzeraktion mit Dateneingabe. Im Fall des Adressimports, genauer: Adressdatensätze der Geschäftspartner – ist dieses Vorgehen sehr umständlich, sehr Ressourcenaufwendig und führte, bei meinen Versuchen, zu einem Speicherüberlauf da nicht nur die BUP1 Transaktion angesprochen wird, sondern zeitgleich mehrere Prozesse angestossen werden die für die Sache eigentlich nicht nötig sind. Es sollte unbedingt darauf verzichtet werden und den Import über Code und den entsprechenden Verbucher-Funktionsbausteinen der BAS zu realisieren. Hilfreich ist diese Seite zu der Funktionsgruppe SZA1.

In der Schulung gehen wir einmal den Weg eines Batch-Inputs der grundsätzlich sehr gut ist.

In der Transaktion SHDB starten wir eine neue Aufzeichnung mit der Transakton BUP1 und legen einen Kunden „Mustermann“ an. Wenn die Aufzeichnung nach dem speichern des Kunden beendet ist, sieht man eine lange Liste der ausgeführten Aktionen auf dem Screen.

Mit dieser Aufzeichnung lässt sich einiges anstellen: Als Vorlage für den Import mit der Transaktion LSMW, als eigenständiger Report oder als Funktionsbaustein. Letzteren wollen wir einmal ausprobieren.

Hier zeigt sich schon der ernorme Ressourcenverbrauch. In meinem Beispiel importiere ich eine CSV Datei mit 4000 Sätzen. Es wird 4000 mal der Input in die Transaktion BUP1 erzeugt. Man sollte darüber kurz nachdenken, bevor man F8 drückt! In der Realität würde ich mit Sicherheit den Verbucherbaustein direkt mit einem COMMIT WORK AND WAIT aufrufen.

Es funktioniert, wenn auch sehr langsam trotzdem. Unser Batch-Input wird Positiv quittiert.

 

Datemimport ist eine einmalige Sache, bei der man schon den zu betreibenden Aufwand berücksichtigen muss. Über den Batch-Import ist aber immer gewährleistet, nur gültige Daten importiert zu haben. Andere Ideen, wie der Import in das BAS schöner gestaltet werden kann, sind willkommen und werden veröffentlicht!

NETWEAVER Entwickler Schlüssel

Entwickeln und lernen macht in der Gruppe mehr Spass. SAP stellt ein Basis-System für Entwicklungsarbeit kostenlos zur Verfügung von denen wir zwei Systeme in Betrieb halten. Zum einen ein Netwaeaver 702 auf einem Windows Terminalserver und ein Netweaver 750 System auf meinem Linux PC. Ein gravierender Unterschied fiel mir auf, den das System 702 zum idealen Entwicklungssystem für Gruppen kürt.

Neben den Änderungen der Syntax im ABAP Befehlssatz (Artikel) ist der Entwicklerschlüssel, der zur Erzeugung von Code im System berechtigt, nun digital signiert und setzt einen installierten Lizenzschlüssel voraus!

Wir wissen, bei der ersten Inbetriebnahme wird zunächst ein temporärer Lizenzschlüssel generiert, der sich bei der Berechnung der Gültigkeit zunächst an der Systemuhr zum Zeitpunkt des Starts orientiert. Im Netweaver 702 konnte es nun passieren, das man das System mit einem gültigen, sehr lange gültigen, temporären Lizenschlüssel in Betrieb nimmt und der Entwicklerschlüssel auch gültig ist.

Dieser Fehler, den man fairer Weise niemals nicht nie ausnutzen sollte, wurde in der Version 750 korrigiert – eben durch Signierung des Entwicklerschlüssels mit der signierten Programmlizenz, so das hier alle 90 Tage die Lizenz erneuert werden muss.

In beiden Versionen ist der Entwicklerschlüssel immer nur einmal gültig! Das heisst: Mag man auch so viele Benutzer und Mandanten anlegen können, wie man möchte, gibt es nur einen Entwickler. Ungünstig, wenn mit mehrer Entwicklern an einem Projekt gearbeitet werden soll.

Schalten wir doch vor Eingabe des Entwicklerschlüssels einmal den Debugger ein und verfolgen die Programmlogik. Wir sehen, dass ein Funktionsbaustein aus der Funktionsgruppe SKEY benutzt wird. Im ablaufenden Include Programm wird die Funktion

„DEVELOPER_KEY_CHECK“ nach der Güligkeit des Schlüssels befragt, die mit entsprechenden Rückgabewert SY-SUBRC den Entwickler zulässt oder eben nicht. Hier können wir eine impliziten Erweiterung vornehmen, nämlich derart, das der Rückgabewert der Funktion immer „0“ also gültig ist. Beliebig viele Benutzer können nun mit dem einen gültigen Entwicklerschlüssel Code erzeugen.

Viel Spass. Happy coding

ABAP Code 740 zu 702

Neue Schreibweise im ABAP 740 lässt sich schnell korrigieren

In den neueren Spielereien unseren hochgeschätztem Enno Wulff wird der überarbeitete ABAP Befehlssatz verwendet. Ich verwende noch den Stand 702 und kann so einfach seinen Code nicht übernehmen.

So verwendet er gerne die neue Kurzschreibweise mit der eine Klasse instanziiert wird: NEW x(  ).

Seht in seinen Code unter den Zeilen 20 und 98 und erinnern wir uns an BC401 Seite 59.

Die Zeile 20 mit „timer = NEW #( )“ ändern wir durch –> „CREATE OBJECT timer.“ und das „NEW main( )>start( ).“ ersetzen wir mit

„DATA m TYPE REF TO main.
CREATE OBJECT m.
m->start( ).“

Dann läuft die Sache auch und ist eine tolle Vorlage für so manch Lösung.

 

Kalkulierende Felder

In der Praxis sind die rechnenden Felder im Dynamics NAV sehr praktisch. Unter Umständen ist die Punkt vor Strich Regel nicht von Vorteil.

Sehr praktisch im täglichen Umgang sind kalkulierende, also selbst rechnende Felder. Will man zB. im Buchungsvorgang Skonto für Teilbeträge buchen, kann die Rechenoperation einfach in das Soll/Haben Feld eingetragen werden. Das ist im Microsoft Dynamics NAV in jedem numerischen Feld vorgesehen – es wird nach der „Punkt vor Strich“ Regel gerechnet. In der Praxis ist das nicht immer gewollt.

Der Chef legt zum Beispiel eine Tankquittung vor auf der auch neben dem abzugsfähigen Treibstoff und einer Dose Öl auch Zigarretten und ein Lolli für das Kind aufgeführt ist. Praktischer Weise rechnen wir 10 Euro plus 5 Euro mal 19% und nicht (10+5)*19/100. Im NAVISION bleibt keine Wahl, das Verfahren ist nicht änderbar. Es funktioniert nur Punkt-vor-Strich.

In unserem SAP System sind die Möglichkeiten offen. Als Demo habe ich einmal alle Möglichkeiten aufgeführte.

Der Standard Funktionsbaustein ‚EVAL_FORMULA‘ ist in der Lage ein String mit „10+5*0,19“ zu verarbeiten und nach der PvS Regel zu berechnen. Es ist also keine Schwierigkeit in einem PAI das Eingabefeld durch diesen Funktionsbaustein verarbeiten zu lassen und das selbt rechnende Feld ist realisiert.

Ich persönlich halte das für unpraktisch. Ähnlich wie der SAP Calculator, den wir mit dem Funktionsbaustein ‚FITRV_CALCULATOR‘ aufrufen können, läßt sich auch der Eingabestring zerlegen und sequenziell verarbeiten.

Wie in dem Listing zu sehen ist, zerlege ich den Eingabestring in eine Interne Tabelle. Die Zeichen + – * / separieren die Zahlen und rechnen entsprechend der Operation sequenziell.

Letztendlich mag es eine Sache der Gewöhnung sein. Mich interessieren die Erfahrungen die andere gemacht haben.

SAP Fundstücke 2

Fundstück aus der Flugdatenbank

Nach Anlage eines neuen Mandanten sind keine Beispieldaten in der Flugdatenbank vorhanden. Diese können durch den Aufruf des Reports SAPBC_DATA_GENERATOR  wie hier beschrieben generiert werden. Zahlreiche Beispiele im SAP System benutzen diese Daten, so auch ein Reservierungsmodell als Web DynPro in dem das Bordmenue ausgesucht werden kann.

SAP Netweaver 6.4 ausprobiert

SAP Netweaver 6.4 Linux DB2 ausprobiert.

Auf der Suche nach einem Basissystem für Linux, habe ich auf ftp.sap.com eine ältere Version gefunden. Zum üben, dachte ich, wohl ausreichend – leider, obwohl verfügbar, ist die Version unbrauchbar.

Schnell ein älteres Linux ( OpenSuSe 12.1 32 bit ) herbei; COMPAT und ein Original Java nach installiert und die Installation läuft problemlos durch. Im übrigen, unter Windows eine torture!

Das System läuft, wenn man ihm durch die Systemzeit das Jahr 2005 vorgauckelt. Lizenzen sind leider weder von SAP noch von IBM zu erhalten. Dadurch wird weder ein Mandant noch ein Developmentuser angelegt. Lediglich SAP* kann sich einloggen – dieser darf aber keine Entwicklung vornehmen.

Schade! Warum der Download überhaupt noch möglich ist, weiss wahrscheinlich niemand.