点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
最近,我使用了SAP提供的nodejs RFC连接器。名为node-rfc的模块为SAP NetWeawer RFC库提供绑定。通过该库,可以利用SAP远程功能调用(RFC)协议从nodejs调用基于SAP NetWeaver的ABAP系统中的RFC启用功能模块。有关将模块安装到nodejs框架中的信息,请参见此处。下面,我提供了两个示例nodejs应用程序,展示了将值传递给BAPI参数(如单个值,结构和表)的可能性。我认为,node-rfc模块是一个很好的选择,它可以像使用基于Web的应用程序一样从频繁使用的nodejs应用程序与SAP系统进行交互。您可以在我的github上找到两个示例:
demo_BAPI_params1.js usage of table and variable parameter
//demo prg to showcase usage of table and variable parameters of SAP's BAPI while called from nodejs app via SAP/node-rfc nodule
"use strict";
var rfc = require('node-rfc');
var abapSystem = {
user: 'sap_user',
passwd: 'sap_user_pwd',
ashost: 'sap.nodomain',
sysnr: '01',
client: '800'
};
var client = new rfc.Client(abapSystem);
var MAX_ROWS = 3;
var SELECTION_RANGE_str = {
PARAMETER: "USERNAME",
SIGN: "I",
OPTION: "CP",
LOW: "A*"
};
var SELECTION_RANGE_tab = [SELECTION_RANGE_str];
client.connect(function (err) {
if (err) {
return console.error('could not connect to server', err);
}
client.invoke('BAPI_USER_GETLIST', {
MAX_ROWS: MAX_ROWS,
SELECTION_RANGE: SELECTION_RANGE_tab
},
function (err, res) {
if (err) {
return console.error('Error invoking BAPI_USER_GETLIST:', err);
}
console.log('Result BAPI_USER_GETLIST:', res);
});
});
demo_BAPI_params2.js usage of structure parameter of SAP 's BAPI
//demo prg to showcase usage of structure parameter of SAP'
s BAPI
while called from nodejs app via SAP / node - rfc nodule "use strict";
var rfc = require('node-rfc');
var abapSystem = {
user: 'sap_user',
passwd: 'sap_user_pwd',
ashost: 'sap.nodomain',
sysnr: '01',
client: '800'
};
var client = new rfc.Client(abapSystem);
client.connect(function (err) {
if (err) {
return console.error('could not connect to server', err);
}
var IMPORTSTRUCT = {
RFCDATA1: 'some value of structure field RFCDATA1',
RFCDATA2: 'some value of structure field RFCDATA2'
};
client.invoke('STFC_STRUCTURE', {
IMPORTSTRUCT: IMPORTSTRUCT
},
function (err, res) {
if (err) {
return console.error('Error invoking STFC_STRUCTURE:', err);
}
console.log('Result STFC_STRUCTURE:', res);
});
});
转载地址:http://blog.maruskin.eu/2018/04/how-to-call-bapi-in-sap-from-nodejs-app.html