サポート情報

Pythonで5250アプリでデータ・ベース更新

掲載日:2025/05/26

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にぜひご注目ください。

― 新しい技術はいつもオフィスクアトロから ―