ABAP开发语言「建议收藏」

ABAP开发语言「建议收藏」2.第二部分ABAP开发语言2.1.ABAP基础2.1.1.语言概述2.1.1.1.程序结构ABAP程序源码结构包括数据定义和处理块两部分;处理块又分为事件块,对话模块,过程。过程中可以定义自己的局部变量。事件块,对话模块,只能使用全局数据定义。2.1.1.2.程序类型可直接运行的应用程序(可分配事务代码)可执行程序Executableprogram,类型代码…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

2.第二部分 ABAP开发语言
2.1.ABAP基础
2.1.1.语言概述
2.1.1.1.程序结构
ABAP程序源码结构包括数据定义和处理块两部分;处理块又分为事件块,对话模块,过程。
过程中可以定义自己的局部变量。
事件块,对话模块,只能使用全局数据定义。
2.1.1.2.程序类型
可直接运行的应用程序(可分配事务代码)
        可执行程序Executable program,类型代码1,report关键字引导
        可自定义屏幕,ABAP Editor编辑和运行,submit提交,可分配事务码运行,
        可调用所有类型的ABAP处理块,不能定义功能模块,可出现所有运行时事件
                常做报表程序,处理报表事件
        模块池 Module Pool,类型代码M,Program关键字引导
                可自定义屏幕和对话模块,ABAP Editor编辑,必须通过分配事务码运行,
                可以调用ABAP处理块(除报表事件和功能模块),非后台工作模式。
                常做复杂的事务程序,操作数据库等
功能模块,不可直接运行的函数(特定的功能,模块化功能)
        功能组 Function groups,类型代码F,由Function-pool引导
                唯一可以包含功能模块的程序,可定义屏幕,但不能直接运行
        ABAP类库 Class pools,类型代码K,由class-pool引导
                唯一可以包含类方法的处理块,不可定义屏幕,也不能直接运行,
                可包含一个全局类和多个局部类,Class Builder创建
        ABAP接口库 Interface pools,类型代码J,由interface-pool引导
                与代码K类似,表示ABAP对象的接口
        子程序池 Subroutine pools,类型代码S,由program引导
                不可定义屏幕,不可直接运行,只能被普通程序调用,
                可包含一个或者多个子程序代码模块或类方法,ABAP Editor编辑
        类型组Type groups,无类型代码,由type-pool引导
                不可定义屏幕,不可直接运行,仅用于定义全局数据类型,
                ABAP Dictionary定义
        包含程序 Include programs,类型代码I,不需要任何语句引导
                无需完整的处理模块,无需独立编译,仅是代码复用,
                ABAP Editor编辑,可直接插入其他程序中,可被多个程序引用,
                与引用程序直接不存在参数接口。
2.1.1.3.程序元素
ABAP元素
        源代码Source code
                数据定义和处理块
        变式Variants
                与选择屏幕有关,用于存储用户屏幕选择的条件
        属性Attributes
                程序类型,逻辑数据库,应用模块
        文本元素Text elements
                存储在文本池Text Pools的文字,包括
文本字符Text symbols、选择字符Selection texts、列表标题List Headings
        文档 Documents
                解释程序功能,注释部分,可语言相关性
屏幕
        普通屏幕Screens,标准屏幕
                包含屏幕布局Layout和流逻辑Flow logic,使用Screen Painter设计
                布局,用户可见的元素,比如输入输出字段,按钮等
                流逻辑,屏幕处理器控制,独立ABAP语法,需调用ABAP模块实现具体应用操作
        选择屏幕Selection Screens
                常用于报表程序中,接受用户输入报表的选择标准,使用ABAP控制屏幕输出格式
                不需要使用Screen Painter设计,流逻辑,不需要特别控制,自动触发
        传统列表屏幕Lists
                ALV表格控件前的主要报表程序输出界面,通过ABAP的write和uline语句生成。
GUI
        屏幕的一部分,独立与上述三个SAP屏幕,主要包括菜单,工具栏,功能键等。
        不使用ABAP编辑,通过Object Navigator(SE80)添加至程序中。
        使用Screen Painter和Menu Painter开发。
2.1.1.4.语句格式
语句结构
        ABAP关键字引导,句号“.”结束。
        根据关键字分类:
        声明语句        TYPES, DATA, PARAMETER, TABLES
        模块化语句       
事件关键字AT SELECTION-SCREEN, START-OF-SELECTION, AT USER-COMMAND
过程定义关键字FORM/ENDFORM, FUNCTION/ENDFUNCTION, MODULE/ENDMODULE
        控制语句        IF, WIHLE, CASE
        调用语句        PERFORM, CALL, SUBMIT, LEAVE TO
        操作语句        WRITE, MOVE, ADD, =
        数据库语句       
编辑格式
        空格
语句链
        “:”“,”
注释
        整行注释 *
        语句注释 “
