本系列之前的文章:

  • 与其整天担心 AI 会取代程序员,不如先让 AI 帮助自己变得更强大

  • 每日一个 ChatGPT 使用小技巧系列之1 - 给出提纲或者素材,让 ChatGPT 帮你写作

正好昨天有朋友向我发起知乎咨询,询问关于 SAP ABAP BAPI bapi_vendor_create 的使用问题,本文就来说一说:

bapi_vendor_create 麻烦想问一下有没有利用这个bapi登陆供应商的实例。我看执行之后是一个前台的程序。可以让他也通过后台执行吗。

首先,我没有在工作中使用过 BAPI_VENDOR_CREATE,所以向 ChatGPT 了解了一下。ChatGPT 的回复如下,还需要相关从业人员进行正确性鉴别,比如说我。

第一段基本正确:

BAPI_VENDOR_CREATE 是一个 SAP ABAP 函数,用于在 SAP 系统中创建新的供应商(也称为供应商主数据记录)。BAPI 代表业务应用程序编程接口(Business Application Programming Interface),它是一种与 SAP 系统进行通信和交互的方法,以便在 SAP 系统中执行操作和获取数据。

下面这一段中标红色的部分就是在睁眼说瞎话了。

BAPI_VENDOR_CREATE 函数接收一组输入参数,例如供应商的名称、地址、联系方式等信息。函数会在 SAP 系统中创建一个新的供应商记录,并返回相应的输出,如供应商编号和任何可能的错误消息。这使得 SAP 系统可以与其他系统集成,以便在创建供应商时遵循统一的流程。

我们在 SE37 里打开这个 BAPI,发现其 Import 参数区域根本没有任何定义,何来“接收一组输入参数”之说?实际上,这些字段都需要用户在 BAPI 执行后弹出的 Dynpro 界面里手动填写。

我们把 SE37 里看到的 BAPI_VENDOR_CREATE 的源代码拷贝一份,然后在前面添上一段话:

给下面这个 ABAP 函数的每一行代码添加上中文注释,解释这一行干了什么事情。

如果某行代码已经具有英文或者德文注释了,直接将这些注释翻译成中文即可。

将源代码附在这段话的末尾,然后一齐发送给 ChatGPT.

ChatGPT 把每行代码加上中文注释后返回给我。在浏览器环境里这些 ABAP 代码没有语法高亮的支持,所以我把它们复制到了 Visual Studio Code 里便于阅读。

这个 BAPI 的实现主要分为两部分。第一部分的关键点如下图图例1和2所示,首先代码第 15 行,使用关键字 CALL TRANSACTION XK01, 启动事务码 XK01,呈现 Vendor 创建的 SAPGUI 界面。等用户完成 Vendor 创建所需的字段填写,保存创建结果。

如果执行过程中出现权限检查异常(CX_SY_AUTHORIZATION_ERROR), 则进入上图图例2所示的异常处理分支,调用函数 BALW_BAPIRETURN_GET1 构造显示给 BAPI 消费者的错误提示消息,然后填充到输出参数 return 中去。

BAPI 实现的第二部分,逻辑也不复杂,就是调用 GET PARAMETER ID 将创建好的 Vendor 信息,从 SAP Memory 里提取出来,填充到 BAPI exporting 参数中去。

GET PARAMETER ID 和 SET PARAMETER ID 这对关键字,分别对应 ABAP 服务器内 SAP Memory 区域数据的读取和设置,在我这篇 ABAP 教程文章里有详细介绍:

如果在阅读了注释之后,还是觉得理解这段代码有点困难,那么可以让 ChatGPT 把这个函数源代码实现的业务逻辑,用 200 字左右的篇幅概括出来。

给 ChatGPT 发出的指令:

用一段 200 字的篇幅,介绍下面这个 SAP ABAP Function Module 实现的业务逻辑是什么?

ChatGPT 的回复基本正确:

最后回到本文开头提到的知乎咨询的问题本身。

我的答复是:BAPI_VENDOR_CREATE 无法通过后台作业的方式运行,因为本文前面已经叙述过,这个 BAPI 是事务码 XK01 的包裹器,而 XK01 里的 Dynpro 界面是通过 CALL SCREEN 在 Dialog 工作进程里执行的,这些 Dynpro 界面在后台执行模式下的后台工作进程中根本不可用。

要在后台模式下完成创建 Vendor 的需求,只能采取其他方法,当然这是另外一个话题了。

本系列其他文章

  • 与其整天担心 AI 会取代程序员,不如先让 AI 帮助自己变得更强大

  • 每日一个 ChatGPT 使用小技巧系列之1 - 给出提纲或者素材,让 ChatGPT 帮你写作

