小说《让AI ABAP飞》
- 内容介绍
- 文章标签
- 相关推荐
https://linux.do/t/topic/1926580
前情概要:作为一个励志输出有用的abap信息的一个abaper,看到这个帖子,实在是万般滋味涌上心头 可以说满纸荒唐言,一把辛酸泪 有感而发写下这篇帖用作回复【因为论坛没啥 abap加AI 我就抛砖引玉浅浅的发表一下我的看法】
不懂SAP也没关系 我当小说写你当乐子看
毕竟调教AI到红温本身不就是一件乐子吗悲!!/(ㄒoㄒ)/~~
在一个平平无奇的下午
旁白声:【枪一响】
业务大佬【不懂运维和开发以为翻译问题很简单的前提下】: 小林 我们要上‘海外’工厂但我们都是中午环境你去用英文登录SAP看到有中文的地方都翻译一下进度跟配置的一样 比较紧急 当然XXX财务报表(17表合一按成本中心的利润表也是个天坑 没有逻辑只有一句话我在xx事务码和xx报表看的东西你整合一下 不过暂且不表)也不能落下进度
旁白声:【就有人要死 人一死就要说心里话】
小林(我):【心里波动 我测之前那个17表合一的财务报表已是天下无敌 没想到还有高手 我这没有base运维 业务也不会se63翻译 也就是说我要把 自定义菜单 自定义事务码 自定义代码文本如zp01 没有英文描述 xp01就有 自定义屏幕文本 如XX选择 自定义数据元素 自定义文本 如文本表没有的语言描述 都翻译了 我只有se63 我不得死在这上面啊 但我的人设可是高级abap开发 公司SAP的顶梁柱 个人签名可是 没有我搞不出来的功能 只有不合理的业务需求和不支持的SAP系统 】 好的 我看看争取翻译和配置同步上线
我:即使前面道路曲折尽失方向 脚下的路泥泞不堪迷雾茫茫 我林天养【风天养】一生不弱于人看我拘灵遣将 出来吧Claude-Opus-4.6!!
旁白声:【我还有3句话讲】
我只有10美刀了只能问3个左右的关键问题得好好用
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验…
对话框输出ing:
代码第一版 …
如: SELECT domname ddtext
FROM dd01t
INTO TABLE DATA(lt_tgt)
FOR ALL ENTRIES IN gt_domains
WHERE domname = gt_domains-domname
AND ddlanguage = p_tlang
AND as4local = ‘A’. “这是bug通过不了编译 备注问题1
【怒气:0】【疑惑:10】【动作:敲击键盘】我:怎么有bug啊,算了我自己改改吧 token省着点用 就问个关键问题吧
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途… 勾选了数据元素参考切换语言依旧带不出描述 …
对话框输出ing:
代码第二版 … XXX
【怒气:1】【疑惑:10】【动作:敲击键盘】我:怎么听不懂啊,算了我自己改改提示词 token挺贵的
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途… 程序中Selection Text 已经成对应语言的描述 但是alv屏幕选择依然未翻译 如 s_matnr 选择了数据参考 text显示 Material 但是alv运行依然显示 s_matnr …
对话框输出ing:
分析原因ing~
【怒气:0】【疑惑:15】【动作:敲击键盘】我:有点道理我自测一下吧
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途… 原因是xxx… 给出完整代码
对话框输出ing:
代码第三版 …复现问题1
加 问题2
CALL FUNCTION ‘DDIF_TABL_GET’
EXPORTING
name = ls_fk_tmp-tabname
langu = sy-langu
include … “这是bug通过不了编译 备注问题2
【怒气:5】【疑惑:25】【动作:劈里啪啦敲代码 打击键盘】我:怎么tm还是这个bug,算了我自己改改提示词和程序 并加上源代码 虽然查看源码token挺贵的 但是要有用才行啊
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途…不能自定义和乱写变量,定义变量以及查找时要确认参考对象存在才能使用.查看附件并且完全理解后不修改主要功能… 原因是xxx…理解错更改程序的需求了,不是匹配是替换 ’INCLUDE‘ 因为INCLUDE 不包含所需要的结构,比如我程序不用 INCLUDE语句就无法进入查找,然而选择屏幕是type 和 FOR 命名 是有数据元素的,请更改程序 用 CP ‘TABLES *’. 去匹配结构… 给出完整代码…TXT · 40 kB
对话框输出ing:
代码第4版 … 明白了!需求是:扫描源码中的
TABLES声明,提取表/结构名 再通过 DD03L 查出字段对应的数据元素,用于解析FOR tabname-fieldname的引用。
【怒气:7】【疑惑:10】【动作:敲击键盘】我:终于按我的意思搞了 嗯嗯算了保存成功就行了 嗯? 不对咋改了底表 选了参考 程序屏幕还是没有英文 我测
DO 3 TIMES
…
小林查找问题 小林测试案例 小林找到原因
【怒气+1】【疲惫+10】【疑惑+20】
…
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途…不能自定义和乱写变量,定义变量以及查找时要确认参考对象存在才能使用.查看附件并且完全理解后不修改主要功能… 原因是我看到是长度问题查找的描述是 Posting Date 然而se38看text 只剩下Date 少了8位所以少于8位的描述直接不显示了… 给出完整代码…TXT · 40 kB
对话框输出ing:
代码第4版 … 明白了!你观察到的现象极其精准地指向了一个问题: “恰好差8位” —— 这不是巧合,这是 TEXTPOOL 结构中选择文本
ID = 'S'的 ENTRY 字段的底层存储格式决定的。 SAP 文本池中,当ID = 'S'(选择屏幕文本)时,ENTRY字段的存储格式不是纯描述文本,而是一个复合结构:…
【怒气:10】【疑惑:70】【疲惫:60】【动作:劈里啪啦猛击键盘】我: 我测你m的 你‘明白了!’个蛋啊 你现在倒是知道原因了 刚刚为什么不知道我要是知道官方底层数据存放还问你干嘛,我提示次都说了你会框架还得我找,我干!! 算了工作而已 还要加文本表描述翻译呢 能成功也不能说AI垃圾
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途…不能自定义和乱写变量,定义变量以及查找时要确认参考对象存在才能使用… 我的需求如下批量查询文本表,对照目标语言和源语言主键相同但缺少描述的条目展示到ALV,并且支持回写到文本表的目标语言,也支持数据元素的域缺少目标语言的维护,且alv按钮有EXCEL导出和导入目标语言描述功能,现在用户痛点问题如下屏幕输入我不知道是什么数据元素缺少的数据,不知道值表是什么,只知道事务代码,所以程序要支持事务码查找所用到的表元素进行去重,找到是域描述缺少对应语言描述或者是值表缺少语言描述来进行翻译。设计程序中所有的代码要基于SAP 环境 770 … 给出完整代码…
对话框输出ing:
问题1 问题2 问题3 太多了我简单描述一下 虚构函数功能 幻想表结构 胡乱编造语法【我环境不支持而且我指定了环境】
【怒气:1010】【疑惑:7010】【红温:10*10】【动作:肘击键盘 键盘 - 100 hp】我:我你**的你会开发吗 我加了这么多限定词 你给这一坨给我 …平复心情后手搓正确的语法 但是关键的函数不满足功能 虚构的字段影响整个代码 只能重新给我改完还有错误的代码重新让它改…
DO N TIMES
语音输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途…不能自定义和乱写变量,定义变量以及查找时要确认参考对象存在才能使用… 922报错 111报错 RS_CUA_INTERNAL_WRITE 的 tables 是 sta 没有 _tab后缀 Unknown column name “TEXTTAB” … 给出完整代码…
对话框输出ing:
问题n 一直绕不开 AI觉得一定有这个字段 对应文本表
ENDDO
【怒气:10^10】【疑惑:70^10】【红温:10^10】【动作:语音输入】我:谁他m的写 ‘ 文本表关系记录在 DD02L-TEXTTAB 字段中’ 不知道谁写的官方文档还有AI从什么犄角旮旯的博客别让我逮到你们了 我恨不得一拳给你们一起打死 我压根就没这个字段 禁止使用xx字段 xx函数 没有这个字段和功能
语音输入ing:
对话框输出:你已无剩余token
【怒气:∞】
【疑惑:∞】
【红温:UZI红温表情 猎杀时刻!】
【动作:一拳打爆这个世界啊啊啊】
故事完
怎么样是不是很有戏剧性 换成小说是很好的结尾 可惜这是生活我屈服了我完善了这个程序和代码
总结
回到原话题 AI对ABAP 来说简单的问题我自己找和它找没区别 难的问题我难搞定的它也难搞定 ABAP难的从来不是 逻辑转成果 而是逻辑转sap标准功能增强依旧文档 开发用对就很简单很快 还有 需求转逻辑 AI 就跟low了我自己转人工都听半天看半天代码 如果不是sap AI 对不了程序库 只能输入问题是真比不了高级顾问的需求转逻辑
简单来说 我那最猛的模型开发ABAP 就像我拿豆包开发JAVA项目一样 其中有多痛苦只有用的人懂
当然这只是我的看法 我的提示词肯定没有你们常用的完美 我的输出是不到位的 但结果是大同小异的 其他ABAP或者其他开发要是好用的AI使用建议也可以交流
感谢观看 没啥送的 就把我的心血送给有需要的人吧 [gui状态得自己建]
批量翻译程序文本工具.txt (42.6 KB)
自定义数据元素扩充翻译报表.txt (43.9 KB)
批量翻译表数据元素名.txt (21.5 KB)
以下是’参考文献‘
image1387×986 79.9 KB
image964×800 48.7 KB
image1449×1067 68.7 KB
image495×109 3.14 KB
image895×111 4.52 KB
--【壹】--:
找具体增强,具体bapi是可以的,他会帮你找官方文档,但是代码我是真不知道要加什么提示词他才能不瞎搞语法错了能改改,但是虚构函数和表字段真的难改
--【贰】--:
在abap面前的ai都是这样,特别喜欢编一些不存在的字段,但已经比一年前好很多了,起码大部分的函数在新版本的sap中都存在,不至于编出一个新版本都没有的函数,生成的代码有时改一下就能用。
--【叁】--:
我一般会说明sap版本和abap版本,不让它使用最新的语法和网上无法搜索到文档的函数,使用有来源的函数或对象。bapi和badi准确都是因为网上的资料比较全,但真让它按实际业务来写又会有问题,所以最好跟它说明清楚你要使用的参数和用途,这样才能降低出错的概率。
https://linux.do/t/topic/1926580
前情概要:作为一个励志输出有用的abap信息的一个abaper,看到这个帖子,实在是万般滋味涌上心头 可以说满纸荒唐言,一把辛酸泪 有感而发写下这篇帖用作回复【因为论坛没啥 abap加AI 我就抛砖引玉浅浅的发表一下我的看法】
不懂SAP也没关系 我当小说写你当乐子看
毕竟调教AI到红温本身不就是一件乐子吗悲!!/(ㄒoㄒ)/~~
在一个平平无奇的下午
旁白声:【枪一响】
业务大佬【不懂运维和开发以为翻译问题很简单的前提下】: 小林 我们要上‘海外’工厂但我们都是中午环境你去用英文登录SAP看到有中文的地方都翻译一下进度跟配置的一样 比较紧急 当然XXX财务报表(17表合一按成本中心的利润表也是个天坑 没有逻辑只有一句话我在xx事务码和xx报表看的东西你整合一下 不过暂且不表)也不能落下进度
旁白声:【就有人要死 人一死就要说心里话】
小林(我):【心里波动 我测之前那个17表合一的财务报表已是天下无敌 没想到还有高手 我这没有base运维 业务也不会se63翻译 也就是说我要把 自定义菜单 自定义事务码 自定义代码文本如zp01 没有英文描述 xp01就有 自定义屏幕文本 如XX选择 自定义数据元素 自定义文本 如文本表没有的语言描述 都翻译了 我只有se63 我不得死在这上面啊 但我的人设可是高级abap开发 公司SAP的顶梁柱 个人签名可是 没有我搞不出来的功能 只有不合理的业务需求和不支持的SAP系统 】 好的 我看看争取翻译和配置同步上线
我:即使前面道路曲折尽失方向 脚下的路泥泞不堪迷雾茫茫 我林天养【风天养】一生不弱于人看我拘灵遣将 出来吧Claude-Opus-4.6!!
旁白声:【我还有3句话讲】
我只有10美刀了只能问3个左右的关键问题得好好用
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验…
对话框输出ing:
代码第一版 …
如: SELECT domname ddtext
FROM dd01t
INTO TABLE DATA(lt_tgt)
FOR ALL ENTRIES IN gt_domains
WHERE domname = gt_domains-domname
AND ddlanguage = p_tlang
AND as4local = ‘A’. “这是bug通过不了编译 备注问题1
【怒气:0】【疑惑:10】【动作:敲击键盘】我:怎么有bug啊,算了我自己改改吧 token省着点用 就问个关键问题吧
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途… 勾选了数据元素参考切换语言依旧带不出描述 …
对话框输出ing:
代码第二版 … XXX
【怒气:1】【疑惑:10】【动作:敲击键盘】我:怎么听不懂啊,算了我自己改改提示词 token挺贵的
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途… 程序中Selection Text 已经成对应语言的描述 但是alv屏幕选择依然未翻译 如 s_matnr 选择了数据参考 text显示 Material 但是alv运行依然显示 s_matnr …
对话框输出ing:
分析原因ing~
【怒气:0】【疑惑:15】【动作:敲击键盘】我:有点道理我自测一下吧
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途… 原因是xxx… 给出完整代码
对话框输出ing:
代码第三版 …复现问题1
加 问题2
CALL FUNCTION ‘DDIF_TABL_GET’
EXPORTING
name = ls_fk_tmp-tabname
langu = sy-langu
include … “这是bug通过不了编译 备注问题2
【怒气:5】【疑惑:25】【动作:劈里啪啦敲代码 打击键盘】我:怎么tm还是这个bug,算了我自己改改提示词和程序 并加上源代码 虽然查看源码token挺贵的 但是要有用才行啊
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途…不能自定义和乱写变量,定义变量以及查找时要确认参考对象存在才能使用.查看附件并且完全理解后不修改主要功能… 原因是xxx…理解错更改程序的需求了,不是匹配是替换 ’INCLUDE‘ 因为INCLUDE 不包含所需要的结构,比如我程序不用 INCLUDE语句就无法进入查找,然而选择屏幕是type 和 FOR 命名 是有数据元素的,请更改程序 用 CP ‘TABLES *’. 去匹配结构… 给出完整代码…TXT · 40 kB
对话框输出ing:
代码第4版 … 明白了!需求是:扫描源码中的
TABLES声明,提取表/结构名 再通过 DD03L 查出字段对应的数据元素,用于解析FOR tabname-fieldname的引用。
【怒气:7】【疑惑:10】【动作:敲击键盘】我:终于按我的意思搞了 嗯嗯算了保存成功就行了 嗯? 不对咋改了底表 选了参考 程序屏幕还是没有英文 我测
DO 3 TIMES
…
小林查找问题 小林测试案例 小林找到原因
【怒气+1】【疲惫+10】【疑惑+20】
…
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途…不能自定义和乱写变量,定义变量以及查找时要确认参考对象存在才能使用.查看附件并且完全理解后不修改主要功能… 原因是我看到是长度问题查找的描述是 Posting Date 然而se38看text 只剩下Date 少了8位所以少于8位的描述直接不显示了… 给出完整代码…TXT · 40 kB
对话框输出ing:
代码第4版 … 明白了!你观察到的现象极其精准地指向了一个问题: “恰好差8位” —— 这不是巧合,这是 TEXTPOOL 结构中选择文本
ID = 'S'的 ENTRY 字段的底层存储格式决定的。 SAP 文本池中,当ID = 'S'(选择屏幕文本)时,ENTRY字段的存储格式不是纯描述文本,而是一个复合结构:…
【怒气:10】【疑惑:70】【疲惫:60】【动作:劈里啪啦猛击键盘】我: 我测你m的 你‘明白了!’个蛋啊 你现在倒是知道原因了 刚刚为什么不知道我要是知道官方底层数据存放还问你干嘛,我提示次都说了你会框架还得我找,我干!! 算了工作而已 还要加文本表描述翻译呢 能成功也不能说AI垃圾
对话框输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途…不能自定义和乱写变量,定义变量以及查找时要确认参考对象存在才能使用… 我的需求如下批量查询文本表,对照目标语言和源语言主键相同但缺少描述的条目展示到ALV,并且支持回写到文本表的目标语言,也支持数据元素的域缺少目标语言的维护,且alv按钮有EXCEL导出和导入目标语言描述功能,现在用户痛点问题如下屏幕输入我不知道是什么数据元素缺少的数据,不知道值表是什么,只知道事务代码,所以程序要支持事务码查找所用到的表元素进行去重,找到是域描述缺少对应语言描述或者是值表缺少语言描述来进行翻译。设计程序中所有的代码要基于SAP 环境 770 … 给出完整代码…
对话框输出ing:
问题1 问题2 问题3 太多了我简单描述一下 虚构函数功能 幻想表结构 胡乱编造语法【我环境不支持而且我指定了环境】
【怒气:1010】【疑惑:7010】【红温:10*10】【动作:肘击键盘 键盘 - 100 hp】我:我你**的你会开发吗 我加了这么多限定词 你给这一坨给我 …平复心情后手搓正确的语法 但是关键的函数不满足功能 虚构的字段影响整个代码 只能重新给我改完还有错误的代码重新让它改…
DO N TIMES
语音输入ing:
你是一个高级的SAP开发和basis顾问并且有丰富的SAP底层框架经验… 代码通过才能修改完全测试和理解程序用途…不能自定义和乱写变量,定义变量以及查找时要确认参考对象存在才能使用… 922报错 111报错 RS_CUA_INTERNAL_WRITE 的 tables 是 sta 没有 _tab后缀 Unknown column name “TEXTTAB” … 给出完整代码…
对话框输出ing:
问题n 一直绕不开 AI觉得一定有这个字段 对应文本表
ENDDO
【怒气:10^10】【疑惑:70^10】【红温:10^10】【动作:语音输入】我:谁他m的写 ‘ 文本表关系记录在 DD02L-TEXTTAB 字段中’ 不知道谁写的官方文档还有AI从什么犄角旮旯的博客别让我逮到你们了 我恨不得一拳给你们一起打死 我压根就没这个字段 禁止使用xx字段 xx函数 没有这个字段和功能
语音输入ing:
对话框输出:你已无剩余token
【怒气:∞】
【疑惑:∞】
【红温:UZI红温表情 猎杀时刻!】
【动作:一拳打爆这个世界啊啊啊】
故事完
怎么样是不是很有戏剧性 换成小说是很好的结尾 可惜这是生活我屈服了我完善了这个程序和代码
总结
回到原话题 AI对ABAP 来说简单的问题我自己找和它找没区别 难的问题我难搞定的它也难搞定 ABAP难的从来不是 逻辑转成果 而是逻辑转sap标准功能增强依旧文档 开发用对就很简单很快 还有 需求转逻辑 AI 就跟low了我自己转人工都听半天看半天代码 如果不是sap AI 对不了程序库 只能输入问题是真比不了高级顾问的需求转逻辑
简单来说 我那最猛的模型开发ABAP 就像我拿豆包开发JAVA项目一样 其中有多痛苦只有用的人懂
当然这只是我的看法 我的提示词肯定没有你们常用的完美 我的输出是不到位的 但结果是大同小异的 其他ABAP或者其他开发要是好用的AI使用建议也可以交流
感谢观看 没啥送的 就把我的心血送给有需要的人吧 [gui状态得自己建]
批量翻译程序文本工具.txt (42.6 KB)
自定义数据元素扩充翻译报表.txt (43.9 KB)
批量翻译表数据元素名.txt (21.5 KB)
以下是’参考文献‘
image1387×986 79.9 KB
image964×800 48.7 KB
image1449×1067 68.7 KB
image495×109 3.14 KB
image895×111 4.52 KB
--【壹】--:
找具体增强,具体bapi是可以的,他会帮你找官方文档,但是代码我是真不知道要加什么提示词他才能不瞎搞语法错了能改改,但是虚构函数和表字段真的难改
--【贰】--:
在abap面前的ai都是这样,特别喜欢编一些不存在的字段,但已经比一年前好很多了,起码大部分的函数在新版本的sap中都存在,不至于编出一个新版本都没有的函数,生成的代码有时改一下就能用。
--【叁】--:
我一般会说明sap版本和abap版本,不让它使用最新的语法和网上无法搜索到文档的函数,使用有来源的函数或对象。bapi和badi准确都是因为网上的资料比较全,但真让它按实际业务来写又会有问题,所以最好跟它说明清楚你要使用的参数和用途,这样才能降低出错的概率。