2.1.1.5.程序运行
程序调用
        直接运行,SE38/SA38中运行按钮,或者系统目录,命令域输入事务代码运行;
        内部调用,
完全移交控制权,无返回调用,SUBMIT,  LEAVE TO TRANSACTION,
嵌入式,调用并返回,SUBMIT AND RETURN,  CALL TRANSACTION,
结束程序
        Leave program
2.1.1.6.内存管理
SAP程序运行期间的内存管理与用户会话相关,包括SAP内存和ABAP内存两大部分。
主会话
        外部会话,可以6个,使用不同的ABAP内存
内部会话
        主会话中运行可执行程序或者模块池程序,ABAP内存的一部分。
调用序列
        程序调用时,传递的数据需要使用同一个主会话的公共ABAP内存
ABAP内存
        每个主会话都有一个ABAP内存,其中的数据以程序调用序列的顺序存储。
        通过EXPORT TO MEMORY/IMORT FROM MEMORY在该内存的堆栈间传递数据
SAP内存
        所有会话都可以访问的内存区域,
        SET PARAMETER/ GET PARAMETER
装载程序
        每次开始运行或者调用一个ABAP程序时,系统将一个程序实例转载入ABAP内存,第一个被转载的程序为主程序。每个1、M、F、S类型的程序实例被转载时都触发LOAD-OF-PROGRAM事件(类库程序除外),该事件保证每个程序在内部会话中仅转载一次。
对象创建
        CREATE OBJECT语句创建ABAP Object时,一个类的实例被转载至内存会话,所有该内存会话的程序及对象都可以使用该类实例。对象引用变量不能储存与ABAP内存和SAP内存中,故 跨事务的处理,需要将数据对象使用数据库的持续服务persistence service来长期保存,以供另一个事务使用。 而内部会话的子程序,功能模块和类方法可以直接引用对象指针。

转载于:https://www.cnblogs.com/panjun-Donet/archive/2010/11/16/1878263.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226926.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Tensorflow加载预训练模型和保存模型

    使用tensorflow过程中,训练结束后我们需要用到模型文件。有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练。这时候我们需要掌握如何操作这些模型数据。看完本文,相信你一定会有收获!

    2022年4月9日
    103
  • 共享计算机没有响应,网络共享打印机出现联机无反应的处理方法

    共享计算机没有响应,网络共享打印机出现联机无反应的处理方法网络共享打印机出现联机无反应、打印乱码及无法连接共享打印机的故障处理方法1、共享打印出现乱码倘若从局域网中某一台工作站中执行共享打印操作时,网络打印机能够正常工作;而从另外一台工作站中执行共享打印操作时,网络打印机打印出来的内容全部是乱码,遇到这种故障时你该如何快速排除呢?从上面的故障现象来看,大家可以知道共享打印机在硬件方面以及网络连接方面都应该是正常的,毕竟有计算机能够通过网络正常进行打印材料…

    2022年6月5日
    148
  • 深入理解HandlerThread

    深入理解HandlerThread以往遇到HandlerThread,对它的认识只是停留在MessageLooperHandler上,知道它有自己的消息队列,仅此而已。随着编程的深入,个人已不再满足表面上的理解,所以再次翻开HandlerThread源码,做梳理记录。HandlerThread集成Thread,并重写了Thread类的run方法(如果我们自定义一个类继承HandlerThread,就用不到run函数了):

    2022年7月12日
    22
  • 虚拟机vmware workstation安装_linux安装出现dracut

    虚拟机vmware workstation安装_linux安装出现dracut在VMwareWorkstation中安装了RedFlagLinuxDesktop觉得界面以及操作与Windows没什么两样。那末他的优点在哪里呢?我为什么要放弃用了几年的MSWindows来使用这个系统呢? 转载于:https://blog.51cto.com/89000/11249…

    2022年8月20日
    11
  • webapp开发框架推荐以及优缺点分析【webAPP干货】[通俗易懂]

    webapp开发框架推荐以及优缺点分析【webAPP干货】[通俗易懂]推荐下面6款常用的webapp开发框架。有兴趣可以阅读《HTML5移动webAPP和HybridAPP开发的优缺点分析》和2014年webAPPUI设计和前端JS特效案例集萃第一款:Sencha TouchSenchaTouch是世界上第一个支持HTML5和CSS3标准的移动应用框架,你可以使用HTML5来编写音频和视频组件,还可以使用Lo

    2022年6月15日
    38
  • hostapd 移植和使用[通俗易懂]

    hostapd 移植和使用[通俗易懂]一、hostapd简介hostapd是一个用户态用于AP和认证服务器的守护进程。它实现了IEEE802.11相关的接入管理,IEEE802.1X/WPA/WPA2/EAP认证,RADIUS客户端,EAP服务器和RADIUS认证服务器。二、hostapd移植1.打开hostap官网,下载hostapd-2.7.tar.gz源码包;      2.解压源码包:…

    2022年5月22日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号