#1.JavaScriptの準備
##IBM i Native ObjectをアクセスするJavaScriptを作成して動作確認
###【Javaスクリプトの編集】
テキストエディターでJavaScriptを編集後、UTF-8で「sample2.js」と名前を付けて保存
hello.js
var http = require('http');
var db = require('/QOpenSys/QIBM/ProdData/Node/os400/db2i/lib/db2');
var xt = require('/QOpenSys/QIBM/ProdData/Node/os400/xstoolkit/lib/itoolkit');
var pd = require('/QOpenSys/QIBM/ProdData/Node/os400/xstoolkit/lib/iprod');
var prod = new pd.iProd(new xt.iConn("S6515E9A"));
var prodInfo = prod.getProductInfo("5770DG1");
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
db.init();
db.conn("S6515E9A");
db.exec("SELECT LSTNAM, STATE FROM QIWS.QCUSTCDT", function(rs) {
res.write("Product ID:" + prodInfo["Product_ID"] + "\n");
res.write("Release level:" + prodInfo["Release_level"] + "\n");
res.write("Load State:" + prodInfo["Symbolic_load_state"] + "\n");
res.end(JSON.stringify(rs));
});
db.close();
}).listen(8082, '192.168.1.7');
console.log('Server running at http://192.168.1.7:8082/');
###【FTP転送】
先にIBM iに作成済みの/home/nodeフォルダーへ「sample2.js」をFTP転送
#2.JavaScriptの実行
##「sample2.js」JavaScriptを実行して動作確認
###【実行コマンド】
CALL QP2TERM
cd /QOpenSys/QIBM/ProdData/Node/bin
node /home/node/sample2.js
###【実行結果】
ソース上で指定したIPアドレスとポートでWebブラウザからアクセスした物理ファイルから意図する結果が得られたことから正しく動作しているといえます。
この記事を読んでいただいてありがとうございます!