创作背景
泛微更新class文件需要重启服务器才能生效,遇到erp接口调试时需要频繁改动更新代码,调试起来非常麻烦,所以我想到把后端代码固定,采用前端调整代码的方式更新erp接口交互操作。
实现步骤
编写后台ERP交互代码
此部分需要适应erp调用各种参数输入情况,做到不需要频繁改动。代码地址
前端调用
erp交互接口地址:
输入对象属性说明:
datas:json对象,各属性为erp接口交互时参数内容。datas.method:必填,SAP接口名称;datas.sourceId:必填,泛微集成中心-产品集成-SAP集成中配置的数据源的id;datas.params:可选,参数对象,属性名为输入参数的名称,属性值为输入参数的值;datas.structures:可选,参数结构对象,属性名为输入结构的名称,属性值为输入结构的键值对;datas.tables:可选,参数表对象,属性名为输入表的名称,属性值为数组datas.result:必填,请求需要返回的对象。params、structures、tables非必选,但是不能全部为空。
输出对象属性说明:
code:调用结果状态码,200代表成功,其他代表异常。message:调用结果信息,失败时告知失败原因。data:调用结果数据,根据2输入对象的result参数生成。
调用案例
ajax调用
$.ajax({
type: 'post',
async : false,
dataType:'json',
url: '/api/dcdev/sap/callSap',
data:{
datas: JSON.stringify(paramObj)
},
success: function(obj){
if(obj.code === '200'){
result = obj.data;
}else{
alert(obj.message);
}
},
error: function(e){
alert('sap交互失败,请联系管理员:' + e.message);
}
});
输入案例:案例说明:调用的服务器为:SAP集成中心中配置的数据源id为1501的服务器;调动的接口方法为:Z_PS_WBS_STATUS;传入的参数为:表格LIST的POSID属性,值为RAJCGZS091-1-1-32;请求的结果为:表格LISTOUT的STAT和TXT04值。
{'method':'Z_PS_WBS_STATUS','sourceId':'1501','tables':{'LIST':[{'POSID':'RAJCGZS091-1-1-32'}]},'result':{'tables':{'LISTOUT':['STAT','TXT04']}}}
输出结果:案例说明:code为200,代表调用成功;message返回的是交互结果信息;data返回的是请求结果数据,依据上述输入的result;
{'code':'200','data':{'tables':{'LISTOUT':[{'STAT':'I0002','TXT04':'REL'}]}},'message':'调用成功。'}
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点