SAP系统中ABAP程序运行示例

点击查看原图

•    上图说明了在各个服务层之间的数据交互,需要说明的是,实际处理时应用层与数据库的交互 比上图中更为频繁,不仅仅在处理用户操作时才 读写数据库。后面的例子会详细说明这一过程。 •    当用户触发一个操作,例如按了回车、功能键、菜单、按钮等时,就会把控制权从表示层传递给 应用层。 •    只有跟用户操作相关的那部分程序会被执行。 •    如果在程序中触发了其他会话,系统会把屏幕传递给表示层,同时交出控制权。

 

1、程序开始 –     用户登录到系统之后,就会出现初始屏幕,在初始 屏幕里,可以通过菜单路 径或事务码来启动ABAP 程序。 –     知识库(Repository), 它是SAP 系统中非常重要的组成部分,负责存储 系统运行的基本数据,例 如:程序库、数据字典、 ABAP 对象等,被保存在数据库中,后面会专题讲 解它。

2、系统读取程序上下文 –     上下文(Context),在汉语里面还真没什么合适的词可以跟这个英文单词对应的,只可意会不可言传。 –     系统在程序开始后,会把所有程序上下文读到应用服务器上。程序上下文包括:存储变量和复杂对象的内 存区,用户会话的屏幕信息,ABAP程序块等。上述的这些东西都存储在知识库中。 –     上页的例子里,用到了一个选择屏幕与用户交互,一个变量和一个结构,还有一个ABAP程序块。显示数据的清单则根据用户输入动态生成。 –     ABAP 运行时环境控制后面的程序流。

3、运行时系统发送选择屏幕 –     如果运行时系统包含了选择屏幕,ABAP运行时系统就会把屏幕发送给表示层服务器,在用 户没有输入完成前,表示层服务器就控制着程 序流。 –     选择屏幕可以做一些基础的输入有效性检查, 如必输字段、日期/数值格式等。

4、输入的值被插入数据对象 –     用户完成了在选择屏幕的输入后,就可以通过触发执行来处理程序。 –     输入的数据自动被保存到程序相应的数据对象中, ABAP 运行时系统又重新获得程序的控制权。 –     在我们的示例中,只有一个程序块,运行时系统就顺序处理ABAP程序块。 –     如果用户输入的类型不对,会自动触发错误消息,用户必须纠正他的输入。(这里的类型与选择屏幕的有 效性检查不同,包含例如2月30日这种日期超范围等错误。)

5、程序从数据库请求数据记录 –      在示例中,读数据库的操作写在ABAP程序过程块中。关于取哪张数据表哪些字段的信息都 被传递给数据库。

6、数据库把数据记录返回给程序 –     数据库把数据记录返回给程序,ABAP运行时系统确保把数据保存在相应的数据对象中。 –    如果只读一条记录,则通常使用一个包含了所需字段的结构。

7、运行时系统发送清单 –     在程序块中,也编写了关于清单布局显示格式的代码,在生成了清单后,运行时系统就把清 单发送给表示层服务器。转载请注明来源诚信在线开户 www.ttt8888.com

 

posted @ 2013-05-20 10:38  不闲  阅读(551)  评论(0编辑  收藏  举报