AIを教育してDSPFソースを設計させることに
成功した。
AIにあるデータ・ベースのDDSソースを示して
そのデータ・ベースを保守するための
DSPFソースを生成させる実験である。
AIにいきなりマスターファイル保守のための
DSPFソースを作れと指示しても
かなり文法的な間違いをして
それらを訂正するのに時間がかかる。
例えば
・コメントの開始位置を1桁目から始めてしまう。
・文字フィールドであるのに小数= 0を記述してしまう。
・数字フィールドのタイプに S を記述してしまう。
( DSPFのDDSでは数字フィールドのタイプは
Y しか記述することはできない。)
・大幅に出力の記述位置がずれてしまう。
・固定情報の記述にVALUEキー・ワードを使う。
(固定情報はDFTキー・ワードを使うのが正しいが
実際にはほとんど使わない)
というような人間ではやらないような間違いを
たくさんするのでどこから直していいのやら
わからないほどたくさんの間違った記述を行う。
そこで
①AIが間違いそうなミスをやらないように
最初に注意を重ねておく。
②正しいDSPFソースのモデルを示して与える。
ことによって最初から文法ミスのないDSPFソースを
AIは生成することができる。
ただし模範とするモデルのDSPFソースもある一定の
書き方をしておかないとAIはそれを見逃して
しまうことがある。
これらに注意してAIにDSPFソースを生成させることに
成功した。
以下はAIが自動生成したDSPFソースであり
一切人手による修正は加えていない。
A DSPSIZ(27 132 *DS4 24 80 *DS3)
A *DS3 MSGLOC(24)
A *DS4 MSGLOC(27)
A PRINT
A HELP
A HLPSCHIDX(*LIBL/QHPW1)
A ALTHELP(CA01)
A HLPTITLE(' 商品マスター入力画面 ')
A HLPPNLGRP('DFU/DESL/GEN' QHDZDF1)
A R DSPHEAD TEXT(' 初期画面レコード ')
A CHANGE(01)
A CF03(03 ' 終了 ')
A CF05(05 ' 再表示 ')
A CF06(06 ' 様式の選択 ')
A CF09(09 ' 挿入 ')
A CF10(10 ' 入力 ')
A CF11(11 ' 変更 ')
A ROLLUP(07 ' ROLLUP')
A ROLLDOWN(08 'ROLLDWN')
A 1 2' 商品マスターの登録 '
A* 表示モード記述
A 1 49' モード . . :'
A DSPMOD 14A O 1 66
A 2 2' 様式 . . . . :'
A RECORD 10A O 2 21
A 2 49' ファイル . :'
A FILE 10A O 2 66
A* キー・フィールド記述
A 4 2' 商品コード :'
A SHCODE 10A B 4 16
A 43 DSPATR(RI)
A CHECK(FE)
A 12 14' 必要な項目を入力して,実行キーを +
A 押してください。 ' COLOR(BLU)
A* 機能キーの記述
A 22 2'F3= 終了 ' COLOR(BLU)
A 22 26'F5= 最新表示 ' COLOR(BLU)
A 22 51'F9= 挿入 ' COLOR(BLU)
A 22 71'F10= 入力 ' COLOR(BLU)
A 23 2'F11= 変更 ' COLOR(BLU)
A R DSPDTA01 TEXT(' 明細画面レコード 01')
A CHANGE(01)
A CF03(03 ' 終了 ')
A CF05(05 ' 再表示 ')
A CF09(09 ' 挿入 ')
A CF10(10 ' 入力 ')
A CF11(11 ' 変更 ')
A CF12(12 ' 前画面 ')
A CF23(23 ' 削除 ')
A ROLLUP(07 ' ROLLUP')
A ROLLDOWN(08 'ROLLDWN')
A SETOF(99)
A 1 2' 商品マスターの登録 '
A* 表示モード記述
A 1 49' モード . . :'
A DSPMOD 14A O 1 66
A 2 2' 様式 . . . . :'
A RECORD 10A O 2 21
A 2 49' ファイル . :'
A FILE 10A O 2 66
A* フィールド記述
A 4 2' 商品コード :'
A SHCODE 10A B 4 16
A 43 DSPATR(RI)
A DSPATR(PR)
A 32 DSPATR(UL)
A CHECK(FE)
A 5 2' 商品名 :'
A SHNAME 24A B 5 16
A 43 DSPATR(RI)
A 30 DSPATR(PR)
A N30 DSPATR(UL)
A CHECK(FE)
A 6 2' 単価 :'
A SHTANK 7S 0B 6 16
A 43 DSPATR(RI)
A CHECK(FE)
A 7 2' 品種コード :'
A SHSCOD 4A B 7 16
A 43 DSPATR(RI)
A CHECK(FE)
A* 機能キーの記述
A 22 2'F3= 終了 ' COLOR(BLU)
A 22 26'F5= 最新表示 ' COLOR(BLU)
A 22 51'F9= 挿入 ' COLOR(BLU)
A 22 71'F10= 入力 ' COLOR(BLU)
A 23 2'F11= 変更 ' COLOR(BLU)
A 23 26'F23= 削除 ' COLOR(BLU)
A 23 51'F12= 前画面 ' COLOR(BLU)
A R ENDOPT TEXT(' 終了画面 ')
A CSRLOC(LIN POS)
A 1 33' データ入力の終了 ' DSPATR(HI)
A 3 4' 処理されたレコード数 '
A 30 DSPATR(ND)
A 5 6' 追加 . . . . . :'
A 30 DSPATR(ND)
A ADDRCD 5Y 0O 5 35EDTCDE(1)
A 30 DSPATR(ND)
A 6 6' 変更 . . . . . :'
A 30 DSPATR(ND)
A CHGRCD 5Y 0O 6 35EDTCDE(1)
A 30 DSPATR(ND)
A 7 6' 削除 . . . . . :'
A 30 DSPATR(ND)
A DLTRCD 5Y 0O 7 35EDTCDE(1)
A 30 DSPATR(ND)
A 12 2' 選択項目を打鍵して,実行キーを押 +
A してください。 ' COLOR(BLU)
A 14 5' データ入力の終了 . . . . . .'
A ANS 1A B 14 39VALUES('Y' 'N')
A 14 53'Y=YES, N=NO'
A 23 2'F3= 終了 ' COLOR(BLU)
A 23 15'F12= 前画面 ' COLOR(BLU)
A LIN 3S 0H
A POS 3S 0H
[解説]
このようにお手本とする社内のDSPFソースを示してやれば
AIはほぼそのとおりのソースを生成してくれる。
これまでの生成ツールは正確無比に指示して
好むと好まざる生成ツールのテンプレートに従ったソースしか
生成することはできなかった。
しかしAIによる生成なら社内でこれまで使用してきたソースを
お手本としてこのとおりに作れと言うことができる。
実は現在、RPGの生成も実験しているが
AIはILE-RPG, RPG/400または RPG IIIでも生成できると豪語している。
社内でいつまでもRPG IIIがかわりやすいと固執している会社では
いいかも知れない。
社内のRPGの書き方は先輩諸氏から受け継いだもので
いろいろ個性的なソースがあるはずだが
社内ルールを継承している書き方のソースが生成されるのは
非常にわかりやすいのではないだろうか?
定年退職に伴う人手不足や若手の育成問題もあるが
AIの導入はこれらの問題をスムースに解決してくれる。
既存のソフトウェア資産の解説や問題点の定義なども
AIがあれば瞬時に解決する。
年初で宣言したように2026年はAI元年の年であり
IBM ソフトウェア製品もAIアシストのない製品は
考えられない。
これらのAIによるソースの生成は技術ショート・セミナーで
紹介を予定している。
