您的位置:

sapjava,sapjava更改密码后sap重新

本文目录一览:

sap java 可以开发什么

1.既然想不误开发这条路,又想往SAP方向发展.那你还是先熟练掌握JAVA这样的OO语言,然后学会ABAP吧.虽然SAP业内非常非常的不看重编程能力...

2.IT技术的书籍是无穷尽的...你既然现在接触不到SAP,看了真白看.还不如稳扎稳打把现在的技术练扎实.就算以后没机会转SAP,JAVA也一点都不赖.(如果什么重构预够敏捷设计模式算法你都懂,再加上点工作经验...真不必羡慕SAP)

3.当然有帮助,且不说SAP现在就有些前端是用JAVA开发的,ABAP本身也是从JAVA演化而来的.要熟悉JAVA,转为ABAPER轻而易举.

4.SAP培训费坑爹.课程好像也有点坑爹...似乎可以自学考证,但是你考哪个证呢...SAP是一个模块一个证...

5.投简历咯~如果你JAVA真的还可以,好的公司进去不容易,进个一般的公司写写ABAP还是轻而易举的.或者你还没毕业就去校园招聘拼人品去.

JAVA调用SAP报错信息,各位帮忙看看什么原因

JAVA调用SAP报错叫做JCo二次部署异常。 JCo的原理是通过加载本地驱动实现的,因此在web项目里面在不重启server的情况下是无法重复加载sapjco3.dll驱动的,由于JCo是通过JNI实现的,即加载sapjco3.dll实现Java与SAP的通信,而JNI加载的class没办法被classloader卸载导致不能重复

将sapjco3.dll加到web容器(resin)的lib中,而将项目的WEB-INF\lib去掉,

JAVA怎么才能调用SAP的函数?谢谢

给你举个例子吧,如下:

1:Sap 域模型

package abc;

public class SapSystem implements java.lang.Cloneable {

private final String name;

private final String host;

private final String client;

private final String systemNumber;

private final String user;

private final String password;

private final String language ="en"; // English will be used as login language

/**

* Constructor, Login language is assumed to be English

* @param name

* @param client

* @param user

* @param password

* @param host

* @param systemNumber

*/

public SapSystem(String name, String host, String client

, String systemNumber, String user, String password) {

this.name = name;

this.client = client;

this.user = user;

this.password = password;

this.host = host;

this.systemNumber = systemNumber;

}

public String getName() {

return name;

}

public String getClient() {

return client;

}

public String getUser() {

return user;

}

public String getPassword() {

return password;

}

public String getLanguage() {

return language;

}

public String getHost() {

return host;

}

public String getSystemNumber() {

return systemNumber;

}

@Override

public String toString() {

return "Client " + client + " User " + user + " PW " + password

+ " Language " + language + " Host " + host + " SysID "

+ systemNumber;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((client == null) ? 0 : client.hashCode());

result = prime * result + ((host == null) ? 0 : host.hashCode());

result = prime * result

+ ((language == null) ? 0 : language.hashCode());

result = prime * result + ((name == null) ? 0 : name.hashCode());

result = prime * result

+ ((password == null) ? 0 : password.hashCode());

result = prime * result

+ ((systemNumber == null) ? 0 : systemNumber.hashCode());

result = prime * result + ((user == null) ? 0 : user.hashCode());

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

SapSystem other = (SapSystem) obj;

if (client == null) {

if (other.client != null)

return false;

} else if (!client.equals(other.client))

return false;

if (host == null) {

if (other.host != null)

return false;

} else if (!host.equals(other.host))

return false;

if (language == null) {

if (other.language != null)

return false;

} else if (!language.equals(other.language))

return false;

if (name == null) {

if (other.name != null)

return false;

} else if (!name.equals(other.name))

return false;

if (password == null) {

if (other.password != null)

return false;

} else if (!password.equals(other.password))

return false;

if (systemNumber == null) {

if (other.systemNumber != null)

return false;

} else if (!systemNumber.equals(other.systemNumber))

return false;

if (user == null) {

if (other.user != null)

return false;

} else if (!user.equals(other.user))

return false;

return true;

}

@Override

public Object clone() {

try {

return super.clone();

} catch (CloneNotSupportedException e) {

e.printStackTrace();

}

return null;

}

}

=====================================

2:建立连接

import java.util.Properties;

import com.sap.conn.jco.ext.DestinationDataEventListener;

import com.sap.conn.jco.ext.DestinationDataProvider;

import de.vogella.sap.system.model.SapSystem;

