Snippets

litmis Node.js Nods to RPG and DB2

Created by Aaron Bartell last modified Andrei Tyuhai

| | | - | - | - | - IBM i Hosting | Cybersource Toolkit for i | RPG-XML Suite | Payment Terminal Toolkit for i | UPS Toolkit for i

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)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.