Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@kagesta

IBM i (AS/400)のPASE環境でnode.jsを動かす方法 [IBM i Native Objectアクセス編] (4/4)

nodejsi.png

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転送
nodejs04_02.png

2.JavaScriptの実行

「sample2.js」JavaScriptを実行して動作確認

【実行コマンド】

CALL QP2TERM
cd /QOpenSys/QIBM/ProdData/Node/bin
node /home/node/sample2.js

nodejs04_05.png

【実行結果】

ソース上で指定したIPアドレスとポートでWebブラウザからアクセスした物理ファイルから意図する結果が得られたことから正しく動作しているといえます。
nodejs04_06.png

この記事を読んでいただいてありがとうございます!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?