NEWS
IBM i 技術解説 IBM i 技術解説
2025.03.11
SHARE
  • twitter
  • facebook
  • hatena
  • linkedin

【IBM Power Salon】株式会社 電業 様が語る
「根っからのエンジニアが語る IBM i 内製化のリアル」実践編
~サンプルプログラムの流れ(CSVファイル作成)

【IBM Power Salon】株式会社 電業 様が語る<br /> 「根っからのエンジニアが語る IBM i 内製化のリアル」実践編<br />~サンプルプログラムの流れ(CSVファイル作成)
【IBM Power Salon】株式会社 電業 様が語る<br /> 「根っからのエンジニアが語る IBM i 内製化のリアル」実践編<br />~サンプルプログラムの流れ(CSVファイル作成)

日本アイ・ビー・エム株式会社が毎月開催しているIBM Powerユーザーのための自由な語り場「IBM Power Salon」(月1回、第二水曜日の朝9時から開催)をご存じでしょうか?
https://www.ibm.com/blogs/systems/jp-ja/ibm-power-salon/

2023年1月11日に開催された第14回の、株式会社 電業様による「惜しみなく共有しちゃいます、根っからのエンジニアが語る、IBM i 内製化のリアル。」では、既存IBM i環境を見事に活用し、自作でIBM i と自動倉庫をつなげDXを実現された素晴らしい事例が披露されました。
https://video.ibm.com/recorded/132452956

とはいえ、1時間の講演時間では語りきれなかった詳細は、きっと他のIBM i ユーザーの方にも参考になるはず!ということで、株式会社電業 総務部 竹本伸明様に“内製DX”について具体的にご説明いただきます。読めばきっと、「IBM i でここまでできるんだ!」と目から鱗が落ちるはずです!

サンプルプログラムはこちらから!

前々回前回と、生成するEXCELファイルを見やすくする仕組み=DEFファイルの作成について説明してきました。
今回は、いよいよデータ本体、すなわちIBM i上にあるマスターファイルからCSVファイル(物理ファイル)に書き出す部分を説明します。

具体的には、

  • 5250画面にて入力された選択条件によって作成されたSQL文(QTEMP/SQLWORKに出力:第2回参照)を読込み、SQLを実行。
  • IBM i上の商品マスターから選択条件に合致した商品コードを取出し、商品マスターデータを取得します。
  • 取得した商品マスターデータはフィールド選択ファイルに従ってCSVデータを出力します。
  • フィールド選択ファイルはカラム(フィールド)出力順でCSVデータ(QTEMP/CSVTXT2)を出力します。
  • CSVヘッダー(タイトル)はフィールド選択ファイルの情報を使用してCSVの1行目に出力します。

これらを今回の第5回記事で解説します。

ソース・プログラムは当連載第1回でご案内したサンプル・ライブラリーに格納してありますので、全容はそちらでご確認ください。

1. CSVファイル作成

第2回記事で解説した、SQLWORKに出力されているSQLを実行しデータを取得します。
データ1件毎にパラメータの&IDでCSVCOLL1(第3回記事参照)に定義されている出力カラムに従ってCSVデータを出力します。
&ROWCNTはSAMPLE01でデータ件数を取得したものがCLにパラメータとして渡されたものです。
本来はSQLDA(SQLデータエリア)を使用すべきですが、時間の関係上実装していません。SQLで取得しているフィールドは主キーとなるフィールドのみです。取得した主キーフィールドでデータをCHAINする仕組みとしています。

① 手順1:CSVファイル作成プログラム内ではCSVCOLL1をパラメータ&IDでプログラム内テーブル(DS)に読込みます。

② 手順2:CSVデータ出力

【CSVデータ出力処理】
CSV明細データはSQL FETCHにてデータが無くなるまで処理を繰返します。
標識80はFETCHにて取得するデータが無い時とSQLエラーの時に*ONになります。

【CSVヘッダーデータ出力処理】

【CSV明細データ出力処理】

【CSVフィールドデータ取得処理】

いいねと思ったらシェア
twitter
facebook
hatena
linkedin
あなたにオススメの連載
できるIBM i 温故知新編
9記事
できるIBM i 温故知新編
IBM i の”新”必須言語 〜FFRPG入門〜
13記事
IBM i の”新”必須言語 〜FFRPG入門〜
IBM i アプリの第二の柱 OSS
15記事
IBM i アプリの第二の柱 OSS