Pythonで4種類のデータ・ベース保守プログラムの生成/開発ができるようになりました。
_
昨年2024年9月にお知らせしましたように
PythonでDSPFを使って5250アプリケーションを
Wizard生成してIBM iのDB2/400データ・ベースの
追加/変更/削除ができるようになりました。
4種類の5250アプリケーション
(1)単票型5250
(2)最大表示型5250
(3)SFL一覧表型5250
(4)伝票型5250
...前回報告では5250アプリはデータ表示だけでしたが
今回の開発の完成でデータ・ベースを
Pythonプログラムで更新できるようになりました。
例えば伝票入力型式のアプリケーションは
[入力画面]
受注入力 モード . . : 変更 様式 . . . . : SFCTL01 ファイル . : @JUCHU5 受注№ 00001 受注区分 01 処理区分 02 担当者コード 0001 鈴木 得意先コード 0001 新日本興産 受注日 2018/07/27 納期 2018/08/31 № 商品コード 商品名 受注数 単価 受注金額 1 TH-29GF10 カラーTV画王BS29 1 220,001 220,001 2 NV-SX10 ビデオ画王 2 115,000 230,000 3 NV-F850 音声録画ビデオ 3 140,000 420,000 4 NV-HK1 歌えるビデオ 4 90,000 360,000 5 NV-BS30S 目次ビデオ 5 165,000 825,000 6 0 0 7 0 0 8 0 0 9 0 0 0 0 0 合計受注金額 763,001 F3= 終了 F12= 前画面 F23= 削除
この伝票型式のDSPFを使ってデータ・ベースを保守するための
Pythonソースはメイン・ルーチンだけを紹介しますと
Pythonメイン・ルーチン
def main(): # メイン・ルーチンの定義 while True: EXFMT('DSPHEAD') # 初期画面を表示 READ_() WRITE('DSPEND01') while True: if not EXFMT('SFCTL01'): # SFL コントロールレコードを表示 break if MID_CHECK() == False: continue while READC('SFREC01') != EOF: if DTL_CHECK() == False: break
[解説]
このようにわかりやすく簡単なものです。
■ Python にAS400エンジンを搭載
次期製品Python.400ではRPGプログラムが
DSPFやDB2/400データ・ベースを入出力しているのと
同じAPIを使ってPythonでも同じ入出力ができるようにした
「AS400エンジン」というサービス・プログラム(*SRVPGM)を
提供しています。
これによってPythonでRPGと同じ5250アプリケーションを
開発することができるようになりました。
■ 事業継続へのIT業界が抱える問題
今、IT業界はつぎのような問題に直面しています。
・人手不足、開発者不足、定年退職に伴う後継者問題
・RPG/COBOL開発者は募集しても集まらない。
・新入社員もRPGに対する抵抗感
_
■ オープン化で開発者不足を解決
オープン化できれば人手不足は解消できますが
今ある社内のソフトウェア資産を無駄にはできません。
長年かかって築いたソフトウェア資産を捨てるのではなく
少しずつオープン言語で開発して段階的なオープン化が
できれば理想的です。
_
■ PythonでIBM i のオープン化
それにはPythonが理想的です。
Pythonはオブジェクト指向なのでRPG/COBOL資産と
相互参照などの統合化ができます。
さらに、今、最も開発者人口が多いのはJavaではなく
Pythonです。
Python で IBM iを開発できれば人手不足も
解消して既存のソフトウェア資産も生かすことができます。
つまりオープン化とはIBM iを UNIXなどに替えることではなく
IBM iで今の資産を生かしつつ開発言語をオープン言語にすれば
良いのです。
_
(株)オフィスクアトロではIBMユーザーのお客さまの
将来動向のためにPythonによるIBM i開発を進めています。
続いてPythonによるWeb開発を進めています。
段階的なオープン化が将来に必要となります。
次期製品Python.400にぜひご注目ください。