java与SAP集成批批量处理模版(JCO3)

java
Java批量获取sap数据代码
package com.topband.web.struts.action.supplier;


import java.util.ArrayList;
import java.util.List;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.sap.conn.jco.AbapException;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoParameterList;
import com.sap.conn.jco.JCoTable;
import com.tbsap.jcosap.SAPJCO;
import com.topband.supplier.model.SupplierBean;
import com.topband.web.struts.action.supplier.SAPJobSupplier;

public class zhugx01 implements Job{
public zhugx01() {
super();
}
/*
* SAP定时更新临时供应商记录
*/
public void execute(JobExecutionContext context) throws JobExecutionException {
SAPJobSupplier supplierlsbean = new SAPJobSupplier();
JCoDestination destination = null;
SAPJCO sapjco = new SAPJCO();

try
{
destination = sapjco.getJcoConnection();
JCoFunction function = destination.getRepository().getFunction("ZMM_VENDOR_CQ");
if (function != null)
{
JCoTable saplssupplier = function.getTableParameterList().getTable("ZVENDOR_STRUC");
JCoParameterList paramList = function.getImportParameterList();
paramList.setValue("ZBZ","1");
function.execute(destination);
List lslist= new ArrayList();
System.out.println("临时供应商条数"+saplssupplier.getNumRows());
for (int i = 0; i < saplssupplier.getNumRows(); ++i) {
saplssupplier.setRow(i);
SupplierBean lsbean= new SupplierBean();
lsbean.setGysbh(saplssupplier.getString("LIFNR")); //供应商编号
lsbean.setName(saplssupplier.getString("NAME")); //公司名称
lsbean.setGyszt("临时供应商");
lslist.add(lsbean);
}
supplierlsbean.UpdateSupplierfz(lslist,null,null);
}
}catch(AbapException e)
{
destination = null;
} catch (JCoException e) {
destination = null;
e.printStackTrace();
}finally{
destination = null;
}

}
}

单个与批量回写sap模版代码
package com.topband.web.struts.action.Recruitment;

import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.Statement;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.actions.DispatchAction;
import com.sap.conn.jco.AbapException;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoTable;
import com.tbsap.jcosap.SAPJCO;
import com.topband.recruitment.model.Family;
import com.topband.recruitment.model.LYXX;
import com.topband.recruitment.model.ZGJL;
import com.whir.common.util.DataSourceBase;

public class zhugx extends DispatchAction{

DataSourceBase dsb = new DataSourceBase();
Connection conn = null;
Statement stmt = null;
String sql =null;
java.sql.ResultSet rs =null;
LYWK ly = new LYWK();

public zhugx() {
super();
}
public ActionForward HXSAP(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest reuqest,
HttpServletResponse response) {
JCoDestination destination = null;
String workid = reuqest.getParameter("lid");
String adr = reuqest.getParameter("adr");
String msgs = "";
String text = "";
String id = "";
LYXX lyx = (LYXX)ly.GetLYxx(workid);
List jtlist = ly.Getjtlist(workid);
List gzlist = ly.Getgzlist(workid);
SAPJCO sapjco = new SAPJCO();

try
{
destination = sapjco.getJcoConnection();
JCoFunction function = destination.getRepository().getFunction("ZHR_RZ_01");
if (function != null)
{
JCoTable lysap = function.getTableParameterList().getTable("ZZHR_RZ");
JCoTable gz = function.getTableParameterList().getTable("ZZHR_GZ");
JCoTable jt = function.getTableParameterList().getTable("ZZHR_JT");
JCoTable msg = function.getTableParameterList().getTable("ZMSGTAB");
lysap.appendRow();
if(lyx.getNAME() ==null){
lysap.setValue("NACHN","");
}else{
char[] name = lyx.getNAME().toCharArray();
lysap.setValue("NACHN",name);
}
if(lyx.getZY() ==null){
lysap.setValue("SPEC_NAME","");
}else{
char[] zy = lyx.getZY().toCharArray();
lysap.setValue("SPEC_NAME",zy);
}

for(int i =0;i<jtlist.size();i++){
Family jtxx= (Family)jtlist.get(i);
jt.appendRow();
jt.setRow(i);
if(jtxx.getLxdz() ==null){
jt.setValue("ADDRESS","");
}else{
char[] addre = jtxx.getLxdz().toCharArray();
jt.setValue("ADDRESS", addre);
}
if(jtxx.getLxtel() ==null){
jt.setValue("ZTELEPOHNE","");
}else{
char[] tel = jtxx.getLxtel().toCharArray();
jt.setValue("ZTELEPOHNE", tel);
}
}

for(int j =0;j<gzlist.size();j++){
ZGJL gzxx= (ZGJL)gzlist.get(j);
gz.appendRow();
gz.setRow(j);
if(gzxx.getKssj() ==null){
gz.setValue("BEGDA2","");
}else{
char[] kssj = gzxx.getKssj().toCharArray();
gz.setValue("BEGDA2", kssj);
}
if(gzxx.getJssj() ==null){
gz.setValue("ENDDA2","");
}else{
char[] jssj = gzxx.getJssj().toCharArray();
gz.setValue("ENDDA2", jssj);
}
}
function.execute(destination);
for (int i = 0; i < msg.getNumRows(); ++i){
msg.setRow(i);
msgs = msg.getString("MSGTYP");
text = msg.getString("TEXT");
id = msg.getString("PERNR1");
System.out.println("值3"+id);
}
}
}catch(AbapException e)
{
destination = null;
} catch (JCoException e) {
destination = null;
e.printStackTrace();
}finally{
destination = null;
}
PrintWriter out = ly.getWriterOut(response);
out.print(msgs.concat("@".concat(text)).concat("%".concat(id))); // S/成功 E 失败
return null;


}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值