每日一个 ChatGPT 使用小技巧系列之2 - 用 ChatGPT 研读 SAP ABAP BAPI 的实现源代码相关推荐

  1. excel 2007 vba与宏完全剖析_Excel宏VBA小技巧系列 | 分段加合

    写在前面的话  知识产权算是一个盛产数据的行业.专利啊商标啊著作啊,都有著录项目.我们常说的专利分析.产业导航.企业导航.产业预警.竞争情报.技术综述.知识产权评议等等,常规操作之一就要先处理著录项目 ...

  2. ❤️❤️❤️帮好朋友度过情人节,好友直说女友真好哄...每天一个脱单小技巧,赶快收藏起来吧❤️❤️❤️

    我用这个让兄弟女朋友死心塌地-每天一个脱单小技巧! 每天一个脱单小技巧,收藏起来吧: 我用这个让兄弟女朋友死心塌地...每天一个脱单小技巧! 一,好友求助:难对付的女友 二,锦囊相助:熬夜淦出新东西 ...

  3. 影视解说短视频怎么配音?只需一个简单的小技巧,配得又快又好

    影视解说短视频怎么配音?只需一个简单的小技巧,配得又快又好 很多做影视解说短视频的小伙伴们在做配音的时候都会遇到一个难题,那就是自己配音的话,很难把握节奏,而且需要花费的时间也比较长.毕竟我们自己配音 ...

  4. EXCEL常用小技巧系列01----排名

    EXCEL常用小技巧系列01----排名 在工作中,时常需要对数据进行各种方式的排名,以下总结几种常用的排名方式: 一:有相同数字时,显示同一排名且下一排名不连续 公式:=SUMPRODUCT((数据 ...

  5. 卧槽!微信可以改彩色昵称了!又get一个撩妹小技巧 ~~

    点击上方蓝字设为星标 每天一起成长! 今天给大家分享个超级好玩的微信小技巧,真可谓是装逼必备神器! 众所周知,在微信中,每个人的昵称都是黑色字体显示的,无论是字母还是文字,都被统一了颜色,有些小伙伴就 ...

  6. Angular页面调试一个有用的小技巧 - normalizeDebugBindingName和normalizeDebugBindingValue - [object Object]

    在开发模式下渲染出的Angular页面包含了很多形如下图ng-reflect-的html属性,很多时候其值都为[object Object]. 如果处于调试目的,需要在Chrome开发者工具里观察这些 ...

  7. 每天一个PS/PR小技巧(原理+实践)

    PS小技巧 PS是由Adobe Systems开发和发行的图像处理软件.本文的特色在于快速上手和制作一些生活中会常用的功能,并且解释这些功能的具体含义. 每天一个PS技巧(原理+实践)--制作熊猫人表 ...

  8. MFC小技巧系列——1、初始焦点设置

    我们在使用mfc编写windows界面应用程序时,启动mfc程序后,mfc会自动分配初始的控件焦点,有时候这些焦点被分配置到编辑框.列表框时,就会造成误操作,那么该如何避免这种情况呢,这就需要我们在程 ...

  9. 【ChatGPT 中文版小程序】无需注册体验 ChatGPT 的攻略

    本文导读 什么是ChatGPT? ChatGPT能做什么? 功能测试 如何解锁有趣功能? 我想部署同样的一个小程序,请问如何做? 什么是ChatGPT? 最近网上非常火爆的CHATGPT,它是Open ...

最新文章

  1. php收集radio表单,jQuery对于单选表单(radio)以及其它表单取值
  2. pyecharts a python_python 可视化 | pyecharts基本使用
  3. 刷道谷歌泄漏的面试题:面试官想从中考察你什么?
  4. 算法解读 ---- 递归(一)
  5. Points角点halcon算子,持续更新
  6. 关闭(杀死)8080端口
  7. Mysql: LBS实现查找附近的人 (两经纬度之间的距离)
  8. ddt python_python-ddt实践
  9. 有赞vant_vue+有赞vant的商品规格sku记录-小程序
  10. 装机防骗武器——鲁大师
  11. HDU2028 Lowest Common Multiple Plus【入门】
  12. VMware vSphere学习之手动克隆虚拟机
  13. ansys workbench 静力结构分析 高阶教程
  14. input type=file 选取文件路径时出现fakepath问题IE浏览器解决办法
  15. 计算机领域中的token的意思
  16. NDB Cluster基本操作
  17. Gerber 格式详解
  18. c语言 m文件是什么,M文件扩展名 - 什么是.m以及如何打开? - ReviverSoft
  19. 微信小程序--优购商城项目(8)
  20. OpenAI 最强对话模型 ChatGPT: 用户已破百万,落地将有几何

热门文章

  1. 认识PyQt、菜单栏、工具栏、状态栏
  2. 魔兽世界python脚本拍卖行_利用python脚本进行资产监测
  3. 苹果手机删除的照片怎么恢复?3种有效方法推荐
  4. restore和recover的区别
  5. c语言图片透明度混合,【PS CC 2018 学习连载 19】如何让图层与图层之间融合的更好?不透明度和混合模式详细讲解...
  6. html clear的作用,css中clear的作用是什么?
  7. 激励 名言 给奋斗在IT行业的人
  8. unity打包的apk无法三指截屏
  9. 计算机图片查看方式,Win10系统如何查看图片显示形式?查看的方法
  10. 美容院营销宣传单怎样派发才有效?