- 博客(65)
- 收藏
- 关注
原创 2022.05.14 【ABAP随笔】-SAP后台server读取Excel方案的想法
读取Excel方案的研究我之前在文章(Excel批量导入)中提到过使用CL_XLSX_DOCUMENT来处理excel,此时EXCEL文件被当作多个xml文件来出了,速度和效率上有了很大的提升。 但是需要使用cl_ehfnd_xlsx这个类来得到EXCEL的单元格的值,发现很多客户还在使用ERP ECC6.0 ON HANA 的架构,所以系统里面没有这个类。 我们可以看到这个类是属于该S4的...
2022-05-14 13:51:00
1089
原创 2021.09.10 【ABAP随笔】-BTP-简单的iflow调用OP的OData服务
CPI简单调用OP本地OData服务接着上次从SAP API Hub上参考创建的OData 服务:OData -SAP OP 中使用SAP API Hub的API今天玩一下如何在BTP平台上来调用这个OData服务首先我们进入到BTP平台-Integration suite点击它,进去,我们选择第一个页签,进行集成设计和开发点击右边设计按钮,如果没有包得话需要点击右上方按钮创建一个...
2021-09-11 00:02:00
705
原创 2021.09.08 【ABAP随笔】-批量处理 - Excel导入模板1.1-支持多Sheet页
个人Excel上载模板(兼容多个Sheet)之前的excel模板使用了很久,但是最近老是遇到多个sheet页面上传的需求,所以自己整理了一个上传多个sheet页excel上载模板,各位客官可以选择性食用(Ctrl+C&V)1. 首先,我们需要在Report程序中添加一个类型TY_SHEETNAME_INFO 参考类型为ZCL_TAB_DOC=>TT_SHEETNAME_INFO...
2021-09-08 15:06:00
1178
原创 2021.09.06 【ABAP随笔】- OData - 在SAP S4 OP 中使用SAP API Hub 的API
在SAP S4 OP 中使用SAP API Hub 的API首先我们打开SAP API Hub - SAP API Business Hub(api.sap.com),点击APIs选择OData V2,在右侧搜索框输入Purchase order(如果需要其他的API请自行修改)选择第一个API 点击,在Overview界面选择EDMX 下载下来在S4 OP 端SEGW事务...
2021-09-06 08:44:00
427
原创 2021.08.26 【ABAP随笔】- OO ALV开发模版 (震惊,输出一个OO ALV只需要几行代码,瞎扯)...
OO ALV 模版部分代码参考了SAP孙亮(公众号:ABAPer-LL)一创建ALV前的所需操作1. 取数据这里我们随便取数据1 SELECT * FROM sflight INTO TABLE @DATA(gt_sflight)2 UP TO 20 ROWS.2. 创建屏幕注意,我们这里使用的是行列200/255 最大值同时设置容器CONTAINER自动调节 最少...
2021-08-26 00:56:00
915
原创 2021.07.11 【ABAP随笔】采购订单Message输出打印
Title采购订单Message输出打印很多业务中需要在完成订单的时候来进行单据打印的输出操作,比如新建采购订单的时候,需要输出采购订单的PDF或者使用邮件功能来将采购订单发送给制定人员SAP 有标准MESSAGE输出的配置功能-TCODE NACE下面我们就根据采购订单保存时生成一个message smartforms 来说明一下一Nace配置设置输出类型从NEU复制一...
2021-07-12 00:01:00
2138
原创 2021.02.09 【ABAP随笔】-Excel高效输出工具-xlsx workbench-输出多个Sheet
一数据准备今天说一下如何使用XLSX Workbench输出多个Sheet我们根据上一篇文章所用得数据SFLIGHT(航班信息),我们再引入两张table(SCARR,SPFLI)作为Sheet2 Shee3得输出表首先我们在前面取数部分取出航线和航班计划数据二Function ZXLWB_CALLFORM使用结构1.在这一部分,我们先创建一个通用的附带header和it...
2021-02-09 13:58:00
982
原创 2021.02.07 【ABAP随笔】-Excel高效输出工具-xlsx workbench
一介绍说明前段时间做财务报表项目,由于用户集团下面公司众多,每个月看财务管控的报表需要看几十张客制化的报表,而且是在一个excel文件中,相当于一个公司一个sheet页,而且excel的样式需要根据客户的需求进行不同的定制。之前用户在一家公司下使用excel导出是采用SMW0模板+OLE输出到excel单元格的方式,下载一张财务报表需要几分钟,现在需要扩展到全集团,下...
2021-02-07 19:57:00
2580
2
原创 2020.08.11 【ABAP随笔】-ITS Mobile 配置
1.创建一个函数组-ZITS_MOBILE主屏幕-9100事务码:ZITS_MOBILE注意:勾上 SAP GUI FOR HTML2.SE80在包中创建ITS服务(1)右键点击包—》创建—》其他(1)—》Internet 服务(2)将对应的屏幕发布成HTML模板:选中要发布的屏幕-9100,点击右键-》附加功能-》创建HTML模板,选择参数如图:...
2020-08-11 00:47:00
1553
原创 2020.05.07 【ABAP随笔】- ABAP-SM30删除前检查
之前发表过一篇关于SM30增强的文章【ABAP随笔】SM30常见增强操作-自动带描述,今天算是一点补充:使用EVENT来实现删除前的检查方法1-增加事件-EVENTTCODE: SE54 输入视图名称,然后点击环境->事件添加序号为03的条目,写入包含检查代码的例程名称保存后,点击编辑器,编写代码说明:对于下面的代码主要有几点说明:EXTRACT-MARK字...
2020-05-06 23:34:00
1490
原创 2020.05.06 【ABAP随笔】- ABAP工具类-CL_OBJECT_COLLECTION
本文参考Jerry Wang的程序学习了使用abap来实现java中ArrayList的功能,参考文章SAP ABAP里存在Java List这种集合工具类么?CL_OBJECT_COLLECTION了解一下代码代码我是写在了本地,以便更容易看懂REPORTztest_polymorphism."定义接口INTERFACEzif_shape.METHODSget_...
2020-05-06 22:40:00
336
原创 2020.04.01 【ABAP随笔】- ABAP面试分享
ABAP面试经验(回忆)最近受疫情影响,项目比较少,大家有的降薪有个裁员,日子都不太好过,幸好我的项目还没有结束,所以还在做项目。最近参加面试的小伙伴比较多,我回忆去年我在面试四大的时候,3轮面试的大概过程。 一HR面试HR小姐姐的面试一般来说比较简单,大致就是问你工资期望,英语水平,项目经历等大概做一个自我介绍就好了,在这一块主要看看你这个人基本面是否符合招聘的需求,没有啥问...
2020-04-10 16:46:00
2627
1
原创 2020.04.10 【ABAP随笔】- ABAP面试分享
ABAP面试经验(回忆)最近受疫情影响,项目比较少,大家有的降薪有个裁员,日子都不太好过,幸好我的项目还没有结束,所以还在做项目。最近参加面试的小伙伴比较多,我回忆去年我在面试四大的时候,3轮面试的大概过程。 一HR面试HR小姐姐的面试一般来说比较简单,大致就是问你工资期望,英语水平,项目经历等大概做一个自我介绍就好了,在这一块主要看看你这个人基本面是否符合招聘的需求,没有啥问...
2020-04-10 16:46:00
419
原创 2020.04.01 【ABAP随笔】- 通过api获取新冠数据
今天是个娱乐的节日,学点新东西,如下:突发奇想想要使用abap去获取个网站上公布的api,然后显示一下就当最近学习NEPTUNE的小练习吧百度一下获取疫情的网站API,也可以自己去tianapi申请,METHOD init. url = 'http://api.tianapi.com/txapi/ncovabroad/index?key=**************...
2020-04-01 22:00:00
639
原创 2020.03.29 【ABAP随笔】- BUPT-BP客户界面保存时增加校验事件(DCHCK)
前面的部分链接为:BP客户增强-详细BP客户增强说明该部分介绍在BP客户界面保存时增加一个校验事件 DCHCK首先我们对于前面的增强做一个限制:1.BP界面合作商类型字段为10,20,30时,才能维护合作商,99或为空时不允许维护;否则报错”当前合作商类型不允许维护合作商LIST”2.BP界面合作商类型有值且不为99或空时,可以维护合作商LIST,合作商类型需要和BP界面的合...
2020-03-29 21:35:00
1486
原创 2020.03.08 【ABAP随笔】- 简单ALV报表(模板)
今天写一个简单的ALV报表吧,仅显示的那种,这是前两天刚入门的ABAP小伙伴的小考题,需求是这样的:需求描述:1.选择屏幕为:勾选时,才显示销售凭证的选项2.展示订单,行项目,订单类型,物料号等信息的ALV展示3.单击销售订单跳转到VA03查询页面4.当订单数目小于10时,用红色标注代码如下:*&--------------------------...
2020-03-08 01:07:00
435
原创 2020.03.04 【ABAP随笔】- Excel批量导出7-CL_XLSX_DOCUMENT 导出
今天写一下CL_XLSX_DOCUMENT个人觉得这个比较好用。导出代码如下:SELECT * INTO CORRESPONDING FIELDS OF TABLE @lt_zmmt001 FROM zmmt001. IF sy-subrc EQ 0 AND p_file IS NOT INITIAL . lv_filename = p_f...
2020-03-04 10:00:00
1337
2
原创 2020.03.03 【ABAP随笔】- Excel批量导出6-OLE客制导出
今天简单说一下使用OLE的方法来输出自己想要的EXCEL。结果:部分代码如下:FORM frm_export_excel_2 . DATA ls_destination TYPE rlgrap-filename. DATA ls_filename TYPE string.* 写入数据 SELECT * FROM zmmt001 INTO...
2020-03-03 00:24:00
446
原创 2020.03.01 【ABAP随笔】- Excel批量导出-SAP_CONVERT_TO_XLS_FORMAT
今天写一下SAP_CONVERT_TO_XLS_FORMAT 批量导出excel的函数部分功能代码如下:FORM frm_export_excel_1 . DATA li_filename TYPE rlgrap-filename. DATA ls_filename TYPE string. li_filename = p_file. ls_filename =...
2020-03-01 22:01:00
2220
原创 2020.02.28 【ABAP随笔】- SAP查找增强点小记
1. SE30 运行时间分析评估,找到EXIT_*开头的函数-可以查到CMOD增强点然后去MODSAP表中查找:我们可以在SE30中运行MM02,随便输入一个物料,稍微改点东西,然后保存退出,得到运行时间分析报表:得到 function :EXIT_SAPLMGMU_001然后SE16N中MODSAP查询:然后这个增强就是MM01 MM02在创建物料时额外增强...
2020-02-29 01:45:00
745
原创 2020.02.28 【ABAP随笔】- EXCEL批导程式3 - CL_EHFND_XLSX类 比较好用快速准确
怎么找到这个类的呢,是因为Wang Jerry 的一篇文章。感谢sap研究院大佬让我更透彻的了解了一下XLSX其实就是多个XML文件组合成的。文章链接如下,请大家自行关注查看:https://mp.weixin.qq.com/s/29v98Z4mgFboZjBTLsiWbw关键 DATA error_text TYPE string. lv_filenam...
2020-02-27 23:25:00
723
原创 2020.02.27 【ABAP随笔】- EXCEL批导程式2 - 突破9999行的束缚
废话不多说,直接执行:关键是使用了OLE的方法,使用粘贴板的功能从excel中每次复制自己规定的数据量,从而突破了9999行。FORM frm_get_excel_2 . data lv_filename TYPE string. lv_filename = p_file. CALL METHOD zcl_document_jxzhu=>upd...
2020-02-27 00:08:00
379
原创 2020.02.26 【ABAP随笔】- EXCEL批导程式1
今天就只是复习下excel最简单得导入程式. 其他功能请后续关注。 *节选部分代码TYPES:BEGIN OF ty_zmmt001, matnr TYPE zmmt001-matnr, id TYPE zmmt001-id, f1 TYPE zmmt001-f1, f2 TYPE zmmt001-...
2020-02-26 00:32:00
340
原创 2020.02.24 【ABAP随笔】- EXCEL常见操作笔记 1
EXCEL常见操作笔记 11. Excel模板下载TCODE:SMW0创建excel模板(其他模板也可以)我们选择二进制数据选择在哪个包里面创建模板点击创建:备注:如果出现以下错误( 无分配给对象 c:\ 的 MINE类型)则需要进行以下操作:保存。这样就可以成功创建了。在report程序中代码:TABLES:sscrfi...
2020-02-25 00:14:00
263
原创 2020.02.15 【ABAP随笔】- 物料主数据增强 - table control
大家新年好,这个新年格外的不一样。在家远程办公的我忙着项目上的事,加上过年就一直忘记写博客了。今天做了一个物料主数据的增强功能先看下效果图吧:MM02的基础数据2页签下面的增强table control1. 创建自定义表 ZMMT001用于存放物料主数据增强页面的数据2. SPRO--后勤-常规--物料主数据 -- 配置物料主记录 -- ...
2020-02-15 11:38:00
714
原创 2020.01.14 【ABAP随笔】-程序优化笔记
ABAP程序优化笔记昨天做了一个别人的程序优化,取数逻辑上基本都改了。做这个程序优化真是痛并快乐着,首先拿到一个程序,不完全不知道逻辑,那么首先得看懂它的逻辑,然后想办法去优化。趁着这次机会,写一下ABAP的优化吧。总的来说,对于S4 HANA 数据库执行要优于应用层的执行,但是我们需要减少数据库和应用层的交互次数。1.尽量明确自己要取得字段,1 *优化之前2 SELECT ...
2020-01-14 23:56:00
376
原创 2020.01.11 【ABAP随笔】获取标准报表数据(MB52)数据进行客制ALV
获取标准报表数据(MB52)数据进行客制ALV之前有一个需求,客户使用的单位大多为采购单位,但是MB52中是物料主数据中的基本单位,所以需要对MB52进行处理。相比于增强来说,使用submit去获取MB52的数据,然后在自己的报表中再去展示更好一点,也更加灵活。这里不仅仅限于MB52还有任何其他ALV报表都可以使用这个方法来做到客制的目的。关键的代码是: 1 DATA lw_m...
2020-01-11 17:20:00
2278
原创 2020.01.11 【ABAP随笔】SM30常见增强操作-自动带描述等
1. 自动带出描述类型(更新回数据库)我们使用的是在SM30中自动带出销售订单类型的描述首先我们创建一张表和一个维护视图(维护视图的好处就是可以方便增加字段),维护视图中维护标记为R标识字段不可输入然后需求就是根据填入的销售订单号,去TVAKT中抓取描述,给context字段我们根据维护视图创建表维护生成器:函数组名称为ZVJXZHU_FG_01接着进入...
2020-01-11 01:39:00
3479
原创 2020.01.10 【ABAP随笔】ALV上的下拉框
ALV下拉框如图在ALV下拉框内做了1到5 的选择下拉框,下面一起来看下如何实施1.在GT_DATA中增加一个字段来用于下拉框的使用:TYPES:BEGINOFty_data, checkboxTYPEc, matnrTYPEmara-matnr, mtartTYPEmara...
2020-01-10 00:17:00
814
原创 2020.01.09 【ABAP随笔】-常用debug操作
ABAP debug1. 调试按钮:F5单帧执行,点击F5程序将逐行执行,代码中包含子程序或者函数,将会转入该函数中单帧执行F6只在当前程序中单帧执行,遇到子程序或者函数会跳过F7一次性执行完当前代码所在过程,如在子函数会跳到上一层函数,如在主程序,则会直接结束F8直接执行,(仅再次遇到断点会停下)...
2020-01-09 14:16:00
456
原创 2019.12.27 【ABAP随笔】7.40新语法 - CORRESPONDING
今天学习一下新语法 CORRESPONDING效果和move-corresponding 类似"1.… CORRESPONDING type( [BASE ( base )] struct|itab [mapping] )TYPES:BEGIN OF ty_data1, field1 TYPE i, field2 TYPE i, EN...
2019-12-27 16:14:00
1915
原创 2019.12.24 【ABAP随笔】smartforms 打印及PDF转化
冬至已过,又临平安夜和圣诞,又是一年的末尾,闲暇时间需要静下心来温故而知新。许久未碰打印,知识于脑子又有几分糊涂,遂整理些许知识,记录。数据随便取于物料表 1 report Z_smartforms 2 3 TABLES:mara. 4 5 TYPES:BEGIN OF ty_data, 6 checkbox TYPE c, 7 ...
2019-12-24 10:26:00
738
原创 2019.12.05【ABAP随笔】 分组循环(LOOP AT Group) / REDUCE
ABAP 7.40新语法 LOOP AT Group 和 REDUCE 1 *LOOP AT itab result [cond] GROUP BY key ( key1 = dobj1 key2 = dobj2 … 2 * [gs = GROUP SIZE] [gi = GROUP INDEX] ) 3 * [ASCENDING|DESCENDING [AS...
2019-12-05 15:42:00
2696
原创 2019.12.04 ADT on eclipse 配置篇
今天看JerryWang的简书博客https://www.jianshu.com/p/74ad8e4bbc49 ,SAP GUI 和ADT是互为补充的关系,有很多SAP新出的技术都没有办法在GUI上开发。所以准备涉及一下名声很大的eclipse1.安装JDK, JRE下载JDK的地址,根据自己的系统选择安装https://www.oracle.com/technetwork/ja...
2019-12-04 13:27:00
141
原创 2019.11.29 SAP SMTP郵件服務器配置 發送端 QQ郵箱
今天群裏的小夥伴問了如何配置郵件的問題,隨自己在sap裏面配置了一個1. RZ10配置參數a) 参数配置前,先导入激活版本执行完毕后返回b) 输入参数文件DEFAULT,点击修改c) 查看是否存在下面2条参数配置is/SMTP/virt_host_0值:*:25;icm/server_port_...
2019-11-29 14:21:00
3148
原创 2019.11.18【每天学点SAP小知识】Day4 - ABAP 7.40新语法 FOR
"今天学习一下FOR的语法,常用的2个语法。FOR wa|<fs> IN itab [INDEX INTO idx] [cond]"FOR i = … [THEN expr] UNTIL|WHILE log_expDATA gs_mara TYPE mara.SELECT * FROM mara INTO TABLE @DATA(gt_mara) UP TO 10 R...
2019-11-18 11:31:00
561
原创 2019.11.10【每天学点SAP小知识】Day3 - ABAP 7.40新语法 值转化和值赋值
1.语法为 CONV dTYPE|#(...)\# 代表任意类型"7.40之前表达式 DATA text TYPE c LENGTH 255.DATA helper TYPE string.DATA xstr TYPE xstring.helper = text.xstr = cl_abap_codepage=>convert_to( source = h...
2019-11-10 16:44:00
450
原创 【每天学点SAP小知识】Day2 - ABAP 7.40新语法 - 内表
今天学习一下内表的表达式在ABAP 7.4之后的语法:SELECT*FROMmaraINTOTABLE@DATA(gt_mara)UPTO10ROWS.DATAgt_mara_sortTYPESORTEDTABLEOFmaraWITHUNIQUEKEYprimary_keyCOMPONENTSmatnr."旧语法DATA LV_MA...
2019-11-07 23:31:00
788
原创 2019.11.07【每天学点SAP小知识】Day2 - ABAP 7.40新语法 - 内表
今天学习一下内表的表达式在ABAP 7.4之后的语法:SELECT*FROMmaraINTOTABLE@DATA(gt_mara)UPTO10ROWS.DATAgt_mara_sortTYPESORTEDTABLEOFmaraWITHUNIQUEKEYprimary_keyCOMPONENTSmatnr."旧语法DATA LV_MA...
2019-11-07 23:31:00
248
原创 2019.11.06 【每天学点SAP小知识】Day1 - ABAP 7.40新语法
最近看同事使用ABAP新语法贼溜,省了好多的功夫,还在使用老语法的我眼红了。所以就自己补一补7.40之后语法,能够让自己写代码更顺畅吧。今天学习内联申明 inline意思是:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置。这样做的好处是省去了调用的过程,加快程序运行速度。(函数的调用过程,由于有前面所说的参数入栈等操作,所以总...
2019-11-06 23:39:00
330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人