- 博客(76)
- 收藏
- 关注
原创 SAP ABAP ALV 如何让字符串类型按照自定义规则排序
这两天被问到一个需求,ALV上有一个字符串类型的状态值字段,假如值是A,B,C,D,E,按照标准排序逻辑,这个排序规则是没办法改变的,升序肯定就是ABCDE,倒叙肯定就是EDCBA,但是用户说我就想点排序后,给我按照BDCAE的顺序进行排序,有没有办法,有,通过转换例程实现。
2025-03-27 16:07:13
834
2
原创 ABAP Cloud Developer Trial 2022 SP01 Docker安装教程
介绍SAP S4HANA2022 SP01使用环境的Docker镜像安装过程;之前老早就看到有1909版本的试用环境可以下载,但之前的笔记本配置不够就一直没装,近期换了新电脑,也刚好需要一个HANA2022环境去做测试,就装了一下这个试用环境,借此机会记录下Windows环境下安装全过程,建议不要直接安装,先浏览完所有官方文档及评论区再开始安装。
2024-12-18 23:48:50
1278
原创 SAP ABAP任意表数据查询+快速下载工具
项目上业务顾问有时候需要下载标准表大量的数据到Excel进行一些比对,但是标准SE16N,SE16的下载电子表格功能在遇到大批量数据的时候会非常慢,于是抽空写了个通用的查询下载工具,可以快速的查询及下载数据。
2024-09-06 11:32:48
1324
原创 SAP ABAP自建表变更履历记录(动态更新)
平台开发时,需要记录对自建表某些字段的变更履历,即写入CDHDR/CDPOS,正常方式是SCDO创建变更对象,然后调用自动生成的类方法完成记录写入,只是每次都需要自己写逻辑去获取对应的X结构(最新数据)和Y结构(历史数据),不想每次都写这段代码,故封装了一个动态方法,每次直接调用即可。后续要记录其他自建表时,只需要将。更新传M,删除传D即可。替换为生成的类名即可,
2024-08-16 15:43:57
1006
2
原创 SAP ABAP批量翻译工具(手工翻译+自动翻译+请求传输)
在海外项目开发中,因为涉及多语言,翻译是很常见的一个需求,往往我们需要手工去翻译大量的自建表,数据元素,域,域值,结构,等等一系列开发对象,这个过程很无聊也很费时,SAP又没有提供批量翻译的入口,只能在各自的开发界面,或者SE63去针对单个对象挨个翻译,所以懒惰促使我不得不开发一个批量翻译的工具,可以在统一入口来批量维护。
2024-08-16 15:40:17
1943
17
原创 SAP ABAP自建表通用批导函数(动态下载模板,动态上传数据)
使用OLE基于输入表名动态下载模板,配合批导函数自动完成内外码转换,可以完成常见的任意自建表批导功能。
2024-08-09 11:41:50
820
2
原创 SAP ABAP上传XLSX至任意内表(非标准函数)
在做自建表批量导入工具时做的一个函数,没有使用常见的TEXT_CONVERT_XLS_TO_SAP和ALSM_EXCEL_TO_INTERNAL_TABLE,当然以上两个函数都可以满足需求,但都有一些小问题。其实上面大部分的问题都是可以copy出来修修改改解决掉的,只是看需要投入多少而已,前两年调查一个问题的时候发现了一个工具类也可以处理EXCEL导入,并且可以规避掉上面绝大部分问题,目前看来唯一的缺点就是效率跟TEXT_CONVERT_XLS_TO_SAP差不多,有点慢,就当是记录一种不同的解决方式吧。
2024-08-09 11:27:03
902
原创 SAP ABAP调用BAPI时COMMIT WORK AND WAIT未按照预期同步提交问题分析
在做ABAP开发时,经常会有连续调用BAPI的需求,比如先创建销售订单,再依据销售订单创建交货单,再对交货单进行过账等类似的一连串调用,这种类似的场景往往需要前一步操作的数据完全写入数据库才能进行一下个东西,但是数据写入底表是需要时间的,如果一些业务数据比较复杂,往往再调用下一个BAPI时会因为数据尚未写入底表而导致BAPI报出单据不存在等类似的错误消息,这时候不同经验水平的开发者会有不同的处理方式,比如WAIT UP TO XXX SECONDS之类的操作,但并不推荐这么去做,因为往往会浪费一些不必要的时
2024-07-12 17:30:19
2994
原创 SAP各代增强介绍与查找,这一篇就够了
之前培训时总结的内容,应该算是比较全面的了,本文章目的在于让ABAPer掌握如何靠自己查找SAP系统中的增强,不依靠一些第三方查找程序或者谷歌,毕竟掌握方法才是最重要的。
2024-07-12 11:56:30
3684
原创 SAP 报工BAPI中的 UPDATA TASK 和 BACKGROUND TASK
通过debug报工BAPI,了解 update task 和 background task 的执行原理和过程
2024-07-04 14:55:50
2030
1
原创 VL31N BAPI:GN_DELIVERY_CREATE创建内向交货单同时批次拆分
翻到之前写的测试代码,记录一下,用于创建DN的同时就进行批次拆分,不需要再调用变更的BAPI再去修改一次。
2024-07-01 18:01:43
766
原创 ABAP隐藏选择屏幕F8执行按钮的两种方式
在选择屏幕上画PUSHBUTTON的时候,通常不需要左上角的执行按钮,所以需要隐藏掉,两种方式可以实现,都需要在INITIALZATION或者AT SELECTION-SCREEN OUTPUT事件中完成。
2024-06-27 09:52:37
546
原创 SAP CO11N BAPI_PRODORDCONF_CREATE_TT连续报工异步更新导致COGI解决方案
解决BAPI_PRODORDCONF_CREATE_TT异步提交导致COGI的问题(异步提交,账号锁定,COGI,自动收货)
2024-06-26 17:07:50
2040
原创 SAP MIGO 050 BADI:字段 GOITEM-XXXXX 未准备好输出
MIGO过账时候需要根据某些条件更改某些字段的值,当要改的字段在前台不显示时,通过MB_MIGO_BADI~LINE_MODIFY去更改时,则会出现以下报错:MIGO050
2024-06-19 18:20:20
824
原创 ABAP调用JavaScript进行幂乘运算
ECC版本没有内置的ipow运算函数,所以需要进行幂乘运算的话,可以采用调用JavaScript的方式来实现,参考代码如下:
2024-06-12 16:51:38
417
原创 SAP 中的Incoterms国际贸易条款术语解释
国际贸易条款,之前写代码建交货单的时候总是会遇到这个字段,通常我们可能会填FOB或者CIF或者其他,但并不清楚这些都是什么意思,偶然间看到一篇帖子对此作了解释,也记录分享一下。
2024-06-12 15:55:12
2427
原创 SAP 使用BAPI更改会计凭证分配字段ZUONR不生效解决方案
使用BAPI变更财务凭证上的ZUONR分配字段,正常情况下使用BAPI:FI_DOCUMENT_CHANGE或者FI_ITEMS_MASS_CHANGE都是可以进行变更的,但是项目上要变更的科目类型是KZ,导致这两个BAPI都没办法进行更改,故对此BAPI进行增强处理。以上,即可按照正常方式调用FI_DOCUMENT_CHANGE进行字段变更。2.在DOCUMENT_CHANGE这个form中添加如下逻辑即可;
2024-06-12 15:18:26
789
原创 SAP CO01创建BAPI增强 COXT_BAPI_ORDER_CREATE
生产订单BAPI:COXT_BAPI_ORDER_CREATE不包含EXTENSIONIN参数,考虑到事务提交一致性,故对此BAPI进行增强,使其支持增强字段的更新。1.对传入参数IS_HEADER进行扩张。
2024-06-12 14:53:04
524
原创 SAP ABAP进行生产订单取消TECO
但是这个方式会有一些问题,用这种方式取消后你会发现,虽然抬头上的状态已经取消TECO,但是工序上的TECO仍然还在,会导致无法对工序进行报工,同时组件上的删除标记也不会被取消,就意味着预留被删除,取消后,需求没有回来,没法参与MRP,也无法计划内投料,所以最好的方式还是进行录屏来实现该需求,虽然我个人很不喜欢录屏,但准确至上。至于判定是否已经TECO,项目上的PP顾问给了个简单的检查办法,就是读取AUFK-IDAT2字段,有值就代表已经TECO,就不用去JEST去取了。(客户电脑不能复制代码出来,我恨)
2024-06-12 14:33:01
1113
3
原创 SAP CS01/CS02/CS03 BOM创建维护删除BAPI使用及增强改造
BOM创建维护删除相关BAPI的使用代码参考示例,客户电脑只能远程桌面,代码没法复制粘贴出来,只能贴图。创建及修改BAPI: CSAP_MAT_BOM_MAINTAIN。:拷贝出来,改其中一个参数即可,否则删除重新创建时会报错。删除BAPI: CSAP_MAT_BOM_DELETE。
2024-06-12 14:06:23
1153
原创 生产订单工序新增BAPI:CO_SE_PRODORD_OPR_CREATE外协加工字段增强
创建生产订单工序时需要通过BAPI来维护外协加工页签上这圈起来的字段,但是BAPI不包含这些字段,所以对BAPI进行一些增强处理。1.拷贝标准BAPI:CO_SE_PRODORD_OPR_CREATE至ZCO_SE_PRODORD_OPR_CREATE(最好放在新的自定义函数组)。2.追加增强结构至工序创建结构(为避免以后函数支持这些字段,故此处以ZZ开头)。3.传入参数mapping到标准结构的处理在这个form中,所以创建自己的逻辑来检查mapping即可。以上,即可通过BAPI来写入自己想更新的字段。
2024-05-27 17:31:28
677
原创 ABAP添加VF02输出类型并重新触发IDOC出站
通过ABAP为单据添加输出类型,并重新触发流程,本例为VF02添加新的输出,并通过调用VF31重新触发IDOC送信。
2024-03-28 14:25:31
837
原创 SAP CDS+AMDP获取订单状态文本(替代函数STATUS_TEXT_EDIT)
通过CDS+AMDP实现替代函数STATUS_TEXT_EDIT,来实现可以批量查询所有订单状态的效果。
2024-01-24 16:18:17
1800
3
原创 SAP ABAP ZPL打印
本文用于简单介绍在SAP中使用ZPL语言进行打印的开发步骤,由于对ZPL语言并不是很熟悉,所以ZPL相关的部分并不会很深入,主要介绍在SAP端如何动态填充ZPL内容及预览、打印。ZPL是斑马条码打印机工业型号用的编程语言。利用这些编程语言,编辑好一个打印的指令集,发送给条码打印机,条码打印机就会把ZPL所绘制的标签打印出来。
2024-01-03 16:36:42
2311
原创 SAP SE16H的使用方式介绍
本文用于介绍SE16H的使用方式,之前看到过SAP论坛上的一些帖子,写的内容根本就不对,所以自己测试了下SE16H的一些常用功能,整理一下,方便查阅使用。
2023-12-27 16:51:49
3285
原创 SAP通过不写代码的方式实现批量下载长文本
SAP的长文本是不能直接通过底表查询导出的,需要借助函数或者代码来进行转换,SAP也没有提供长文本相关的报表及程序(也可能我不知道),如果需要批量下载长文本,通常情况下是需要ABAPer协助来写代码实现的,这里介绍一种不需要写代码的方式。下图圈起来的四个参数也就是确定唯一长文本内容的key值,全部输入*则是查询所有长文本内容,这里下载所有PO抬头长文本,则只需要输入OBJECT为EKKO即可。
2023-12-27 12:14:58
935
原创 SAP WS_DELIVERY_UPDATE2更细库存地点LGORT及过账
WS_DELIVERY_UPDATE2正常情况无法更改LGORT,但是有标准的BADI可以进行变更,这样DN变更和过账可以使用一个BAPI来完成。方法:IF_EX_LE_SHP_DELIVERY_UPDATE~UPDATE_ITEM。增强点:LE_SHP_DELIVERY_UPDATE。
2023-12-22 17:00:12
1411
原创 SAP CA01/CA02 创建及更新工艺路线BAPI
最常用的BAPI只支持创建,没有对应的CHANGE BAPI,或者有的不支持创建,只支持更改,刚好项目上的需求是既需要创建,也需要变更,所以简单测试了下CPCC_S_TASK_LIST_MAINTAIN该如何传参来支持创建及更新。
2023-12-06 18:32:08
4651
18
原创 SAP SM30及ABAP维护ADRC中央地址主数据(BAS)
项目组员在创建SM30的时候,发现了下图的报错,原因是因为自建表中的地址编号ADRNR字段使用的标准的数据元素AD_ADDRNUM,当使用包含该数据元素的视图在SM30进行维护时,就会出现下面的报错。主要测试逻辑为:当地址号为空时,点击按钮会进行创建,创建完成后将地址号反写回屏幕,再次点击按钮时,如果地址号有值,则以显示模式或者更改模式呼出弹窗。点击这个按钮,即可进行地址主数据信息的维护,并将信息更新回ADRC表中,不过ADRNR字段是会被标准逻辑隐藏起来的。:传入地址编号,进行数据库提交保存。
2023-11-28 11:22:50
2444
SAP各代增强介绍与查找
2023-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人