![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ABAP
文章平均质量分 64
Yisoon
这个作者很懒,什么都没留下…
展开
-
SAP SALV研究
SALV用的是类cl_salv_table下的相关方法,一般用于对话框或者功能要求比较简单的数据显示,比如明细数据显示,不能单元格编辑或者某行某列编辑,可以实现全部数据编辑(实用性不强),如要实现编辑可参考这篇博文 https://mp.weixin.qq.com/s?m_set_text ‘BUTTON’ ‘按钮’ ‘X’.m_set_text ‘COUNT’ ‘计数’ ‘X’.m_set_text ‘MSG’ ‘具体消息’ ‘X’.m_set_text ‘SEL’ ‘选择’ ‘X’.原创 2024-04-28 16:31:46 · 896 阅读 · 0 评论 -
SAP读取和删除锁定对象通用函数
使用函数ENQUEUE_READ,gname 为表名,garg 为表KEY值,KEY值不完全可以用*代替。如果需要获取当前用户当前客户端的所有锁定情况,可以传参GUNAME和GCLIENT。获取SM12或者SMENQ锁定情况,或者获取当前对象被哪些用户锁定情况,以及解锁对象。使用函数ENQUE_DELETE,直接传入ENQ锁定列表即可。原创 2024-04-07 16:44:59 · 357 阅读 · 0 评论 -
SAP BDC跳过黄色警告消息
注意:在MODE为A(显示所有屏幕)下虽然添加的回车事件不生效,还是被警告阻止程序运行,但是在MODE为N(后台处理)添加的回车事件会生效!在警告处的当前屏幕下添加回车事件,注意不要再添加屏幕号代码(添加屏幕号后没有效果)BDC在使用过程中遇到警告消息会停止往下执行。原创 2024-04-07 15:21:52 · 391 阅读 · 0 评论 -
改造 cl_demo_output=>display支持第一行字段名显示成字段描述
标准的cl_demo_output=>display显示的内表第一行为字段名,不方便用户查看,故需要将第一行换成字段描述。ls_fcat-reptext = ls_fcat_i-reptext. "优先使用传入的字段描述。lv_str_tar = |{ ls_fcat-reptext }|. "字段描述。lv_str_sou = |{ ls_fcat-fieldname }|. "字段名。WHEN ‘h’."内表”获取内表字段。"优先使用传入的手段描述。调用上述类的代码如下。原创 2024-03-27 16:26:30 · 894 阅读 · 1 评论 -
SAP自建表日志
输入文本、表名,按照情况勾选表名后的选项,比如“内部表”选项:当勾选上则每次处理多条数据,生成的日志函数里包含CHANGEDOCUMENT_MULTIPLE_CASE子函数。以下代码为固定代码(如果SCDO维护时表后面的选项改变了,则需要调整以下代码,一般保持空选项即可),直接复制过去即可。以下代码会引用日志对象的2个INCLUDE文件,调用系统自动生成的FORM记录日志。此种方式是基于表的日志,只要表里任何一个字段有修改,或者整条记录的删除、新增都会有对应的一条完整的记录,而不是多个字段修改多条记录。原创 2023-08-02 20:05:16 · 1322 阅读 · 0 评论 -
SAP SM30表格维护生成器隐藏记录日志字段
WHEN ‘I’."插入。WHEN ‘U’."更新。原创 2023-04-24 11:17:32 · 921 阅读 · 0 评论 -
SAP 批导长文本字段自动和手动换行
当EXCEL中自动换行后,SAP标准上传函数,会识别到则该文本内容的开头和结尾处会被自动加上引号,当EXCEL中没有换行符,则不会有引号,当有换行符,则会有引号。“由于数据格式问题,检验特性长文本字段会以双引号开头和结尾,此处去掉该引号。ls_string = -text_line. "文本内容。在项目中遇到EXCEL里面导入长文本,长文本是有格式,分行显示,如下所示。此例为检验特性长文本,利用该长文本内表赋值给BAPI长文本内表。EXCEL中以某个特殊符号作为分隔符号,比如美元符号$原创 2022-08-25 14:59:12 · 1430 阅读 · 0 评论 -
SAP SMARTFORMS打印文本内容手动换行
将多个字段值用换行符cl_abap_char_utilities=>cr_lf拼接起来,并且赋值给字符型变量。原创 2022-08-23 20:56:35 · 1798 阅读 · 0 评论 -
SAP 自定义搜索帮助在ALV和TABLE CONTROL里实现关联搜索
在alv或者table control里需要定义字段的搜索帮助,本文通过自定义的搜索帮助出口来实现,相对于定义alv的f4事件或者屏幕的process on value-request的方式代码量少,更加方便。同时自定义搜索帮助里需要取自ALV或者table control的其他字段来实现关联搜索帮助功能。本文根据物料、工厂、库存地点取批次及库存信息事务代码SE11建立搜索帮助从标准搜索帮助出口函数F4IF_SHLP_EXIT_EXAMPLE复制到自定义函数如上图所示。在select部分编写代码如下原创 2022-07-13 20:22:53 · 1486 阅读 · 0 评论 -
SAP itab is a table with an empty primary key. Check the semantics of the statement.解决办法
在ABAP 740之后,取数所用内表不会再去定义类型和内表,而是在取数的时候自动定义内表,当在loop循环里对该内表使用删除语句delete table itab from wa,则系统语法检查会报如下错误:“LT_AUFK” is a table with an empty primary key. Check the semantics of the statement.这种新语法定义的内表其实没有关键字,使用delete table itab from wa删除的时候会默认删除内表第一行,并不会删除原创 2022-06-30 18:07:22 · 459 阅读 · 0 评论 -
SAP日期格式转换成FLOAT类型
CALL FUNCTION ‘CTCV_CONVERT_DATE_TO_FLOAT’ "EXPORTINGdate = " cawn-atwrtIMPORTINGfloat = " cawn-atflv.原创 2021-11-18 17:33:59 · 437 阅读 · 0 评论 -
SAP 商品主数据BAPI_MATERIAL_MAINTAINDATA_RT附加字段增强
1.维护字段组事务代码OMSR复制标准的字段组,将字段名修改为附加字段名维护状态和ALE字段组可以用标准已存在的本例为EDVKALBQPSZXCFG和GR_GLOB使用复制功能将所有附加字段维护完毕,所有附加字段可以用同一个维护状态和ALE字段组2.建立三个结构,用于承接数据和标记修改数据由于BAPI传参每个字段长度为250位,当附加字段总长度超过250位之后,就需要多建立几个结构,本例字段较多,建立2个传参结构,注意所有字段类型必须是CHAR标记修改的结构3.函数BAPI_MAT原创 2021-10-23 11:31:45 · 1108 阅读 · 0 评论 -
SAP OOALV隐藏所有标准按钮
SAP OOALV在不使用按钮的情况下,可在LAYOUT里no_toolbar = ‘X’.当需要添加自定义按钮,且不显示标准按钮时,可使用以下代码将所有标准按钮隐藏:PERFORM exclude_tb_functions TABLES lt_exclude.FORM exclude_tb_functions TABLES pt_exclude TYPE ui_functions .DATA: ls_exclude TYPE ui_func.ls_exclude = cl_gui_alv_g原创 2021-10-09 12:31:07 · 1850 阅读 · 1 评论 -
SAP SE14恢复表数据
SAP SE14操作过程中,比如操作MARA表对某个自定义字段修改数据类型,在激活时需要用到SE14来调整。调整过程中突然掉线,重新进入SE14,可以选择继续调整(可能等待时间较长),也可选择解锁表,解锁表会将当前调整表保存在临时表QCM+表名,比如QCMMARA中,之后删除当前表数据(当前服务器的所有客户端都会删除,比如DEV有100,200,300,这三个客户端数据都会删除)解锁表之后,该表不存在数据库里,需要在SE14里点击创建数据库表,创建完毕但是不存在表数据,此时可通过代码方式将临时表数据插原创 2021-10-08 23:50:25 · 2200 阅读 · 0 评论 -
SAP query自定义代码如何激活
在SQ02上点击激活只是将信息集激活映射到代码还需在SQ01里生成程序原创 2021-09-14 13:25:27 · 555 阅读 · 0 评论 -
SAP Query和SAP quickView(快速报表)如何互相转换
SAP 快速报表配置较多,当遇到客制化程序比较高的需求,比如添加自定义代码,则无法在快速报表里实现,此时可通过转换成query报表实现。转换过程如下:1.事物代码SQ01输入SAP 快速报表查询名称输入query名称和信息集名称最后确认保存2.在SQ02里输入新的信息集,生成代码即可...原创 2021-09-13 19:20:48 · 552 阅读 · 0 评论 -
SAP标准导出功能 - 删除默认选定格式
我们经常会使用SAP系统的标准功能导出ALV显示的数据,一般会选择电子表格。选择电子表格之后,需要选择电子表格的具体格式。选择格式之后点击确定,会弹出保存对话框。如果在使用这个功能的时候,选择了“始终使用选定的格式”,则之后使用此功能,不会再出现选择电子表格的界面。这样就出现一个问题,如果我想更改其他的格式就不能满足了。不同的SAP版本,用户选定格式的信息存放的位置是不一样的。早...原创 2020-02-14 19:44:59 · 500 阅读 · 0 评论 -
SAP SE37测试结果导出EXCEL文件
导出以下数据:方法:拖到EXCEL当中原创 2019-12-30 18:23:17 · 2021 阅读 · 0 评论 -
SAP 动态更改选择屏幕文本
&---------------------------------------------------------------------*& Report ZTESTXUE020 动态更改选择屏幕文本*&&---------------------------------------------------------------------*&...原创 2019-12-30 14:49:13 · 1784 阅读 · 0 评论 -
SAP 修改已释放请求方法
表:E070 更改 & 运输系统: 请求/任务的抬头修改TRSTATUS 从 R 到 D释放父请求时报错,在父请求属性里面找到这个删除这个属性传完请求后,新版本覆盖了旧版本...原创 2019-12-11 19:54:50 · 1331 阅读 · 0 评论 -
SAP ALV添加标题的方法
1. function alv标题栏HTML_TOP_OF_PAGE有2种方法,1种是ADD_TEXT和ADD_TEXT方法来实现&---------------------------------------------------------------------*& Form html_top_of_page&--------------...原创 2019-11-26 00:32:21 · 2912 阅读 · 0 评论 -
SAP表格维护生成器(SM30)不能编辑
现象:当自建表生成了表格维护生成器,并且传到正式机时,由于SCC4里面的配置为不允许更改,造成自建表不能维护,只能修改解决办法:该表的表格维护生成器修改为不记录例程(即修改数据时不包请求的状态)...原创 2019-11-22 16:29:28 · 2145 阅读 · 0 评论 -
SAP OOALV布局不能保存
SAP OOALV 时前台不能保存布局解决办法:以下2个参数必不可少LV_SAVE = ‘A’.CONCATENATE SY-REPID SY-DYNNR INTO LS_VARIANT-REPORT.效果如下:如果没有save参数,则只能选择和更改布局,不能保存和管理布局...原创 2019-10-30 13:51:14 · 2185 阅读 · 0 评论 -
SAP SHIFT语法注意
SHIFT LEFT DELETING LEADING .SHIFT RIGHT DELETING TRAILING .假设左边的第一个字符或右边的最后一个字符出现在 中,该语句将字段 向左或向右移动。字段右边或左边用空格填充。 可为变量注意必须为string类型例如:去掉字符串最右边的/效果:...原创 2019-10-28 19:22:33 · 4253 阅读 · 0 评论 -
SAP STMS导入队列显示队列末尾
显示在队列末尾的请求只能一个一个的传输,不能选择多个传输。解决办法就是选中‘队列末尾’区域最上面的请求,然后队列->移动末尾标记点击确认之后,该请求下所有的请求将会回到队列前,变成正常可多选模式...原创 2019-10-28 19:16:05 · 2665 阅读 · 0 评论 -
SAP Query里写自定义ABAP代码
SAP Query里写自定义ABAP代码除了SQ02里输入对应的信息集增加代码之外,还可以在下列函数中使用隐式增强,并且加上TCODE限制,对内表dtab[]进行处理原创 2019-09-25 00:59:41 · 4658 阅读 · 0 评论