Java, Webprogrammierung, Linux und mehr

Java, Webprogrammierung, Linux und mehr

Virtual Home of Johannes Geppert

  • Home
  • Über mich
  • Meine Linktipps
  • Kontakt
  • Impressum

Mit Java eine SAP Funktion aufrufen

Posted in java, sap by jogep
Jul 17 2008
TrackBack Address.

Um mit Java eine Remote fähige Funktion aus einem SAP System aufzurufen. müsst Ihr euch den sapjco Connector von SAP herunterladen.

Die Datei sapjco.jar muss in eurern CLASSPATH, also bei einer Webanwendung ins WEB-INF/lib Verzeichniss.

Die System abhängigen Dateien, sapjcorfc.dll und librfc32.dll unter Windows, und libsapjcorfc.so und librfccm.so unter Linux müssen in eurem PATH verfügbar sein.

Als nächstes könnt erstellt Ihr eine Klasse SAPConnect, von dieser Klasse lasst Ihr alle Klassen erben die eine Verbindung zu SAP aufbauen wollen.

import com.sap.mw.jco.IFunctionTemplate;
import com.sap.mw.jco.JCO;
 
public class SAPConnect {
private JCO.Client     mConnection;
private JCO.Repository mRepository;
private String         userid;
private String         password;
private String         mandant;
private String         appServer;
private String         systemNumber;
private boolean        connected = false;
 
protected SAPConnect(String user, String password, String mand, String server, String number) {
this.userid = user;
this.password = password;
this.mandant = mand;
this.appServer = server;
this.systemNumber = number;
}
 
public boolean connect()
{
try
{
mConnection = JCO.createClient(mandant, userid, password, "DE", appServer, systemNumber);
mConnection.connect();
mRepository = new JCO.Repository("MyRepository", mConnection);
connected = true;
}
catch (Exception ex)
{
ex.printStackTrace();
return false;
}
return true;
}
 
protected JCO.Function execute(JCO.Function function)
{
try
{
mConnection.execute(function);
 
if (function == null)
{
System.out.println(function.getName() + " nicht im SAP gefunden.");
System.exit(1);
}
 
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
 
return function;
 
}
 
public void disconnect()
{
mConnection.disconnect();
connected = false;
}
 
protected JCO.Function createFunction(String name) throws Exception
{
try
{
IFunctionTemplate ft = mRepository.getFunctionTemplate(name.toUpperCase());
if (ft == null) return null;
return ft.getFunction();
}
catch (Exception ex)
{
throw new Exception("Problem beim erstellen des JCO.Function Objects.");
}
}
 
public JCO.Repository getRepository()
{
return mRepository;
}
 
public boolean isConnected()
{
return connected;
}
}

In diesem Beispiel wollen wir die Funktion TH_WPINFO aufrufen die uns alle aktuellen Prozesse im SAP zurückliefert.

import com.sap.mw.jco.JCO;
 
import de.esag.utils.SAPConnect;
 
public class Prozesse extends SAPConnect
{
 
public Prozesse(String userid, String password, String Mandant, String AppServer, String SystemNumber)
{
super(userid,password,Mandant,AppServer,SystemNumber);
connect();
 
try
{
JCO.Function function = createFunction("TH_WPINFO");
execute(function);
 
JCO.Table codes = function.getTableParameterList().getTable("WPLIST");
 
for (int i = 0; i < codes.getNumRows(); i++)
{
codes.setRow(i);
System.out.print(codes.getString("WP_NO") +", ");
System.out.print(codes.getString("WP_PID") +", ");
System.out.print(codes.getString("WP_BNAME") +", ");
System.out.print(codes.getString("WP_REPORT") +", ");
System.out.print(codes.getString("WP_STATUS") +", ");
System.out.print(codes.getString("WP_ELTIME") +", ");
System.out.print(codes.getString("WP_TYP") +", ");
System.out.println(codes.getString("WP_MANDT"));
}
}
catch (Exception ex)
{
ex.printStackTrace();
System.exit(1);
}
disconnect();
}
 
public static void main(String[] args)
{
new Prozesse("benutzer","passwort","mandant","server","systemnummer");
}
}

Beim ausführen der Klasse solltet Ihr jetzt alle laufenden Prozesse eures SAP Systemes sehen.

No Comments yet »
Tagged as: aufrufen, ausführen, funktion, java, remote, sap, sapjco

Social Links

TwitterTwitter XingXing TechnoratiTechnorati GithubGithub

Kategorien

  • Allgemein
  • datenbanken
  • hdr
  • java
    • sap
    • spring
    • struts2
    • hibernate
    • axis2
    • webservices
    • Struts jQuery Plugin
  • linux
  • projekte
  • sonstiges
  • witze
  • jQuery
  • php
  • piratenpartei

Schlagwörter

ajax Array bilder checksum client e-mail email gallerie hdr hdr bild hdr bilder hibernate integration java jax-rc jersey jpeg jqgrid jQuery leipzig linux mail openSUSE options Photo php plugin properties qtpfsgui resize rest showcase smtp spring struts2 versenden video web gallerie web service webservice wein weinfreund weingut widgets witze

Archiv

  • März 2010 (1)
  • Januar 2010 (4)
  • Dezember 2009 (1)
  • November 2009 (1)
  • Oktober 2009 (1)
  • September 2009 (1)
  • August 2009 (1)
  • Juli 2009 (2)
  • Juni 2009 (4)
  • Mai 2009 (5)
  • April 2009 (1)
  • März 2009 (2)
  • Februar 2009 (2)
  • Januar 2009 (1)
  • September 2008 (1)
  • Juli 2008 (22)

Meta

  • Anmelden
  • Artikel-Feed (RSS)
  • Kommentare als RSS
  • WordPress.org



Add to Technorati Favorites
Technorati Profile
Programming Blog Directory
Programming Blogs - Blog Catalog Blog Directory

blogoscoop
Blogverzeichnis - Blog Verzeichnis bloggerei.de
BlogPingR.de - Blog Ping-Dienst, Blogmonitor
Blog Verzeichnis Social Bookmarking, RSS-Verzeichnis
Blog Top Liste - by TopBlogs.de
http://www.wikio.de
Technology Blogs - Blog Rankings

RSS Neues aus der Weinwelt

  • Wein, Jazz & Oldtimer - das stimmungsvolle Weinfest im Grünen
  • Weinmesse München am 13. und 14. März 2010
  • saborondo Wintermenü - Die perfekte Harmonie von Speisen und Wein
  • XXV. Hamburger Wein-Salon
  • Weingut Kummer-Schuster jetzt NEU bei weinfreund.de
  • Konsumgöttinnen
  • HM4 - der Jungwein des Hauses ist da!
  • Es wei(h)nachtet sehr...
  • Auszeichnungen im Fallstaff Weinguide 2009/2010
  • Weingut Müller-Grossmann jetzt NEU bei weinfreund.de
Powered by WordPress | “Blend” from Spectacu.la WP Themes Club