ABAP初学者入门教程:简单程序示例

4星 · 超过85%的资源 需积分: 9 20 下载量 105 浏览量 更新于2024-07-31 3 收藏 93KB PDF 举报
本文档是一位ABAP初学者的学习总结,主要涵盖了ABAP基本的输出控制和数据类型操作,适合入门者学习。 在SAP ABAP(Advanced Business Application Programming)编程中,初学者经常会遇到如何在屏幕输出信息的问题。文档中的代码示例详细解释了不同类型的`WRITE`语句,这是ABAP中最基础的输出方法之一。 首先,`WRITE`语句用于将文本或变量的值输出到屏幕。例如: ```abap WRITE:/'This is my first program.'. ``` 这行代码会输出字符串"This is my first program.",并且自动在末尾添加一个换行符。 `SKIP`语句则用于强制换行,不带任何输出: ```abap SKIP. ``` 这将在输出中留下一个空行。 对于对齐输出,可以使用`/n`和`m`来指定输出的位置。例如: ```abap WRITE:/90'HELLOWORLD'. ``` 这一行会在屏幕的第91列开始输出字符串"HELLOWORLD",因为ABAP从0开始计数。 输出数值时,可以使用`AT`关键字来定位输出位置,如: ```abap WRITE:at/50sy-datum. WRITE:at/50(4)sy-uzeit. ``` 这里`sy-datum`和`sy-uzeit`是系统时间的日期和时间,它们会被分别在第51列开始的空位上输出,`(4)`指定时间显示为四位数,即小时和分钟。 此外,ABAP还支持数据类型的定义和使用,如: ```abap data: x type i VALUE '112030', a(15) type c value 'ABCDEFGH'. ``` 这里定义了一个整型变量`x`和一个字符型变量`a`,并赋值。 `USING EDIT MASK`用于格式化输出,例如: ```abap WRITE:/xingEDITMASK'__:__:__'. ``` 这将使`x`的值按时间格式(小时:分钟:秒)显示,类似`11:20:30`。 同样,`/anongap`用于去除字符之间的空格,使输出紧凑: ```abap WRITE:/anongap. ``` `INCLUDE`语句用于引入符号或图标: ```abap INCLUDE <symbol>. INCLUDE <icon>. ``` 最后,输出图标的方法: ```abap WRITE:/'phonesymbol:', symbol_phone AS SYMBOL. WRITE:/'alarm icon:', icon_voice_output AS ICON. ``` 这些例子展示了如何输出预定义的图形符号。 文档中的其他部分还演示了如何使用":"连接多个`WRITE`语句,以减少代码行数,提高可读性。 这份学习总结为ABAP初学者提供了一个很好的起点,介绍了基本的输出控制、数据类型操作以及格式化输出等基础知识。通过实践这些示例,读者可以更好地理解ABAP编程的基础概念,并为进一步学习打下坚实的基础。
2010-08-12 上传
30天学会ABAP程序 学习ABAP并不难,有人说SAP系统重在管理思想,不在技术,通常对有编程经验的读者不用任何培训参考一些相关资料就可立即上手. 简单介绍下ABAP/4的一些特征: 1.和SAP紧密结合,尤其在开发报表方面,坦率地讲,除了和SAP集成的好处,.我定认为ABAP在报表开发上比Crystal report Tool要高效简单. 2.和VB一样 ,ABAP是解释形的,如读者精通VB,学习ABAP应该豪不费力,倒是既然SAP是企业管理解决方案,ABAPer必须对企业管理流程熟悉. 解释性的另一好处是可以很好跟踪程序逻辑(使用/H),这对了解业务逻辑的实和追踪错误很有效. 和VB不同的是,VB跟踪时允许程序运行指针随意往回或往全拉而ABAP程序去不行, 但是ABAP程序允许在运行时修改变量的值,这是编译程序不能做到的. 当然通常编译比解释执行的速度会更快. ABAP程序执行并不直接读取源代码,而是执行内部经过“生成”的描述,对于ABAP/4字典的修改激活后将触发内部描述的重新生成,如程序并没激活就执行原版本,或者出现错误(程序没激活可能造成ABAP Dumping ABAP). 3.在对数据库处理方面,除了可直接执行SQL(使用native sql,缺点是错误处理很难控制,相当于有开发环境将SQL 语句直接传给DB去执行),SAP在ABAP开发环境层还提供了一套Open SQL访问底层数据库. 4. 程序员都知道Windows平台下开发都支持事件驱动,Windows系统本身也支持事件驱动,ABAP也提供了事件驱动,这表现在Dialog编程方面,但是ABAP在此方面并不强,而且相对讲也比较难于掌握(在后面会讨论). 5.基于面向对象的风靡,ABAP在此方面也有相当反应,在SAP强大的软件包中提供了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象. 6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP也有ABAP processor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种网络系统.