总述

ABAP是Advanced Business Application Programming的简写,即高级的商业应用程序设计(语言),是SAP自有的一种语言。

目录访问方式

ABAP可以通过Tcode(事务代码)的方式访问目录,也可以通过菜单的方式访问目录,Tcode可以理解为程序代码编号。

ABAP IDOC 相关function abap dec_其他


常用Tcode:

  • S001:Tcode列表
  • SE80:对象浏览器
  • SE11:数据字典
  • SE38:编辑器
  • SE37:函数绘制器
  • SE24:类制造器
ABAP开发对象

表(存储数据,类似于数据库表)、程序、函数、类、Dialog(对话屏幕)、Smartform、BDC、增强、接口:用于SAP和外部系统交互的技术(IDOC,WebService,RFC等)。
注意:所有ABAP开发对象的名称必须以Z或Y开头,一般正式项目的开发对象都以Z开头。

开发类

Development Class ——Package,可以翻译为包。用于存储SAP系统开发过程中的相关对象(表结构定义、程序、系统数据类型等),也就是将开发过程中的相关对象存储在一起,方便进行管理和查询。

通过包可以使其所包含的对象能够在不同的服务器间的批量传输(传输开发对象是通过请求号进行传输的,请求号相当于是一个文件,用于记录所有对象的修改文件,这样在传输时只需要传输修改的内容,而不需要传输整个开发对象)。

不属于任何任何开发类的开发对象,可分配本地开发类$TMP,在本地开发类中的开发对象不能进行系统间传输,主要用于测试。

ABAP IDOC 相关function abap dec_开发类_02

包/开发类的创建

创建开发类目录的Tcode:SE21,输入完包名称后点击创建。

包接口用于创建多个包时,包和包之间连接使用,一般不用填。

ABAP IDOC 相关function abap dec_其他_03


点击创建后填写以下内容,其中“简短描述”是必填的,填写对包的描述即可,然后点确定。

ABAP IDOC 相关function abap dec_开发类_04


在第一次使用时需要创建请求号,点击确定后会有创建请求号的对话框,下图的对话框,点击红圈圈出的创建请求按钮。在接下来的对话框中填入短描述(必填),然后点击保存后会自动生成请求号,然后确定即可。

ABAP IDOC 相关function abap dec_SAP_05


可以通过SE09查看请求号,通过SE80(对象浏览器)查看开发类。

程序

程序创建过程

一般分为报表程序和对话程序两大类,报表程序主要用于展示数据,对话程序用于和用户交互。

创建程序的Tcode为SE38(编辑器)。

ABAP IDOC 相关function abap dec_开发类_06

界面操作

编辑器界面的主要的操作按钮有:检查、激活、执行、删除、复制、调试、含变式(带变式执行),以及下方的创建、显示和更改等等。

  • 激活:开发的程序需要激活后用户才能够正式使用。
  • 调试:对程序的运行进行调试,可以在程序执行过程中进行人为的控制(如执行到某处时停止、只执行某一块等),以此来观察执行过程或某些变量在执行过程中的变化。
  • 含变式:保存本次的输入,在下一次使用时调出本次输入的内容。
创建程序
  1. 首先在编辑器页面输入程序名称,程序名称和其他开发对象命名一样,以Z或Y开头,一般以Z开头。输入完名称后点击创建进入属性界面。
  2. 进入属性界面后填入程序的标题,然后在属性区填入程序的相关属性,类型一般填可执行程序,状态填测试程序,其他的无必要填写,填写完成后点击保存。
  3. 选择程序要保存在哪里(开发类还是本地对象),需要保存在开发类(包)中则选择对应的包,点击保存,否则点击本地对象进行保存。
程序类型
  • 可执行程序:可以通过ABAP EDITOR直接运行,每个执行块按照顺序执行,可以使用标准的selection screen,主要用于显示list。
  • 模块池:多个屏幕共享的程序,必须通过事务代码启动,非顺序执行,按照用户需要执行。
  • 函数组:创建函数组时生成的一种程序
  • include程序
  • 接口池
  • 类别池
程序状态
  • 标准生产程序:SAP创建的程序,不是以Y或Z开头
  • 客户生产程序:客户创建的程序
  • 系统程序
  • 测试程序
程序界面

程序界面中的代码,灰色部分为注释,蓝色部分是关键字。在ABAP中不区分大小写,但是一般规范的代码,关键字部分是大写,其余为小写,开发对象的命名一般都用大写。

ABAP IDOC 相关function abap dec_开发类_07


上图为程序界面。

“模式”按钮用于子对象的插入,子对象包括函数、类、消息等等,插入时只需要输入子对象的名称,会自动生成调用子对象的编码;

规范化打印是用于自动将代码进行格式的规范化,格式的规范可以自己设置。

程序必须以“REPORT + 程序名”开头,每个语句以英文半角的句号结尾。程序编写完成后先保存,在点击检查按钮来检查程序有无语法错误,最后点击激活。

规范化的设置方法

Utilties/实用程序—>设置—>ABAP Editor/ABAP编辑器—>pretty Printer/格式优化器
进入格式优化器后在里面进行设置即可。

开发的命名规范

一般命名规范的要求:

  • 命名简易快捷,具有唯一性
  • 符合SAP客户化命名规范(只能以Z或Y开头且一般用Z)
  • 尽可能短
  • 名称尽量有意义
  • 尽量少用特殊字符(“_”除外)
  • 如果是复制SAP标准的对象或程序,在开头加上“Z_"

一般命名的格式:
一般使用八个字符,八个字符的选取规则如下:
第一个字符:Z或Y
第2-3个字符:SAP模块简写
第四个字符:程序类型

  • 接口:I
  • 打印:F
  • 报表:R
    第5-8个字符:序号