
SAP ABAP自学教程
文章平均质量分 58
努力学习ABAP编程语言,励志成为一名会ABAP编程的实施业务顾问,分享的同时也提高了自己。
清风日下
日夜星辰 默默耕耘 | 努力为SAP顾问提供一站式服务 | 如果有VIP文章(系统随机设定)看不了,请私信我
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SAP ABAP自学教程-ABPA基础知识点精讲-SAP模块业务顾问必备
为了更好的学习和回顾ABAP编程知识点,列举所有关于ABAP编程的知识点清单,方便大家快速阅读。原创 2024-12-28 17:09:54 · 649 阅读 · 0 评论 -
SAP ABAP基础知识点-如何实现内表中按照某个具体字段进行SORT降序和升序-ABAP代码展示
如何实现内表中按照某个具体字段进行SORT降序和升序?原创 2025-01-27 17:15:46 · 443 阅读 · 0 评论 -
SAP ABAP基础知识点-语法-DELETE ADJACENT DUPLICATES FROM 语句用于从内部表中删除相邻的重复行-用法解释
在ABAP编程过程中,如果出现相同的行,如何删除?类似EXCEL表中在VLOOKUP后,可能出现不同的行有重复内容的情况,所以现进行排序,这样就把相同重复行集中在一起了,然后再进行相邻重复行去重操作。该语句通过指定一个或多个字段来比较行,并删除那些在这些字段上具有相同值的相邻行,只保留第一行或最后一行(取决于GIVING子句的使用,如果没有GIVING子句,则默认保留第一行)。在这个例子中,frggr 和 frgco 是lt_releasegroup内表中的字段,ABAP将比较相邻行的这两个字段的值。原创 2025-01-25 22:07:46 · 662 阅读 · 0 评论 -
SAP ABAP基础知识点-内表字段如何打印输出-代码展示
如何将内表中的字段打印输出?原创 2025-01-23 00:17:34 · 187 阅读 · 0 评论 -
SAP ABAP自学教程-如何在SE38编程界面调用函数模块?Call Function SE38界面点击“模式“按钮进行调用
使用事务码SE38创建完毕一个自定义程序后,在程序中如果想调用一个标准的函数模块,如何操作?原创 2024-12-28 19:20:03 · 421 阅读 · 0 评论 -
1 SE21开发包创建
业务说明:项目上的开发包统一使用Z001,特殊情况下,例如标准化的功能或程序,可以另外使用单独的开发包。第1步:输入事务码:SE21第2步:1处,输入开发包代码:Z002(一个项目一般只有一个开发包)2处,点击“创建”按钮,进入下一个界面第3步:1处,开发包的描述2处,点击“勾选”按钮,进入下一个界面第4步:1处,点击“创建”按钮,进入下一个界面2处,输入请求号的描述3处,点击“保存”按钮4处,点击“勾选”按钮第5步原创 2021-09-06 23:02:59 · 772 阅读 · 0 评论 -
2 ABAP命名规则
2 ABAP命名规则程序命名规则:<Z><XX><nnn><Z> :项目上的开发程序以Z开头<XX> :程序属于的业务模块(例如:MM SD PP QM WM FI CO等)<nnn> :流水号001-999范例:ZWM001自建表命名规则:ZWMT001视图命名规则:ZWMV001域命名规则和数据元素一致:<ZE><下划线><字段名称> 例如:ZE_ZNAME原创 2021-09-06 23:05:29 · 1129 阅读 · 0 评论 -
3.1 SE11创建域
数据字典中的基本对象有6大类:表,视图,数据类型,域,搜索帮助 和 锁对象。4处,输入字符长度后,按Enter键,自动带出小数位和输出长度。命名规则:其中,数据类型又包括3个细分类:数据元素,结构,表类型。5处,点击“保存”按钮,进入请求号确认界面。3处,点击“创建”按钮,进入下一个界面。2处,点击“保存”按钮,进入下一个界面。2处,点击“勾选”按钮,返回上一个界面。2处,点击“勾选”按钮,返回上一个界面。2处,点击“返回”按钮,继续创建其他域。原创 2021-09-06 23:14:08 · 893 阅读 · 0 评论 -
3.2 SE11创建数据元素
3.2 SE11创建数据元素命名规则:<ZE><下划线><模块代码><下划线><字段名>举例说明:ZE_MM_ZJSRY注意:数据元素和域命名规则一致第1步:1处,输入需要创建的数据元素的名称,数据元素命名规则:<ZE><下划线><字段名称>,E表示数据元素的英语Element2处,点击“创建”按钮,进入下一个界面3处,选择“数据元素”4处,点击“勾选”按钮第2步:原创 2021-09-06 23:17:50 · 1064 阅读 · 0 评论 -
3.3 SE11创建自建表
3.3创建自建表命名规则:<Z><模块代码><T><3位流水号>举例说明:ZWMT0013.3.1 SE11创建自建表-预定义数据类型第1步:输入事务码:SE11第2步:1处,输入需要创建的表名称2处,点击“创建”按钮,进入下一个界面第3步:1处,输入需要创建的表描述2处,选择A-应用表3处,选择“允许显示/维护”4处,点击“字段”进入字段维护界面第4步:1处,输入需要创建字段原创 2021-09-06 23:20:56 · 1487 阅读 · 0 评论 -
3.4 SE55表维护生成器
3.4 SE55表维护生成器SE11在创建好了自建表后,需要使用SE11里面的“表维护生成器”来创建屏幕。第1步:输入事务码:SE11第2步:1处,输入需要维护的表名称2处,点击“修改”按钮,进入下一个界面第3步:1处,选择“实用程序”选项2处,选择“表维护生成器”第4步:1处,输入权限组 &NC&(无权限管控)2处,输入函数组3处,维护类型,选择“一步”4处,点击“查找屏幕号”,进入下一个界面5处,选择..原创 2021-09-06 23:23:02 · 517 阅读 · 0 评论 -
3.5 SE93创建自建表事务码
3.5 SE93创建自建表事务码自建表一般使用事务码SM30进行数据维护,也可以针对于自建表单独生成一个事务码。用户通过事务码直接进入表格数据维护界面,更加方便。第1步:输入事务码:SE93第2步:1处,输入需要创建的事务码代码2处,点击“创建”按钮,进入下一个界面第3步:1处,输入需要创建的事务码短文本描述2处,选择“使用参数的事务(参数事务)”3处,点击“勾选”按钮,进入下一个界面第4步:1处,输入事务码显示的文本描述2..原创 2021-09-06 23:30:59 · 4377 阅读 · 0 评论 -
3.6 SM30维护表数据
3.6 SM30维护表数据自建表可以通过事务码SM30来维护,也可以通过创建好的自建表事务码来维护。对于用户来时候,从事务码直接进入维护自建表维护界面是最方便的。第1步:双击事务码:ZWM001第2步:点击“新条目”按钮第3步:1处,输入需要维护的数据2处,点击“保存”按钮3处,显示保存成功的系统提示信息通过自建表事务码维护表数据操作完毕!2021年9月6日 写于芜湖...原创 2021-09-06 23:34:09 · 1253 阅读 · 0 评论 -
3.7 SE11创建自建表-外键
3.7 SE11创建自建表-外键命名规则:<Z><模块代码><T><3位流水号>举例说明:ZWMT001自建表外键说明:如果一个透明表的某个字段被定义为一个外键,那么就是定义了一种限制。限定了将来这张透明表所存储的数据的这个字段必须在有外键关系的那张表中存在。举例说明:比如定义了一个透明表A,存储的是公司员工的信息,其中一个字段是 职称。因为公司的职称是有一定的规定的,不能随意乱编,所以所有的职称都存在B表中,B表中有总经理..原创 2021-09-06 23:36:12 · 2459 阅读 · 1 评论 -
3.8 SE11创建视图
3.8创建视图命名规则:<Z><模块代码><V><3位流水号>举例说明:ZWMV0013.8.1 SE11创建维护视图命名规则:<Z><模块代码><V><3位流水号>举例说明:ZWMV001维护视图的作用是将多个相关联的透明表中的某些字段,在一个视图中进行显示。同时维护视图中,多个想关联的表内容,可以通过维护视图直接进行修改和更新。也就是说在维护视图里面就可以对所有的相关联表直..原创 2021-09-07 00:08:09 · 1297 阅读 · 1 评论 -
3.9 SE11创建数据类型
3.9 创建数据类型3.9.1 SE11创建数据元素命名规则:<ZE><下划线><模块代码><下划线><字段名>举例说明:ZE_MM_ZJSRY注意:数据元素和域命名规则一致创建数据元素,前面的章节“3.2 SE11创建数据元素”已经讲解过,此处是为了完善知识点结构,所以又重新提及。3.9.2 SE11创建结构命名规则:<Z><模块代码><S><3位流水号>..原创 2021-09-07 00:11:49 · 588 阅读 · 0 评论 -
3.10 SE11创建类型组
3.10 SE11创建类型组命名规则:<Z><模块代码><3位流水号><下划线><G>举例说明:ZWM001_G业务说明:类型组是一个定义了多个数据类型的程序。类型组里的数据类型通过在ABAP程序开始声明TYPE-POOL后使用。一般我们不会创建类型组,会使用系统中创建的类型组。以类型组SLIS为例进行介绍:具体步骤:第1步:输入事务码:SE11第2步:1处,选择类型组并输入类型组名称2处..原创 2021-09-07 00:13:57 · 436 阅读 · 0 评论 -
3.11 SE11创建搜索帮助
3.11 SE11创建搜索帮助命名规则:<Z><模块代码><3位流水号><下划线><F4>举例说明:ZWM001_F4业务说明:搜索帮助可以提高界面的友好性和程序的多样性,可用于自建表或数据元素。3.11.1 SE11创建基本搜索帮助具体步骤:第1步:输入事务码:SE11第2步:1处,输入搜索帮助名称2处,点击“创建”按钮,弹出窗口3处,选择“基本索引帮助”4处,点击“勾选”按钮,..原创 2021-09-07 00:16:01 · 1701 阅读 · 0 评论 -
3.12 SE11创建锁对象
3.11 SE11创建搜索帮助命名规则:<Z><模块代码><3位流水号><下划线><F4>举例说明:ZWM001_F4业务说明:搜索帮助可以提高界面的友好性和程序的多样性,可用于自建表或数据元素。3.11.1 SE11创建基本搜索帮助具体步骤:第1步:输入事务码:SE11第2步:1处,输入搜索帮助名称2处,点击“创建”按钮,弹出窗口3处,选择“基本索引帮助”4处,点击“勾选”按钮,..原创 2021-09-07 00:19:15 · 1133 阅读 · 0 评论 -
4.1 SE38数据类型
4 ABAP语法4.1 SE38数据类型数据类型是数据对象的技术特性的定义,其本身不占用内存空间,可以是系统预定义的数据类型,也可以是用户自定义的数据类型。4.1.1 常用的预定义数据类型常用的数据类型如图:4.1.2 自定义数据类型定义数据类型使用:TYPES语句在程序中使用TYPES语句声明局部数据类型,语法格式与变量类似,用TYPES定义的数据类型在程序中用于声明常量或者变量。TYPES定义的类型,不是变量,所以不能直接赋值。ABAP数据可以是预定义数据类型..原创 2021-09-07 00:32:46 · 861 阅读 · 0 评论 -
4.2 SE38数据对象
4.2 SE38数据对象数据对象是内存变量,被指定为某一特定的数据类型。数据对象可以是文本,变量或常量,主要指变量,变量在程序运行过程中值会发生变化。4.2.1 用TYPE定义变量变量定义包含: 名称,长度,类型,赋值,小数位语法结构: DATA<名称> [LENGTH<长度>] TYPE<类型> [VALUE<赋值>] [DECIMAL<小数位>]如果声明单个数据对象,DATA后面不需要添加冒号如果声明多个...原创 2021-09-08 00:49:47 · 707 阅读 · 0 评论 -
4.3 SE38数据输出
4.2 SE38数据对象数据对象是内存变量,被指定为某一特定的数据类型。数据对象可以是文本,变量或常量,主要指变量,变量在程序运行过程中值会发生变化。4.2.1 用TYPE定义变量变量定义包含: 名称,长度,类型,赋值,小数位语法结构: DATA<名称> [LENGTH<长度>] TYPE<类型> [VALUE<赋值>] [DECIMAL<小数位>]如果声明单个数据对象,DATA后面不需要添加冒号如果声明多个...原创 2021-09-08 01:04:17 · 1711 阅读 · 0 评论 -
4.4.1 SE38数据赋值
4.4 SE38数据处理数据处理主要讲解数据赋值以及各种运算的规则。4.4.1 数据赋值4.4.1.1 MOVE TO语句赋值将变量F1的值赋值给变量F2,F1和F2可以是不同类型的变量,但是有一定的限制。语法结构如下:MOVE <F1> TO <F2>.4.4.1.2 WRITE TO语句赋值WRITE TO带有格式的赋值,这里的WRITE不是输出,而是赋值。语法结构如下:WRITE <VALUE> TO原创 2021-09-08 01:10:05 · 591 阅读 · 0 评论 -
4.4.2 SE38数值处理
4.4.2 数值处理4.4.2.1 类型转换不同的类型的数据对象之间赋值会自动进行类型的转换。转换过程遵照固定的规则,如C类型数据赋值给N类型,只有数字字符被传递,其他忽略。C类型不能直接赋值给I类型,需要先从C类型传给N类型,再由N类型传给I类型。也可以使用MOVE TO 或 WRITE TO语句。4.4.2.2 算术运算符算术运算符就是我们通常理解的加减乘除运算法,ABAP中的算术运算法则中,运算符与变量之间必须有空格。* 乘/ 除 例...原创 2021-09-08 01:14:39 · 289 阅读 · 0 评论 -
4.4.3 SE38日期与时间计算
4.4.4 字符串数据处理4.4.4.1 字符串移位将字符串整体或者子串进行移位语法结构:SHIFT <c> [ BY <n> PLACES ] [<modes>]空白-字符串往左移一位LEFT-字符串往左移n位RIGHT-字符串往右移n位指定字符串c从子串c1进行移位语法结构:SHIFT c UP TO c1执行结果返回系统参数SY-SUBRC执行成功,返回0,不成功,返回4移除字符串c左边..原创 2021-09-08 01:18:42 · 210 阅读 · 0 评论 -
4.4.4 SE38字符串数据处理
4.4.4 字符串数据处理4.4.4.1 字符串移位将字符串整体或者子串进行移位语法结构:SHIFT <c> [ BY <n> PLACES ] [<modes>]空白-字符串往左移一位LEFT-字符串往左移n位RIGHT-字符串往右移n位指定字符串c从子串c1进行移位语法结构:SHIFT c UP TO c1执行结果返回系统参数SY-SUBRC执行成功,返回0,不成功,返回4移除字符串c左边..原创 2021-09-08 01:26:05 · 302 阅读 · 0 评论 -
4.4.5 SE38清除变量内容
4.4.5 清除变量内容清除变量内容常量不能被清空语法结构:CLEAR <f>2021年9月9日 写于芜湖原创 2021-09-09 02:31:01 · 245 阅读 · 0 评论 -
4.5.1 SE38条件语句
4.5 SE38流程控制在SAP的业务中,存在着很多不同的数据流,分别管控这不同的业务模式。需要使用不同的控制语句来对数据对象等进行控制输出。4.5.1 条件语句通过单个或者多个条件,来判断程序的执行结点,对应的值是否可以满足条件,如果满足执行当前条件对应的结果语句,如果不满足,执行下一个条件对应的语句,直到最后。如果前一个语句执行条件满足,程序将不在执行下一个条件语句。4.5.1.1 IF语句IF语句用来判断程序在执行过程中的走向,在节点时,根据输入的数据对象特定值,根据指定的原创 2021-09-09 02:33:07 · 674 阅读 · 0 评论 -
4.5.2 SE38循环语句
4.5.2 循环语句通过控制语句将特定的程序,进行多次或者特定次数的循环执行操作。4.5.2.1 DO计数循环计数循环是使用DO指定循环的次数。使用DO语句需要避免死循环,如果没有TIMES次数的限制情况下,就需要在程序中至少设定一个EXIT 或 STOP语句,使得程序可以在特定情况下退出。系统变量 SY-INDEX是记录循环次数的。DO语句内部可以实现多层嵌套,为了保证程序可读性,建议嵌套最多不要超过6层。语法结构:DO [ <n> TIMES ]..原创 2021-09-09 02:34:57 · 334 阅读 · 0 评论 -
4.5.3 SE38循环控制语句
4.5.3 循环控制语句针对于程序在执行循环操作时,进行控制的方法。4.5.3.1 CONTINUE语句CONTINUE 无条件终止当前循环,直接执行下一个循环语法结构:CONTINUE.4.5.3.2 CHECK语句CHECK 有条件终止当前循环语法结构:CHECK <检查筛选条件>.4.5.3.3 EXIT语句EXIT 终止所有循环语法结构:EXIT.2021年9月9日 写于芜湖原创 2021-09-10 23:34:47 · 232 阅读 · 0 评论 -
4.6.1 SE38定义工作区
4.6 SE38内表内表是仅在程序运行过程中存在的表,内表用来存放多条相同结构的数据,可以对其插入,修改或者删除操作。内表是内存中建立的一个临时表,你可以在程序运行时对表中的数据进行,插入,修改,删除等操作,等程序跑完了,就会被释放。内表一共有3种类型:Standard 标准表Sorted 排序表Hashed 哈希表,一般用的比较少标准表 在增加或插入数据行时,并不对数据行的地址进行重新排序存储。排序表 在增加或插入数据行时,要对数据存储的地址进行重新排列。哈希表..原创 2021-09-10 23:37:39 · 285 阅读 · 0 评论 -
4.6.2 SE38定义内表
4.6.2定义内表4.6.2.1 Types定义内表TYPES自定义的表类型来定义内表,WITH HEADER LINE定义了带有工作区的内表。语法结构1:TYPES <> TYPE TABLE OF <>.语法结构2:TYPES <> TYPE <> OCCURS <>.4.6.2.2 Data定义内表用DATA语句直接定内表语法结构:DATA: BEGIN OF <内表名称...原创 2021-09-10 23:39:49 · 481 阅读 · 0 评论 -
4.6.3 SE38内表数据处理
4.6.3内表数据处理4.6.3.1初始化表4.6.3.2 INSERT增加内表数据INSERT可以按内表的具体字段向表中插入一行或多行数据。逐行填充内表情况:使用条件:要在内表现有行之前插入新行时,请用INSERT语句。语法结构:INSERT [ <wa> INTO | INITIAL LINE INTO ] <itab> [ INDEX <idx> ].将内表内容复制到另外一个内表中情况:使用条件:要将内表行插入...原创 2021-09-10 23:43:01 · 574 阅读 · 0 评论 -
5.1.1 SELECT读取数据
5.1 Open SQL基本语法和结构在执行SQL语句时,一般在执行一个语句后,需要判断是否执行成功时,都使用系统变量SY-SUBRC来判断,判断结果等于0表示执行成功,判断结果不为0表示执行失败。5.1.1 SELECT读取数据语法结构:SELECT <result> FROM <dbtab> INTO <target> WHERE <condition> [GROUP BY <fie...原创 2021-09-10 23:45:58 · 664 阅读 · 0 评论 -
5.1.2 SELECT+INNER JOIN读取数据
5.1.2 SELECT+INNER JOIN读取数据语法结构:INNER JOIN:查询结果包含两个连接表中彼此相对应的数据记录INNER JOIN图示如下:实例标题:SELECT + INNER JOIN实例演示如下:2021年9月10日 写于芜湖...原创 2021-09-10 23:48:09 · 1199 阅读 · 0 评论 -
5.1.3 SELECT+LEFT JOIN读取数据
5.1.3 SELECT+INNER JOIN读取数据语法结构:LEFT JOIN:查询结果集中包含左表中的所有数据记录,右表中仅查询出包含相对应的匹配条件的数据LEFT JOIN图示如下:2021年9月10日 写于芜湖...原创 2021-09-10 23:51:33 · 758 阅读 · 0 评论 -
5.1.4 SELECT+RIGHT JOIN读取数据
5.1.4 SELECT+RIGHT JOIN读取数据语法结构:RIGHT JOIN:包含左右表所有的记录RIGHT JOIN图示如下:2021年9月10日 写于芜湖原创 2021-09-10 23:53:45 · 372 阅读 · 1 评论 -
5.1.5 SELECT+FULL JOIN读取数据
5.1.5 SELECT+FULLJOIN读取数据语法结构:FULL JOIN:包含左右表所有的记录FULL JOIN图示如下:2021年9月10 日 写于芜湖原创 2021-09-10 23:54:52 · 600 阅读 · 0 评论 -
5.1.6 UPDATE更新数据
5.1.6 UPDATE更新数据UPDATE实现数据的更新操作语法结构:UPDATE <dbtab> SET f1…fn (WHERE <condition>).UPDATE <dbtab> FROM TABLE <itab> (WHERE <condition>).UPDATE <dbtab> FROM <wa>.实例标题:UPDATE实例演示如下:202..原创 2021-09-10 23:56:01 · 956 阅读 · 0 评论 -
5.1.7 INSERT新增数据
5.1.7 INSERT新增数据INSERT语句用于数据的新增操作。语法结构:INSERT <dbtab> FROM TABLE <itab>.从内表中向数据库插入多条数据,内表中有多行数据。INSERT <dbtab> FROM <wa>.从工作区想数据库插入单条数据。*wa=work area工作区的意思。实例标题:INSERT 插入单条数据实例演示如下:2021年9月10日 ..原创 2021-09-11 00:00:27 · 235 阅读 · 0 评论