SAP有一个专门的平台供开发人员开发报表或增强,它使用SE38进入,并且使用Z开头的程序名称来命名。
类似于所有的语言的第一个程序Hello world,在SAP里应该怎么写呢?
REPORT ZTest01.
write: / 'Hello world.'.
九九乘法口诀表的程序
REPORT zcheny02.
DATA: v_1 TYPE i ,v_2 TYPE i, v_3 TYPE i.
data : cv_1 type c ,cv_2 type c, cv_3 type string, cv_4 type string.
FORMAT COLOR 4 ON.
v_1 = 1.
WHILE v_1 <10 .
v_2 = 1 .
WHILE v_2 <= v_1 .
v_3 = v_1 * v_2.
cv_1 = v_1.
cv_2 = v_2.
cv_3 = v_3.
CONCATENATE cv_2 'X' cV_1 '=' cV_3 into cv_4.
write : cv_4.
v_2 = v_2 + 1.
ENDWHILE.
WRITE : /.
v_1 = v_1 + 1.
ENDWHILE.
更详细的说明:
ABAP是一种高级企业应用编程语言(Advanced Business Application Programming),起源于20世纪80年代。经过不断的发展,现在的版本为ABAP/4,SAP R/3的应用程序就是用ABAP/4编写的。
ABAP/4 是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。
ABAP/4具有事件驱动的特性。
ABAP/4 和COBOL具有类似之处。
ABAP/4适合生成报表。
ABAP/4支持对数据库的 *** 作。
SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足商业领域的需要。现在,ABAP/4已成为SAP开发所有自己的应用程序的仅有工具。
SAP客户用ABAP/4进行其自身开发。这样的开发对R/3标准解决方案适应特殊问题非常重要
ABAP/4 开发工作平台包含所有用于创建和维护ABAP/4程序的工具。
ABAP/4的可解释特性使其易于生成、测试并运行程序的中级版本,以便将来生成最终版本。此过程也叫做早期原形处理,意味着您不必丢弃中级版本。
ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。
在ABAP/4开发宝典中文版的第一部分,对ABAP/4的基本特性进行了详细描述。这些特性包括:
ABAP/4 包括
- 带有各种类型和结构的声明数据的声明元素
- 数据制作的 *** 作元素
- 控制程序流的控制元素
- 反应外部事件的事件元素
ABAP/4支持多种语言。文本摘要(例如,标题、页眉和其他文本)将根据程序代码分别存储。您可以随时在不改变程序代码的情况下更改、转换和维护这些文本摘要。
ABAP/4支持商业数据类型和 *** 作。您可以用特殊日期和时间字段进行计算。系统会自动执行必需的类型转换。
ABAP/4提供一系列功能处理字符串。
ABAP/4包含一个叫OpenSQL的SQL子集。用OpenSQL,您可以读取和访问数据库表,与所用的数据库系统无关。
ABAP/4允许您定义和处理内部表,该表只在运行程序时存在。内部表使其更容易处理数据表,并帮助使用程序中的复杂数据结构。
ABAP/4允许您定义和调用子程序。也可以调用其他程序的子程序。参数能够以各种方式从子程序传递或传递到子程序。
ABAP/4 包含一种特殊子程序,叫做功能模块。您可以在中央库中创建和维护功能模块。在调用程序和子程序之间功能模块有一个明确定义的数据接口。它们能够以调用程序的独立模式进行分别测试。
这里有两种主要的ABAP/4程序类型:
-报表程序
报表程序用于分析数据库表中的数据。这种分析的结果可以显示在屏幕上或发送到打印机上。逻辑数据库支持报表程序。逻辑数据库是特殊的ABAP/4程序,使开发者不必编码所有的数据库访问。
-对话程序
将对话程序组织为包含对话模块的模块池。每个动态程序(由一个屏幕及其流逻辑组成的“动态程序”)都基于一个ABAP/4对话程序。流逻辑包含对ABAP/4对话模块的调用。
* * * * * * * 定义【I】.【S】两个变量,为I型,即整数形。从后面的code可以看出,【I】是代表循环多少次,【S】是代表想加的1,2,3...自然数连加后的结果。DATA: I TYPE I,
S TYPE I.
* * * * * * *赋初值,【I】的值为1,【S】的值0。
I = 1.
S = 0.
* * * * * * *
* 【While....end while】这是一个循环。"WHILE" 顾名思义,就是当什么什么条件满足的时候,才去做什么事情。
*初值: I = 1. S = 0.
*第一次进while...endwhile里面。 S = S + I,于是S变成了1. I = I + 1. 于是, I变成了2。
这时I是《= 10的,继续做循环哦。
*第二次进while...endwhile里面。 S = S + I,于是S变成了3. I = I + 1. 于是, I变成了3。
实现了1 + 2 的功能,结果存在S里。 这时I是《= 10的,继续做循环哦。
*第三次进while...endwhile里面。 S = S + I,于是S变成了6. I = I + 1. 于是, I变成了4。
实现了1 + 2 +3的功能,结果存在S里。 这时I是《= 10的,继续做循环。
*第四次进while...endwhile里面。 S = S + I,于是S变成了10. I = I + 1. 于是, I变成了5。
实现了1 + 2 +3 +4的功能,结果存在S里。 这时I是《= 10的,继续做循环。
继续第五次,第六次。。。。
*第十次进while...endwhile里面。I = I + 1. 于是, I变成了11。这时已经不满足I《= 10了条件了,结束循环。
* * * * * * *
WHILE I <= 10.
S = S + I.
I = I + 1.
ENDWHILE.
* * * * * * *结束循环,将S结果输出在报表上。 over.
WRITE: / '1+2+3+…+10=',S.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)