/**

* Represents the destination to a specific SAP system.

* The destination is maintained via a property file

*

*/

public class MyDestinationDataProvider implements DestinationDataProvider {

static String SAP_SERVER = "SAP_SERVER";

private final Properties ABAP_AS_properties;

public MyDestinationDataProvider(SapSystem system) {

Properties properties = new Properties();

properties.setProperty(DestinationDataProvider.JCO_ASHOST, system

.getHost());

properties.setProperty(DestinationDataProvider.JCO_SYSNR, system

.getSystemNumber());

properties.setProperty(DestinationDataProvider.JCO_CLIENT, system

.getClient());

properties.setProperty(DestinationDataProvider.JCO_USER, system

.getUser());

properties.setProperty(DestinationDataProvider.JCO_PASSWD, system

.getPassword());

ABAP_AS_properties = properties;

}

@Override

public Properties getDestinationProperties(String system) {

return ABAP_AS_properties;

}

@Override

public void setDestinationDataEventListener(

DestinationDataEventListener eventListener) {

}

@Override

public boolean supportsEvents() {

return false;

}

}

==================

import com.sap.conn.jco.JCoContext;

import com.sap.conn.jco.JCoDestination;

import com.sap.conn.jco.JCoDestinationManager;

import com.sap.conn.jco.JCoException;

import com.sap.conn.jco.JCoFunction;

import com.sap.conn.jco.JCoRepository;

import de.vogella.sap.system.model.SapSystem;

/**

* Connection allows to get and execute SAP functions. The constructor expect a

* SapSystem and will save the connection data to a file. The connection will

* also be automatically be established.

*/

public class Connection {

static String SAP_SERVER = "SAP_SERVER";

private JCoRepository repos;

private JCoDestination dest;

public Connection(SapSystem system) {

MyDestinationDataProvider myProvider = new MyDestinationDataProvider(system);

com.sap.conn.jco.ext.Environment

.registerDestinationDataProvider(myProvider);

try {

dest = JCoDestinationManager.getDestination(SAP_SERVER);

System.out.println("Attributes:");

System.out.println(dest.getAttributes());

repos = dest.getRepository();

} catch (JCoException e) {

throw new RuntimeException(e);

}

}

/**

* Method getFunction read a SAP Function and return it to the caller. The

* caller can then set parameters (import, export, tables) on this function

* and call later the method execute.

*

* getFunction translates the JCo checked exceptions into a non-checked

* exceptions

*/

public JCoFunction getFunction(String functionStr) {

JCoFunction function = null;

try {

function = repos.getFunction(functionStr);

} catch (Exception e) {

e.printStackTrace();

throw new RuntimeException(

"Problem retrieving JCO.Function object.");

}

if (function == null) {

throw new RuntimeException("Not possible to receive function. ");

}

return function;

}

/**

* Method execute will call a function. The Caller of this function has

* already set all required parameters of the function

*

*/

public void execute(JCoFunction function) {

try {

JCoContext.begin(dest);

function.execute(dest);

} catch (JCoException e) {

e.printStackTrace();

} finally {

try {

JCoContext.end(dest);

} catch (JCoException e) {

e.printStackTrace();

}

}

}

}

======================

3:测试连接

import static org.junit.Assert.assertTrue;

import org.junit.Test;

import com.sap.conn.jco.JCoFunction;

import com.sap.conn.jco.JCoTable;

import de.vogella.sap.rfc.core.connection.Connection;

import de.vogella.sap.system.model.SapSystem;

public class ConnectionTester {

static String SAP = "SAP_SERVER";

@Test

public void checkConnection() {

// SAP System

SapSystem system = new SapSystem("PFT", "pwdf6394.wdf.sap.corp", "600", "76", "mytester", "welcome");

Connection connect = new Connection(system);

JCoFunction function = connect.getFunction("BAPI_USER_GETLIST");

function.getImportParameterList().setValue("MAX_ROWS", 10);

connect.execute(function);

JCoTable table = function.getTableParameterList().getTable("USERLIST");

assertTrue("User Tabelle should not be empty", !table.isEmpty());

}

}

======================

4:简化JCo存取

import com.sap.conn.jco.JCoTable;

/**

* TableAdapter is used to simplify the reading of the values of the Jco tables

*/

public class TableAdapterReader {

protected JCoTable table;

public TableAdapterReader(JCoTable table) {

this.table = table;

}

public String get(String s) {

return table.getValue(s).toString();

}

public Boolean getBoolean(String s) {

String value = table.getValue(s).toString();

return value.equals("X");

}

public String getMessage() {

return table.getString("MESSAGE");

}

public int size() {

return table.getNumRows();

}

public void next() {

table.nextRow();

}

}

