Chat GPTを使ったABAPコーディング
1.はじめに
もはや少し今更な感じはするものの、Chat GPTを使ってソースコードを自動生成できるらしいということで、SAPのABAPというマイナーな言語でもどれぐらい自動生成できるのかや、現時点での活用方法がないかと少し検証してみました。
2. 利益センタの一覧出力プログラム
とりあえず、簡単そうなリスト出力系のプログラムを作成してみようと思い、超ざっくりと利益センタの一覧を出力するABAPプログラムの作成を依頼した結果が以下です。

そもそも利益センタのテーブルが間違ってます。正しくは「CEPC」なので、そのように修正を依頼すると次の結果が返ってきました。

ちゃんと修正してくれました!
次は選択画面で利益センタを指定できるようにしたかったので、そのように依頼した結果が以下です。

うーん、惜しい。ParametersとSelect-optionsとでなぜか2つパラメータがある。。。後者だけで良いのに。
また、ParametersやSelect-optionsで定義できるパラメータ("p_profit_center"や"s_profit_center"の部分)の最大桁数は9桁までで、それをオーバーしてるので構文エラーになるなど、あまりABAPの構文ルールはまだまだ詳しくないみたいです。
上記点などを修正してプログラムを実行すると、無事ALV出力することができました!
ということで、まだまだABAPのプログラムを丸々作成するというのは現時点だと厳しいなというのが正直な感想です。
私の依頼の仕方が悪いだけなのかもしれませんが。。。。
3. 部分的なABAPソースコード作成
プログラム全体を生成するのは難しいそうということで、例えば詳細設計書に記載しているSQLをコピペして、コードを自動生成するといった形で部分的にコーディング効率化ができるんじゃないかと思い、Chat GPTに次の依頼をしてみました。

めっちゃシンプルなSQLではあるけど、正しくSQLが書けてる!
これは現時点での有効なChat GPTの活用方法かもしれない。
もっと複雑なSQLも書けるのか試してみようかと思いましたが、時間がないので一旦検証はここまでにします。
4. まとめ
検証した内容をざっくりとまとめると、次の通り。
簡単なプログラムでもプログラム全体を作成するのは現時点では難しい
SQLの作成などプログラムの一部を生成してもらうという活用方法は使い方次第では有効かもしれない。
※詳細設計の情報などをChat GPTに載せることで情報が流出するといったリスクもなくはないと思うので、活用はすべて自己責任でお願いします。