ChatGPTに続いてGoogleもBardというチャットAI、生成系AIを出してきたというわけで
前回、GhatGPTへABAP Codeを生成してもらった時と同じ質問文をGoogle Bardへ投げかけてみました。
質問①
受注伝票から販売価格を取得するためのABAPプログラムサンプルを書いてください
Bard回答①
はい、喜んで。
report z_get_sales_price.
data:
i_sales_order_id type so_order_id.
o_sales_price type so_price.
select-single sales_price into o_sales_price
from so_order
where order_id = i_sales_order_id.
if sy-subrc <> 0.
message 'Sales order not found.' type 'E'.
endif.
endreport.
このプログラムは、受注伝票IDを指定して、販売価格を取得します。販売価格は、SO_ORDERテーブルのSALES_PRICEカラムから取得します。販売伝票が見つからない場合、エラーメッセージを出力します。
感想①
それらしいプログラムコードを生成してきましたが、取得テーブルが受注系テーブルではない謎のテーブルIDから取得してきました。
質問②
画面の検索項目で受注伝票を複数指定できて、受注伝票明細の伝票番号、明細番号、プラント、保管場所、出荷ポイント、受注数量を一覧表示するABAPプログラムサンプルを書いてください
Bard回答②
はい、わかりました。画面の検索項目で受注伝票を複数指定できて、受注伝票明細の伝票番号、明細番号、プラント、保管場所、出荷ポイント、受注数量を一覧表示するABAPプログラムサンプルは次のとおりです。
REPORT ZABAP_ORDER_DETAIL.
*&---------------------------------------------------------------------*
*& Report ZABAP_ORDER_DETAIL
*&
*& This report lists the order details for the specified order numbers.
*&
*&---------------------------------------------------------------------*
* Declare variables.
DATA: ls_order_number TYPE sord-numb.
DATA: ls_detail_number TYPE sord-pos.
DATA: ls_plant TYPE sloc-plant.
DATA: ls_storage TYPE sloc-loc.
DATA: ls_shipment_point TYPE sloc-ship.
DATA: ls_order_quantity TYPE snum.
* Get the order numbers from the screen.
SELECT-SCREEN 100.
SELECT order_number INTO ls_order_number
FROM sord
WHERE order_number IN ('10000001', '10000002').
* Loop over the order numbers and get the details.
LOOP AT ls_order_number INTO ls_order_number.
* Get the order detail.
SELECT detail_number, plant, storage, shipment_point, order_quantity
INTO ls_detail_number, ls_plant, ls_storage, ls_shipment_point, ls_order_quantity
FROM sord_detail
WHERE order_number = ls_order_number.
* Display the order detail.
WRITE:/ ls_order_number, ' ', ls_detail_number, ' ', ls_plant, ' ',
ls_storage, ' ', ls_shipment_point, ' ', ls_order_quantity.
ENDLOOP.
* End of report.
END-OF-SELECTION.
このプログラムを実行すると、画面に指定した受注伝票の受注伝票明細が一覧表示されます
感想②またも、それらしいコードを返してきましたが、根本的にABAPの文法を理解はしていないようです。
・受注のテーブルIDが違う
・画面の入力項目が設定できていない
・テーブル取得後、内部テーブルへ値を挿入できていない
前回のChatGPTと比較すると、ChatGPTのProgramming能力はGoogle Bardよりも相当高いように思います。
天下のGoogle社でもAI開発は難しいんだなと感じました。というか、Googleの頭脳が
他の場所に流れているだけかもしれませんが。