![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ABAP
程卓
这个作者很懒,什么都没留下…
展开
-
【ABAP】GUI自定义按钮无法显示
展开功能键区域,查看是否与保留的功能键冲突。原创 2023-02-27 15:25:44 · 515 阅读 · 0 评论 -
【ABAP】BAPI_PR_CREATE更新EBAN扩展字段
上面代码仅供参考,根据实际情况调整参数。原创 2022-12-28 10:56:36 · 610 阅读 · 0 评论 -
【ABAP】VL02N交货单过账增强
【需求】当交货单数量为0时,不允许过账原创 2022-09-22 11:18:05 · 1415 阅读 · 5 评论 -
ABAP内表常用操作
内表常用操作转载 2022-09-21 16:10:44 · 1544 阅读 · 0 评论 -
【ABAP】GUI状态描述修改
有时,从一个程序GUI复制给另外一个程序GUI,然而这种方法无法修改GUI的描述;有时定义好了,又想重新更改描述,需要怎么修改呢?下面提供两种方法:方法一选定程序中的任意一个GUI,点击菜单栏,转到-对象接口,展开状态,然后在要修改的 GUI STATUS 上点右键,从弹出的上下文菜单里找 “属性”,修改短文本内容即可。方法二选定程序中的任意一个GUI,点击菜单栏,转到-对象列表-状态列表,图中红色字体修改就完成了。...原创 2022-05-25 16:00:24 · 948 阅读 · 0 评论 -
【ABAP】创建局部Macro和全局Macro
1. 局部Macro在程序中重复使用的语句,最好定义成Macro 后使用。当在程序中使用时,先以 DEFINE~ END-OF-DEFINITION形式定义后用Macro名字和参数调用即可。如果PERFORM 语句只是逻辑中包含的重复利用模块,Macro 功能只是为了减少代码重复。为了易于理解,看下面示例REPORT z04 16.DATA: gv_ vall TYPE c VALUE 'A',gv_ val2 TYPE c VALUE 'B',gv_ val3 TYPE char3.DEF原创 2022-05-23 14:20:21 · 665 阅读 · 0 评论 -
【ABAP】关于获取长文本-客户物料描述
如图要获取长文本的内容,传统方式直接从底表获取数据太复杂,可以使用更简单的方式。①通过调用"READ_TEXT"函数抓取长文本。各参数含义:参数名称解释ID将要读取的文本的文本标识NAME将要读取的文本名OBJECT将要读取的文本对象ARCHIVE_HANDLE存档句柄 DATA:lv_maktx TYPE string. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'原创 2022-05-18 14:57:53 · 655 阅读 · 0 评论 -
【ABAP】定时Job执行变式引发的错误
变式执行后展示alv,导致程序调用错误实际上设置变式后并不需要后续的alv展示,我们在程序中判断按钮是否选中即可。 IF p_scts = 'X'. PERFORM sub_send_mail. ENDIF. IF p_wwts = 'X'. PERFORM sub_send_mail_ww. ENDIF. IF p_scts IS INITIAL AND p_wwts IS INITIAL. CALL SCREEN 100. ENDIF....原创 2022-05-14 14:12:31 · 255 阅读 · 0 评论 -
【ABAP】性能优化
1.使用 UP TO n ROWS;2.使用聚合函数(SUM等);3.使用二分查找(Binary Search),先排序4.用 IN 替代 同条件 OR5.不等于 替换成 等于(不等于所有相反的条件)6.不重复读取系统表数据,可采用读取一次,剩下要读取的直接进行赋值;7.使用 ABAP “Sort” 取代 “Order By”;8.使用Field Symbols(类似指针)...原创 2022-04-24 11:17:16 · 174 阅读 · 0 评论 -
【ABAP】SQL中使用不等于(<>)的影响
问题描述使用左连接、右连接和内连接时,在on后面添加条件不等于<>,无法排除数据 SELECT mard~werks,matnr,labst FROM mard LEFT JOIN ztac_pp001 ON ztac_pp001~werks = mard~werks AND ztac_pp001~lgort <> mard~lgort INTO CORRESPONDING FIELDS OF TABLE @lt_mard原创 2022-04-21 08:48:31 · 918 阅读 · 0 评论 -
【ABAP】CALL METHOD container1->free
1.问题描述在程序中点击功能栏中的返回、退出、取消按钮时,发生DUMPDUMP信息:OBJECTS_OBJREF_NOT_ASSIGNEDCX_SY_REF_IS_INITIAL具体DUMP点:代码:CALL METHOD container1->free.2.问题解决由于container1为空,然后我直接调用方法,导致失败。所以可以通过判断container1是否为空,从而解决问题。 IF container1 IS NOT INITIAL. CALL MET原创 2022-04-19 09:40:00 · 625 阅读 · 0 评论 -
【ABAP】创建动态内表未指定关系表和字段,导致数据显示不全
如果创建动态内表时,定义ALV显示的字段,fieldcat未填写关联表和字段,默认字段类型为C(10)。当数据过长时会被自动截断。解决方法如下:原创 2022-03-07 15:08:49 · 568 阅读 · 0 评论 -
【ABAP】SMARTFORMS技巧
1.当需要固定的行数,而我们的行数据没有那么多数据,可以添加空行来填满 DATA:num TYPE i, temp TYPE i. "...省略很多代码... CLEAR num . "获取行数据有多少 DESCRIBE TABLE lt_data LINES num . CLEAR temp . temp = num MOD 15 . "取余数,15是每页想展示的最多的行数据 IF temp <> 0.原创 2022-03-05 16:14:29 · 1019 阅读 · 0 评论 -
【ABAP】常用知识点(持续更新)
常用知识点原创 2022-03-01 13:35:10 · 1018 阅读 · 0 评论 -
【ABAP】模糊查询不拼接%
模糊查询不拼接%原创 2022-02-10 10:39:48 · 1807 阅读 · 1 评论 -
【ABAP】ALV报表set_table_for_first_display方法参数i_save
我们在使用报表时,在一定情况下需要存储自己的专属变式,方便自己之后对报表的使用。可是,有时候存储报表变式时,特定于用户(User-specific)却不能编辑,如下图所示。这和我们介绍的I_SAVE参数有关系。在开发ALV报表时,有参数I_SAVE,如下代码样例所示,程序会根据I_SAVE值的不同,去设定User-specific和 Default Setting是否可编辑。CALL METHOD g_grid->set_table_for_first_display E...原创 2022-01-19 10:23:50 · 2615 阅读 · 0 评论 -
【ABAP】如何为ABAP类创建隐式增强
显示所有可能的隐式增强选项。只能在这些选项中创建隐式增强。可用选项通常位于方法和功能模块的开始和结束部分;点击增强;将光标置于隐式增强选项并创建实现;维护描述;创建请求保存;接下来就可以实现你想要的的功能了。...原创 2022-01-14 13:39:43 · 1148 阅读 · 0 评论 -
【ABAP】VA01、VA02、VA03销售订单增强MV45AFZZ注意点
需求:VA01、VA02、VA03订单保存时,需要做一个check的增强方法:注意检查的增强用的是USEREXIT_SAVE_DOCUMENT_PREPARE,而不是USEREXIT_SAVE_DOCUMENT(保存检查不通过会跳号)注意使用隐式增强,不要直接修改源码(会引发其他不可预知的错误)...原创 2022-01-14 10:44:26 · 1589 阅读 · 0 评论 -
【ABAP】编程错误 – GETWA_NOT_ASSIGNED
可能的原因:ALV显示超过99列,ALV不支持;ALV字段名字(FIELDCAT)出错,输出的字段定义内表字段不一样,FIELDCAT单引号里的字段一定要大写。原创 2022-01-12 17:18:13 · 1454 阅读 · 0 评论 -
【ABAP】VL01N、VL02N、VL03N和VL06G过账发货功能码的区别
VL01N、VL02N、VL03N过账发货按钮功能码(sy-ucomm)是WABU_TVL06G过账发货按钮功能码(sy-ucomm)是WEIT原创 2021-12-21 09:30:00 · 1994 阅读 · 0 评论 -
【ABAP】屏幕增强字段日志记录
问题:修改VL02N里面的增强屏幕上的字段后,更改字段记录未保存解决:在屏幕上的对应字段的详细特性上勾选更改文档原创 2021-12-20 15:38:21 · 200 阅读 · 0 评论 -
【ABAP】报表ALV标准菜单栏导出excel出错
解决方法:把按钮功能代码改为 &XXL原创 2021-10-28 14:18:34 · 406 阅读 · 0 评论 -
【ABAP】MM02保存后数据传输至外围系统
【问题】MM02更改物料主数据之后,传递最新数据至外围系统。【方案】找到MM02保存后所触发的增强点。【执行】从第一代增强到第四代增强,前三代都没找到合适的增强点,只在第四代增强BTE里面找到一个触发点 00001250运行事务码:FIBF,进入维护事务BTE,选择菜单“环境->信息系统(P/S)(I)->F8 运行程序找到业务交易事件【00001250 物料主数据:过帐】,选中后点击模式函数模块跳转到函数构建器,将带出的功能模块复制一份(以Z开头),函数组不需要变动原创 2021-10-20 14:48:59 · 1344 阅读 · 3 评论 -
为发票凭证增加自定义选项卡
1. 需求有时候我们需要为VF01/VF02/VF03增加自定义选项卡来满足用户需求,并且在这个选项卡上维护一些自定义字段的值,在这份文档中我们以金税发票为例。2. 症状发票凭证选项卡没有屏幕增强和用户出口,SAP标准只有业务加载项 (BADI_SD_CUST_HEAD, BADI_SD_CUST_ITEM) 可用,但是这两个业务加载项仅供SAP内部使用。3. 环境本文基于SAP ERP 6.0 EHP7 IDES,NetWeaver 7.42,并且在SAP S4/HANA 1511(S4Cor原创 2021-04-29 14:03:41 · 959 阅读 · 1 评论