Page 1 of 1

richtige Technologie

PostPosted: Mon Nov 14, 2005 5:09 pm
by Alva1590
Hallo!

Bin neu auf diesem Gebiet und weiß nicht so recht welche Möglichkeit nun die Beste ist, um von einer Web-Oberfläche aus R/3 Tabellen anzuzeigen und/oder zu verändern...

WebDynpro - BAPI?
JSP - EJB - BAPI?

Oder gibt es die Möglichkeit direkt Tabellen zu manipulieren? (ich weiß das sollte man nicht tun, aber in diesem Fall egal...)

Kenne mich leider nur mit Java aus, nicht mit ABAP...

lg

PostPosted: Wed Dec 14, 2005 12:39 pm
by Alva1590
da die Antworten ja nicht so zahlreich waren, werde ich zumindest meine Erkenntnisse teilen...

Es gibt keine Empfehlung welche Technologie verwendet werden soll, man verwendet einfach die zum aktuellen Projektumfeld passendste Methode.

Der direkte Datenbankzugriff von Java auf SAP funktioniert, wird aber nicht empfohlen, da jegliche DB-Sperren der SAP dadurch umgangen werden. Wenn mans trotzdem tut sind alle sehr böse...

Falls das doch mal jemand braucht:

// z.B. für Oracle DB

public static final String CONNSTRING = "jdbc:oracle:thin:@<host>:<port>:<SID>"; // Oracle Port default 1527
public static final String USR = "xxx"; // DB-User!!!
public static final String PWD = "xxx";

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection con = DriverManager.getConnection(CONNSTRING,USR,PWD);

Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery("select * from <schema>.<table>");

PostPosted: Thu Dec 15, 2005 3:53 pm
by Christian4831
Hi,

es gibt ab SAP Web AS 6.40 das SAP OpenSQL für Java. Man implementiert hierbei direkt SQL in sein Java Coding. Daraufhin läuft beim Generieren der "Klasse" ein Compiler und erzeugt dann Java Klassen, die m.E. letzten Endes JDBC Aufrufe machen.

Um auf die erste Frage zurück zu kommen: Falls man SAP Netweaver und damit natürlich auch die UI Technologie WebDynpro verwenden möchte, kommt man nicht an dem ersten Ansatz herum. Ein weiterer Ansatz wäre aber anstatt Java WebDynpro ABAP Webdnypro zu verwenden. Dies wäre meiner Meinung nach aus Performancegründen zu bevorzugen.

ciao,
Tim