![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发知识点
小飞猪猪猪猪猪猪猪
Henry Jiang
展开
-
SAP批导程序Demo
导语:分享一些常规的批导,其实批导程序就几个步骤。一、批导模板上传到SAP二、批导模板下载三、把EXCEL读到SAP中四、处理并展示EXCEL上载的数据五、执行导入并返回导入结果下面的示例按照以上四步进行逐一讲解,并在文章最后附带完成的批导模板框架一、批导模板上传到SAP 一个批导程序,最重要的核心就是上载模板到系统中了,以供每次把模板下载到本地填充数据。 之前有分享过上载批导模板的文章,链接👉【SAP SMW0上传模板】二、批导模板下载......原创 2022-04-13 17:00:58 · 1912 阅读 · 0 评论 -
SAP 解决一次性客户不能使用特别总账标识
导语:最近财务顾问提出一次性客户不能使用特别总账标识的问题,需要用增强跳过。原创 2023-01-06 13:25:37 · 1409 阅读 · 0 评论 -
SAP ABAP 小数转分数\约分
最近写报表的时候,顾问想把小数展示换城分数展示,例如0.75显示为3/4,哈哈哈哈,有点奇怪,实现起来还挺好玩的,要多考虑一些情况,封装了一个函数,下面贴一下代码。原创 2023-02-02 14:31:36 · 487 阅读 · 0 评论 -
ABAP创建动态内表
说明:最近业务顾问有很多的需求,其实都是一样的逻辑,就是处理的表不一样,就要写好多次程序,整合里一下他的一类需求之后,准备写一个动态的程序,这样写一个就可以实现了,动态的其实核心是动态的内表,简单的说一下动态内表的定义方式。1、根据数据库表定义动态内表这种定义比较直接,直接把数据库表的所有字段都放在动态内表中了,可能会有冗余,但是用起来比较好写。 DATA: dy_table TYPE REF TO data, dy_line TYPE REF TO data. D原创 2020-11-25 10:00:49 · 1550 阅读 · 0 评论 -
SAP SE80对象导航器乱码
导语:对于新装的系统可能因为一些配置问题导致SE80对象导航器里面的资源浏览器容易出现乱码(如下图),我们可以在**【Utilities–>Setting–>工作台(常规)–>资源库浏览器–>资源库浏览器输入】**,选择【基于浏览器的输入字段】一、资源库浏览器乱码二、解决办法三、解决后截图作者:小飞猪猪猪猪猪猪猪–CSDN......原创 2022-04-24 09:24:04 · 3173 阅读 · 0 评论 -
TYPELOAD_NEW_VERSION
导语:最近用户在CO11N生产报工和MIGO进行收货的时候都不能创建物料凭证,恰巧我最近写了一个生产报工的增强,就被说是我干的。ST22报错如图原因是其他开发在物料凭证的行项目表加索引导致的数据库表问题,为了避免影响,把索引先删掉,并用SE14调整并激活表。NOTES 2172127对此做了说明,可以查看一下。作者:小飞猪猪猪猪猪猪猪–CSDN注意:转发请注明作者...原创 2021-05-19 14:05:40 · 554 阅读 · 2 评论 -
SAP 自定义登录密码规则
导语:SAP在S4 2020以后默认的登录密码规则长度位10位,而且要包含大小写字母,每次登录都很麻烦,大小写转换,下面分享一下自定义登录密码的规则,我自定义为6位数字就可以。一、SU01创建安全策略事务码SU01,双击安全策略,进去自己创建一个密码规则的安全策略,可以自己的定义至少几位长度,等等,如下图所示。二、维护安全策略把刚才定义好的安全策略维护在这里,重置密码就可以只是用六位数字了。作者:小飞猪猪猪猪猪猪猪–CSDN......原创 2022-05-18 15:03:02 · 2531 阅读 · 3 评论 -
BDC/BAPI报错消息转换(函数)
导语:在用BDC或者BAPI的时候,RETURN的消息是个内表,每次都要拼接成消息号,比较麻烦,所以写一个通用函数记录一下。函数名称:字段描述属性函数名称ZFM_YH_SE91BDC/BAPI报错消息转换函数入参IS_MESSAGE_BDC邮件的主题选填IS_MESSAGE_BAPI附件名称选填函数出参MESSAGE返回消息函数代码FUNCTION zfm_yh_se91.*"--------------------------原创 2022-01-02 22:46:22 · 697 阅读 · 0 评论 -
VA05/VF04无法保存布局
VA05布局默认是不可以保存的,需要加一个参数:SD_VARIANT_MAINTAIN的值为A。作者:小飞猪猪猪猪猪猪猪–CSDN原创 2022-01-03 16:10:05 · 970 阅读 · 0 评论 -
SAP搜索帮助内部错误:表格格式
最近发现有些同事的SAP的标准搜索帮助有bug,会弹出内部错误,以为是SAP安装的问题,就不断的重新安装,打补丁。原创 2022-07-08 14:47:01 · 4232 阅读 · 1 评论 -
SAP转Oracle时间取数【函数】
说明:在工作中有一个需求是根据日期去oracle数据库中读取数据,但是Oracle的日期到SAP的内表中的格式有些奇怪,例如“2020-11-10”,会展示为“11-NOV-20”,所以我们要进行一下转换,才能在where条件中生效,这边写了一个函数来转换。FUNCTION z_oracle_date.*"----------------------------------------------------------------------*"*"本地接口:*" IMPORTING*"原创 2020-11-10 18:21:07 · 422 阅读 · 0 评论 -
SAP给前台界面字段加文本描述
说明:最近主数据的顾问提出了一个需求,MM43中的品牌字段,只能看见品牌编码,无法看见品牌描述,这样不够直观,为此做一个小增强,其实这个很简单,找到字段的位置,在屏幕上加一个【输入/输出字段】的控件,再写一段代码来赋值就好了,例如以下这样的效果。具体实现方法首先在前台界面通过【F1】定位到这个屏幕的【程序】和【屏幕编号】,然后找到只指定的屏幕添加一个控件,同时起一个名字。在屏幕对应代码中的【PROCESS BEFORE OUTPUT.】也就是PBO事件下,写一个Module,然后把代码写好就可以了原创 2020-11-13 10:52:26 · 802 阅读 · 0 评论 -
SAP负号前置转换【函数】
导语:SAP的负数有别于其它系统,SAP的负数实际储存符号是在后面的,例如【-5000】实际内表中的值会是【5000-】,所以在接口的传输给外围系统的时候需要事先先把负号转换一下,才可以传出,但是普通的判断会有BUG,亲测在内表字段值为【-0.02】的时候,判断小于零是失效的,sy-subrc会等于4,就不会进入我们的处理。所以这边写了一个函数,并且可以对一条数据的所有需要转换的字段进行一次性转换,【支持常规的数量和金额转换(小数点后两位或三位)】函数名称:ZFM_NEGATIV_PREFIX函数入参:原创 2020-11-18 17:18:04 · 1860 阅读 · 0 评论 -
SAP将小数转换为分数【函数】
函数名称:ZDECIMAL_TO_FRACTION函数入参:IV_DECIMAL函数出参:IV_FRACTION、IV_FRACTION_I函数源代码:DATA : lv_change TYPE char255. DATA : lv_int TYPE char255. DATA : lv_dec TYPE char255. DATA : lv_molecule TYPE char255. "分子 DATA : lv_denomi原创 2020-09-24 14:52:32 · 556 阅读 · 0 评论 -
SAP 批量下载表数据到EXCEL中
导语:最近有个需求,是需要一段时间把自定义表的数据拉出来,核对一下,涉及的表呢比较多,所以写了一个通用的批量程序,代码放在了最后,直接粘贴到系统就可以使用,拿走的小伙伴点个赞哈,后面会写一个改进版可以添加查询条件的。一、文件夹名称 系统会先根据文件夹名称创建一个文件夹在本地,然后将EXCEL写入文件夹二、表名称的输入 支持多个表名称,用“/”分割,最长200个字符三、使用展示四、代码*&--------------------------------------------原创 2022-03-29 11:59:57 · 2546 阅读 · 0 评论 -
ABAP 单表拆成主从表
导语:这个需求是根据上一个【SAP PO上传异步接口(PO从对方中间表读取数据)】衍生出来的一个附属的需求,把对面的主从表拼整合成单表的了,那么取过来之后就要拆开,其实就是一个嵌套的group by语法。取数逻辑:SELECT H.EBELN_Y,H.LINFR,H.EKGRP,H.UNSEZ,H.ZBZ,H.FLAG, I.EBELN_Y,I.EBELP_Y,I.MATNR,I.WERKS,I.MENGE_F,I.MENGE_D,I.LGORT FROM DANIANG.原创 2020-12-11 14:49:57 · 169 阅读 · 0 评论 -
SAP给微信推送消息
导语:最近领导下发指令,要求研究SAP与微信,企业微信,钉钉,邮件推送消息的平台,类似于采购订单审批之后,可以通过以上软件给用户发消息,我认领了微信的部分。原创 2022-12-30 10:26:38 · 1048 阅读 · 3 评论 -
解决SAP S4会计凭证不写入BSEG
导语:SAP升级到S4之后呢,有一些会计凭证就不再写入BSEG表了,而都是存在ACDOCA中,这对升级项目、财务替代和习惯于从BSEG取数的顾问,都造成的影响,可以通过替代的方式,让凭证继续往BSEG取。一、替代凭证状态通过OOBH把凭证的类型,替代为空,凭证行就会继续写进BSEG了。作者:小飞猪猪猪猪猪猪猪–CSDN...原创 2022-05-27 15:00:20 · 1887 阅读 · 0 评论 -
SAP 成本中心标准搜索帮助增强
导语:最近接到一个需求,关于KS03中,成本中心的搜索帮助增强,标准的搜索帮助过于死板了,用户希望在搜索帮助界面先过滤一次数据,只看未冻结的成本中心数据,下面分享一下实现过程。原创 2022-09-06 11:21:22 · 1200 阅读 · 0 评论 -
SmartForms取消Word编辑器 恢复文本编辑器
导语:在目前最新版本的 S/4 HANA 1909和2021版本中,SmartForms的文本编辑器改成了嵌套Word,而不是直接修改文本框的形式,这给很多电脑配置不是很高,或者Word兼容性有问题的开发带来了困难,下面说一下如何恢复到文本编辑器。恢复文本编辑器格式恢复需要做一个增强,增强位置为:类【CL_COS_UTILITIES 一> IS_S4H】在方法【IS_S4H】结束之前做一个增强,把【RV_IS_S4H】的值制空,代码如下 "解决smartforms弹出WORD编辑器,改为原创 2022-05-02 23:27:54 · 1911 阅读 · 3 评论 -
SAP ABAP 双击回应
导语:最近在做带自定义屏幕的功能开发,用户希望点击屏幕上的内容进行穿透。原创 2023-12-21 11:04:19 · 680 阅读 · 0 评论 -
SAP GUI登陆界面图片更换
SAP登陆界面的图片不太好看,换一个客户需要的图片上去。原创 2023-09-05 10:07:40 · 742 阅读 · 0 评论 -
SAP HTTP接口
导语:最近要做HTTP的接口,简单的看了一下,分享一下接口实现过程,常用的接口方法分为GET、POST。一般来说GET用作读取,POST用作数据交互。原创 2023-05-23 14:45:40 · 567 阅读 · 0 评论 -
SAP 正则表达式/标准函数 校验数字
导语:在开发过程中经常会出现对于数字类型的判断,SAP有两种方法可以判断数字,一种是正则表达式,一种是标准函数【MUNERIC_CHECK】,两者输出的结果并不完全一致。原创 2023-05-01 15:32:10 · 720 阅读 · 1 评论 -
SAP 自定义SQL编辑器
自定义SQL编辑器,可使用SAP ABAP的OPEN SQL语法进行编辑,快速出具简单报表,基本具备与SAP中DB02相似的功能。此资源其中有两个版本,一个版本是网上的代码资料,另一个版本是本人优化过后的,增加保存SQL变式,查询SQL变式功能,缺点在于暂不支持新语法,准备继续改进。原创 2023-02-02 13:12:51 · 1322 阅读 · 3 评论 -
SAP 获取内表字段名
导语:在程序开发中,使用一些动态的语法处理内表的时候,经常需要使用内表的字段名以完成【ASSIGN COMPONENT】.标准类:cl_abap_structdescr。原创 2022-12-15 11:16:19 · 704 阅读 · 0 评论 -
SAP 视图簇创建 多层视图创建
导语:最近的需求涉及到配置表的创建,还是多层配置表,要做成类似于BP配置的那种,一层一层的进入,查阅了一下资料,这种是基于视图簇实现的,下面说一下实现过程。原创 2022-11-16 16:30:29 · 1322 阅读 · 3 评论 -
BDC 弹窗录屏解决办法(ABUMN)
导语:最近在做一个资产价值转移的程序,没有找到合适的函数,就用了BDC,但是有个问题是,ABUMN这个事务码,第一次进入会弹窗让输入公司代码,第二次就不会了,会有参数ID的默认,这样没办法控制。原创 2022-11-02 14:43:23 · 1501 阅读 · 0 评论 -
SAP 获取本机信息(IP及电脑名称)
导语:最近在做日志的东西,需要记录用户的IP,以及电脑名称,找了一下,SAP有两个类可以实现。原创 2022-08-23 17:49:04 · 1205 阅读 · 0 评论 -
解决BAPI_MATERIAL_SAVEDATA增强字段不写入
导语:物料主数据批导是所有项目都避不开的需求,也会有一些客制化的增强字段,前面分享过MM01增强屏幕字段,增强字段的批导通过bapi增强结构,始终无法把值导进去,一度以为是SAP的BUG,每次都用UPDATE解决这个问题,但是其实是需要配置一些东西才可以,下面分享一下。一、OMSR中配置增强字段在OMSR中把MARA表里增强的字段进行维护,同时分配一个字段组,我这里分配的是208,208已经存在了,如果不存在可以根据标准的自己定义一个。二、分配字段属性维护好以后点击新增的字段进去,维护一下字段的维原创 2022-05-24 18:01:17 · 1662 阅读 · 0 评论 -
SAP SMW0上传模板
导语:做批导程序的时候少不了上传模板,最常用的就是通过SMW0上传模板到SAP,然后在程序中下载到本地来使用。事务码:SMW0一、选择二进制类型二、输入存放的包三、创建模板/覆盖现有模板如果是创建就点击新建,如果是覆盖现有模板就选中行,然后进行上载新的EXCEL覆盖现有的模板四、常见问题一般常规的模板都是EXCEL的形式进行存放,存放其他类型的模板或者初次存放EXCEL需要先定义MIME类型。作者:小飞猪猪猪猪猪猪猪–CSDN...原创 2022-04-12 16:41:33 · 1497 阅读 · 0 评论 -
SAP调用Webservice地址
导语:新版本的SAP系统,调用Webservice都集成在SOAMANAGER里了,下面讲一下实现过程。注意:一、首先要确保对方的Webservice地址是WSDL类型的,否则会有问题二、确保事务码SOAMANAGER好用。????【SOAMANAGER打不开浏览器解决办法】实现过程:一、SAP导入WSDL地址事务码:SE80,找到对应的包,创建企业服务,完事之后保存,激活即可。二、SOAMANGER配置逻辑端口SOAMANGER配置逻辑端口,可以点击上一张图的最后一步,直接原创 2021-12-30 16:48:50 · 2309 阅读 · 3 评论 -
SOAMANAGER 打不开浏览器
导语:最近做Wbeservices的配置,但是SOAMANAGER不弹出浏览器,总总是一闪而过,下面提供来那种解决办法方案一:找到soamanager对应的网址soamanager的原理其实就是掉一个webdynpro的网页,所以找到这个网页就可以了。执行事务码:SICF查找路径:/default_host/sap/bc/webdynpro/sap/appl_soap_management.找到以后右键测试服务,就可以打开网页了。方案二:DEBUG调试或增强找到类:CL_GUI_HTML_V原创 2021-12-07 17:17:06 · 2254 阅读 · 0 评论 -
ABAP 外币金额转人民币金额函数 CONVERT_TO_LOCAL_CURRENCY
导语:最近在做外币转人民币的报表,记录一下。转换函数【CONVERT_TO_LOCAL_CURRENCY】外币转人民币,或者人民币转外币,需要业务顾问提前在OB08中做好配置才可以,因为汇率是实时变化的,所以要定时维护。配置内容:函数使用:不知道为什么SE37测试这个函数不好用,但是程序中好用,可能是SAP版本问题吧。作者:小飞猪猪猪猪猪猪猪–CSDN...原创 2021-11-25 10:48:04 · 1687 阅读 · 1 评论 -
SAP 销售订单增加按钮 标准界面GUI状态增加按钮
导语:最近做一个给销售订单增加按钮的需求,我以为会很简单改改GUI状态就行了,但是这个GUI状态不让改,所以就很麻烦了,先看一下效果图,然后讲一下实现过程。效果图原创 2021-11-18 19:51:21 · 2644 阅读 · 0 评论 -
SAP 打开网页/打开浏览器/单点登录
导语:最近在做一个船务预付款平台,用户需要在SAP把数据传给OA之后,在OA挂附件,希望可以在SAP打开OA的网址,这样的话会很方便,经过沟通在接口中OA反馈给我一个ID,前面的网址不变,通过ID控制不同单据的页面,SAP这边通过cl_gui_frontend_services=>execute进行打开网页。代码: DATA : lv_url TYPE string. CALL METHOD cl_gui_frontend_services=>execute EXPORTIN原创 2021-11-09 15:17:50 · 1642 阅读 · 0 评论 -
SAP 导出EXCEL解决长数字串变成科学计数法问题
导语:前面再做EPIC_PROC增强导出EXCEL,【SAP EPIC_PROC增加按钮】,其中银行卡号特别长,导致导入到EXCEL使用科学计数法显示的,但是这样会导致数据不准确。错误样例:解决办法:通过SMW0上载一个EXCEL文件,这个文件里设置好所有的EXCEL格式,然后在程序中再调用函数进行下载,示例代码。 "使用标准程序内表 GT_GRID_DATA TYPE EPIC_T_ITEMS IF gt_grid_data IS INITIAL. MESSAGE '没有可以原创 2021-10-18 15:35:56 · 2489 阅读 · 0 评论 -
ABAP OLE下载到EXCEL
导语:最近有个需求是,把特定的值输出到EXCEL上,然后通过EXCEL再进行打印,EXCEL是有模板的,下面分享一下OLE打印到EXCEL的实现,先分享一下不需要EXCEL模板的例子,便于理解,文章最后再说一下如何使用上载好的模板进行打印。一、OLE新建EXCEL并将数据写入下面分享的内容是以采购订单的数据为例,直接把代码贴到程序中就可以使用,对于其中的细节,做了详细的注释,感兴趣可以自己debug一下。下面附带效果展示*&----------------------------------原创 2021-06-19 15:32:44 · 1348 阅读 · 0 评论 -
ABAP AES加密解密
导语:最近修改一个银企直连的接口,涉及到用AES对内容进行加密,首先进行需要用abapgit导入一个类,地址如下https://github.com/Sumu-Ning/AES,然后使用这个类里的方法实现加密。一、加密原创 2021-06-08 14:01:57 · 2219 阅读 · 10 评论 -
abap josn转换
导语:abap和josn转换,在abap中有两种方式,但是第二种转换出来的josn格式字段名没有双引号,我放到网页上也不能识别,所以不知道是干嘛的,但是也贴出来分享一下。方案一:/ui2/cl_json测试代码如下,可以直接放到自己的测试程序中,进行测试,通过测试结果可以看到,对于字段名,sap这里是不区分大小写的,字段名输出之后都是小写的,如果接收方有需求,在传出之前用REPLACE语法进行替换一下。DATA : gt_table TYPE TABLE OF makt.DATA : gw_tabl原创 2021-06-02 13:56:48 · 583 阅读 · 0 评论