2023 Feb 08 9:31 AM
Hi everyone,
As a moderator in the SAP Community I am seeing an increased interest for ChatGPT from many community members, and how this tool could be used in our daily work in the future.
I am hoping we can get a lively discussion going here 🙂
Please feel free to share your take on ChatGPT, possible specific SAP-related use cases, non-SAP use cases, ChatGPT capabilities, or any other ChatGPT/AI chatbots related information that you would like to discuss with peers in the Community.
2023 Feb 08 10:55 AM
Yesterday I was searching for a particular out of the box SAP Fiori app. I couldn't locate it in the SAP Fiori library. But ChatGPT tells me it exists. I'm going to check that it really exists.
So perhaps a first use case is for the SAP Community user to ask their question, ChatGPT to provide an answer and ask the community member "does this solve your problem" and if not, go ahead and have the community user post their question.
2023 Feb 08 1:24 PM
2023 Feb 08 1:53 PM
2023 Feb 15 9:37 AM
Hello everyone,
Since Dec 2022 when ChatGPT was released for public to tryout, global tech industry is going gaga. Many have come up with apps, supposed built on top of the engine's API.
I have been exploring to see its capability to understand complex queries and offer solution and am simply amazed. I am sharing a few results, specifically related to SAP PO and CPI.
1) XSLT mapping – to remove namespace prefix in SAP PI
2) HMAC (SHA-256) authentication from SAP PI – using UDF
3) Call bash program to do base64 encoding from SFTP adapter OS command option
4) Groovy script for xml validation against the schema
5) Guidance on high-level design for complex requirement
The first impression for most of us might be scary to think whether machines are going to take away human jobs. It took a while for me to comprehend & reflect on the implications of a tool like think.
However, in my opinion, with the aid of AI tools like ChatGPT, we will all become more productive. The way of work itself will be transformed in a way that we can focus on more innovative, frontier expanding stuff, than on mundane activities.
2023 Mar 30 10:49 AM
I tried to use it in order to have prototypes of some developments I have to design. I found useful but not perfect for specific situations. For exmaple I had to propose one solution to change purchase orders in order to force the creation of an output message on it. I was planning to get some code that would call one FM BAPI for example and I´d be able to validate it via SE37. It gave me the code on BAPI but with really bad example of parameters so I could not do it.
DATA: lt_itemdata TYPE STANDARD TABLE OF bapimepoitem,
lt_return TYPE STANDARD TABLE OF bapiret2,
ls_itemdata TYPE bapimepoitem,
ls_headerdata TYPE bapimepoheader,
ls_return TYPE bapiret2,
lt_poitemx TYPE STANDARD TABLE OF bapimepoitemx,
lt_poheaderx TYPE STANDARD TABLE OF bapimepoheaderx.
ls_headerdata-ebeln = <purchase_order_number>.
"get PO output type
DATA: lv_nast TYPE nast-kschl.
SELECT SINGLE kschl INTO lv_nast FROM nast WHERE objky = ls_headerdata-ebeln AND objtype = 'BUS2012'.
ls_headerdata-bspma = lv_nast.
ls_itemdata-po_item = <item_number>.
ls_itemdata-bspme = lv_nast.
APPEND ls_itemdata TO lt_itemdata.
ls_return-type = 'E'.
ls_itemdata-po_item = <item_number>.
APPEND ls_itemdata TO lt_itemdata.
ls_return-type = 'E'.
APPEND ls_return TO lt_return.
APPEND ls_return TO lt_return.
"Add new output
DATA: lt_outputparams TYPE STANDARD TABLE OF bapiparex.
ls_headerdata-bspma = <new_output_type>.
APPEND ls_headerdata TO lt_outputparams.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = ls_headerdata
testrun = ' '
TABLES
return = lt_return
poitem = lt_itemdata
poitemx = lt_poitemx
poheaderx = lt_poheaderx
outputparams = lt_outputparams. "add new output
IF sy-subrc <> 0.
"handle error
ELSE.
"successful update
ENDIF.
The same thing happened to code for sumbit job, The job is created with missing pieces and does nothing on SM37.
DATA: jobname TYPE tbtcjob-jobname,
jobcount TYPE tbtcjob-jobcount,
jobdata TYPE tbtcjob-jobdata.
CLEAR jobname.
CLEAR jobdata.
jobname = 'MY_JOB_NAME'.
jobdata-report = 'RSNAST00'.
jobdata-username = sy-uname.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = jobname
jobcount = jobcount
IMPORTING
jobcount = jobcount
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
jobcount_missing = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'JOB_SUBMIT'
EXPORTING
jobname = jobname
report = jobdata-report
username = jobdata-username
EXCEPTIONS
invalid_job_data = 1
job_notex = 2
job_sched_noauth = 3
job_submit_failed = 4
job_not_authorized = 5
prog_notex = 6
prog_offline = 7
variant_notex = 8
variant_locked = 9
server_not_allowed = 10
OTHERS = 11.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = jobcount
jobname = jobname
strtimmed = 'X'.
Those were my impressions so far.
2023 Apr 28 10:43 AM
OpenAI is pretty advanced with thei GPT-4 language model and trying to keep up could be an expensive strategy with the risk that we could never reach their level.
But the NLP community is very active, there are several open-source language models which can be used commercially:
- RedPajama
- GPT4All-J
- StableLM
- Dolly 2.0
They are pretty new, therefore not at the same quality as the OpenAI products, but are growing and in a few months they could already be able to keep up with GPT-3.5 (ChatGPT).
Utilizing these open-source models and training them on SAP documentation could give us a competitive advantage with a high-quality SAP-optimized Chatbots without spending a lot of resources on creating a chatbot from scratch.