5:最后测试

import static org.junit.Assert.assertNotNull;

import static org.junit.Assert.assertTrue;

import org.junit.Test;

import com.sap.conn.jco.JCoFunction;

import com.sap.conn.jco.JCoTable;

import de.vogella.sap.rfc.core.connection.Connection;

import de.vogella.sap.rfc.helper.TableAdapterReader;

import de.vogella.sap.system.model.SapSystem;

public class TableAdapterTester {

@Test

public void checkConnection() {

// SAP System

SapSystem system = new SapSystem("PFT", "pwdf6394.wdf.sap.corp", "600",

"76", "mytester", "welcome");

Connection connect = new Connection(system);

JCoFunction function = connect.getFunction("BAPI_USER_GETLIST");

function.getImportParameterList().setValue("MAX_ROWS", 10);

connect.execute(function);

JCoTable table = function.getTableParameterList().getTable("USERLIST");

TableAdapterReader adapter = new TableAdapterReader(table);

System.out.println("Number of Users: " + adapter.size());

for (int i = 0; i adapter.size(); i++) {

// USERNAME is a column in the table "USERLIST"

String s = adapter.get("USERNAME");

assertNotNull(s);

assertTrue(s.length() 0);

System.out.println(s);

adapter.next();

}

assertTrue("User Tabelle should not be empty", !table.isEmpty());

}

}

sap和java哪个前景待遇好?

光从前景和待遇上来说,肯定是sap比java好的,毕竟java这种编程还是靠吃青春饭的,sap倒是越有经验越吃香。但是前提是你愿意且有能力做好,真的是看你个人的意愿和本事了。如果你选择sap的话,一个是从ABAP开发入手,这就需要一定的开发经验了,但是我不确定半年的java经验是否足够;另外一个就是做sap的其他业务模块,但是这个又需要业务方面的经验,你可以自己衡量一下,考虑一下从哪方面进入sap。如果你们公司正好有sap项目要上的话,那就是很好的学习机会,你可以跟着项目一起边做边学;如果你们公司已经上好sap的话,那你就要考虑去外面的培训机构学习了,关于培训机构现在外面很多了,你可以自己去比较,推荐一篇如何选择培训机构的博文给你吧~

做SAP开发怎么样?前途好么?我现在做java开发,目前想跳槽,现在有家公司让我去做SAP开发,要不要去呢

不建议去,因为SAP的技术含量比Java低。学java开发推荐选择千锋教育,该教育机构采用全程面授高品质、高体验培养模式,非常不错。

学习Java的优势:

一、Java编程语言的入门门槛较低,适合大多数人学习

虽然目前各大高校均将开设有即计算机应用专业。计算机专业的学生参加IT培训就是如虎添翼,毕业以后直接进入名企工作,这对普通本科生来说是非常珍贵的机会。

二、Java编程语言的应用范围广,适用性强

IT培训之所以大力推荐Java编程培训,就是因为学习Java语言将来的就业方向比较广泛,学生可以有更多的职业选择。

三、Java编程语言的人才需求量很大,学习Java更好就业,虽然市场上Java技术人才众多,但是出类拔萃的Java工程师却是凤毛麟角。所以Java工程师的发展前景还是很值得期待的。这也是IT培训机构首推Java编程培训课程的一个原因。

想要了解更多有关Java培训的相关信息,推荐咨询千锋教育。北京千锋互联科技有限公司(下面简称“千锋教育”),成立于2011年1月,立足于职业教育培训领域,公司现有教育培训、高校服务、企业服务三大业务板块。教育培训业务分为大学生技能培训和职后技能培训;高校服务业务主要提供校企合作全解决方案与定制服务;企业服务业务主要为企业提供专业化综合服务。

java和sap 如何抉择

任何技术都有其应用领域,java和sap你只要能够踏踏实实走下去,每一条路都是光明的。评论xxx技术好不好 那是没有任何意义。就跟我当年学了3年的C++,后来由于工作需要转到java开发,从接触java到写项目代码也就三天不到的时间。虽然开始困难,但现在回过头想想,也没有什么。技术是死的,人是活的。不要让技术把你套的死死的。你现在有这种抉择问题,无非是感觉以前学的东西白费了,划不来,呵呵,其实你关注这个是不明智的,你的精力更多应该放在ERP的了解上,看看ERP是否能够让你感到值得去做。权衡下自己能不能在这个行业中有所作为。用什么技术从来都不是考虑的重点。