JAVA与SAP数据交互的方式总结
JAVA与SAP数据交互的方式总结
RFC方式:Java程序直接通过RFC访问SAP的对象(或称函数,可能叫法不对)
SAP
提供了BAPI(Business Application Programming
Interface),BAPI是SAP系统对外提供的一系列接口,主要是使第三方程序通过这些接口来使用SAP,从而方便客户定制某些程
序.VB,Java,C,C++等都可以通过BAPI来访问SAP.BAPI是通过R/3系统上的RFC(Remote function
call)功能来实现的.因为BAPI的强大功能作为基础,SAP就完全可以选择Java在CRM上加强各种功能,比如可以用Java快速开发一个实现特
定功能的客户端。针对Java,SAP也提供了一个API叫Java Connector(JCo),可以使用它方便的调用BAPI提供的接口。
举例说明 :在我们的某一个项目中,需要每个月从R3取出供应商的寄售和非寄售汇总结算数据和明细数据,展现在供应商信息平台上,供供应商开发票和财务部付款进行结算,那么可以做一个定时器,通过RFC在每个月的一号0点将结算数据取出。
private final static String FUNCTION_GET_NONVMI_DATA = "ZPUR_DATA_GET_TMP1";
/**
* 处理接口参数
*/
private JCO.ParameterList getNonVmiTableParameterList(
JCO.Client aConnection, String bukr, String month, String start,
String end, String lifnr) {
IRepository aRepository = new JCO.Repository("SAPRep", aConnection);
IFunctionTemplate functionTemplate = aRepository
.getFunctionTemplate(FUNCTION_GET_NONVMI_DATA);
logger.debug("FunctionTemplate=" + functionTemplate);
JCO.Function function = new JCO.Function(functionTemplate);
JCO.ParameterList input = function.getImportParameterList();
input.getField("BUKRS").setValue(bukr);
//input.getField("SPMON").setValue(month);
input.getField("LIFNR").setValue(lifnr);
input.getField("ZBUDATB").setValue(start);
input.getField("ZBUDATN").setValue(end);
logger.debug("ImportParameterList=" + input);
aConnection.execute(function);
&
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
一 插入排序法:
说明: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。 Java代码 public class InsertSorter extends Sorter { /** * from 起始位置 ......
package algorithm.misc;
import util.*;
public class MaxProductOfN1 {
private static int exceptIndex = -1;
public static long regMethod(int data[])
{
long ret = Long.MIN_VALUE;
& ......
一. 看一段冗余的代码
public String login(HttpServletRequest request){
OperatorService operatorService = new OperatorService();
WebContext webContext= request.getSession().getAttribute("WEB_CONTEXT_KEY");
Connection conn=null;
try{
Cone ......