Snippets
Created by
Aaron Bartell
last modified
Andrei Tyuhai
Node.js Nods to RPG and DB2
Connect to DB2 from Node.js:
var db = require('/QOpenSys/QIBM/ProdData/Node/os400/db2i/lib/db2');
db.init();
db.conn("*LOCAL");
db.exec("SELECT LSTNAM,CITY FROM QIWS.QCUSTCDT", function(result_set) {
console.log(result_set);
});
db.close();
RPG:
dcl-pr pgm1 extpgm;
char1 char(1);
dec1 packed(7:4);
end-pr;
dcl-pi pgm1;
char1 char(1);
dec1 packed(7:4);
end-pi;
char1 = 'C';
dec1 = 321.1234;
return;
Call RPG from Node.js:
var xt = require('/QOpenSys/QIBM/ProdData/Node/os400/xstoolkit/lib/itoolkit');
var conn = new xt.iConn("*LOCAL");
var pgm = new xt.iPgm("PGM1", {"lib":"MYLIB"});
pgm.addParam("","1A");
pgm.addParam("0", "7p4");
conn.add(pgm.toXML());
conn.run(function (rsp) {
var results = xt.xmlToJson(rsp);
results.forEach(function(result, index){
result.data.forEach(function(data, index2){
console.log("type:" + data.type + " value:" + data.value);
});
});
});
Comments (0)
You can clone a snippet to your computer for local editing. Learn more.