SAP AG
第一章:错误!使用“开始”选项卡将1 Heading 1 应用于要在此处显示的文字。
第1章 创建简单的 ABAP/4 程序
概览
内容
命名程序 ............................................................................................................................. 1
命名程序规 则 .............................................................................................................. 2 指定程序属 性 .................................................................................................................... 3 重要的程序 属性 ........................................................................................................... 3 编写程序 ............................................................................................................................. 4 测试程序 ............................................................................................................................. 5 显示或更改 程序 ................................................................................................................ 5 将事务代码 分配给程序 ..................................................................................................... 6
本节描述如何创建简单的 ABAP/4 程序。了解如何创建 ABAP/4 程序将有助于了解本指南中的其它主题。
创建简单的 ABAP/4 程序涉及下列基本步骤: 1. 命名程序 2. 指定程序属性 3. 编写程序代码 4. 测试程序
本节也描述如何显示或更改现有程序以及如何从编辑器中启动程序。 此处描述的创建新 ABAP/4 程序的过程适用于报表和短培训程序。在开始编写报表程序之前,用户也许想先创建报表和短培训程序以熟悉 ABAP/4 语法。要为新事务创建模块存储,可以采用不同于报表程序的方式进行。关于如何为事务创建模块存储的详细信息,参见 ABAP/4 模块池。
关于 ABAP/4 编辑器和调试过程的详细信息,参见文档 ABAP/4 工作台工具 (页 Error! Not a valid link.) 。
本节讲述下列主题:
命名程序
要创建 ABAP/4 程序,请进行如下操作:
1. 在“SAP R/3”初始屏幕上选择“工具 -> ABAP/4 工作台”。
出现“ABAP/4 开发工作台”屏幕
2. 选择“ABAP/4 编辑器”
“ABAP/4 编辑器初始屏幕”如下所示:
3. 为在“程序”字段中创建的程序输入名称(关于创建程序名称的详细信息,参
见 命名程序规 则 (页 2) )。
1
SAP AG
第一章:错误!使用“开始”选项卡将2 Heading 1 应用于要在此处显示的文字。
4. 选择“创建”。
不论在“对象组件”下选择什么,都出现“ABAP/4:程序属性”屏幕。
当命名并创建程序后,可以定义其属性(关于定义程序属性的详细信息,参见 指定程序属 性 (页 3) )。
创建 ABAP/4 程序还有其它过程。例如,可以: 1. 选择“ABAP/4 开发工作台”屏幕上的“对象浏览”。 2. 选择“对象列表”下的“程序”。 3. 选择“单一对象”下的“程序对象”。 4. 输入程序名并单击“显示”。 如果程序不存在,则询问是否要创建它。关于对象浏览器及创建程序其它过程的详细信息,参见文档 ABAP/4 工作台工具 (页 Error! Not a valid link.) 。 命名程序规则
当创建程序名称时请遵循如下规则:
_ 使用至少 1 个但不超过 8 个字符。
_ 不要使用下列字符 - 句点(.) - 逗号 ( , ) - 空格( ) - 括号 ' ( ' ' ) ' - 单引号 ( ' ) - 双引号 ( \" ) - 等号 ( = ) - 星号 ( * )
- 元音变音 (_ , _ , _ , _ , _ , _ ) 和 '_ '
- 百分号 (%) 和下划线 (_):因为这些符号是 SQL 语句的通配符,所以也会
导致问题(参见 为在程序中选定行指定条件)。SAP 建议在程序名称中不要使用它们。
创建程序名称时请遵守这些命名约定:
_ 报表程序(以列表格式输出数据分析):Yaxxxxxx 或 Zaxxxxxx。用应用程序
区的分类字母替换 a。用任何有效字符替换 x 。注意 SAP 报表程序遵守相似的命名约定:Raxxxxxx。
_ 任何其它 ABAP/4 程序(培训程序或事务程序): SAPMYxxx 或 SAPMZxxx。
用有效字符替换 x 。注意标准 SAP ABAP/4 程序遵守相似的命名约定:SAPMaxxx,其中 a 代表某应用程序区。
2
SAP AG
第一章:错误!使用“开始”选项卡将3 Heading 1 应用于要在此处显示的文字。
指定程序属性
程序属性决定程序属于哪种应用程序以及程序所链接的逻辑数据库。必须谨慎输入属性以便系统能
正确处理程序(有关程序属性的详细信息,参见 重要的程序 属性 (页 3) )。
已经将名称分配给程序并选择“ABAP/4 编辑器初始屏幕”上的“创建”时,出现“ABAP/4:程序属性”屏幕。
要输入程序属性,请进行如下操作:
1. 在字段“标题”中输入程序标题。选择描述程序功能的标题。系统自动将标题
与文本摘要合并。如果以后要更改标题,请按如下操作进行:
- 选择“ABAP/4 编辑器初始屏幕”上的“文本摘要”或“属性”。 - 选择“更改”。
2. 完成两个强制字段:
- 如果创建报表程序,则在“类型”字段中输入 1 ,如果创建模块存储,则
在“类型”字段中输入 M。关于可能类型的列表,请单击可能条目箭头。 - 在“应用程序”字段中为应用程序输入分类字母,如财务会计输入 F 。
3. 如果创建报表(类型 = 1),请选择“确定”。
系统将特定报表属性自动插入输入字段。然后看见附加字段“逻辑数据库”、“从应用程序”和“选择屏幕”(版本)。
4. 指定与程序相关的所有其他属性(有关程序属性的详细信息,参见 重要的程序
属性 (页 3) )。
5. 选择“保存”以保存属性。
6. 出现“维护对象目录条目”窗口。
7. 输入开发类。
如果为培训或测试目的创建程序(如某私有对象),则输入开发类 $TMP 或选择“逻辑对象”。
8. 选择“保存”以保存开发类。
这将关闭“维护对象目录条目”窗口并返回“ABAP/4:程序属性”屏幕。
9. 选择“后退”离开屏幕。如果要直接转到 ABAP/4 编辑器,请选择“转向 -> 源
代码”。 如果通过预定义开发类在“对象浏览器”中创建程序,则跳过步骤 6 到8。 重要的程序属性
最重要的程序如下所述。关于其它属性的详细信息(或关于此处描述的属性的详细信息),请选择相关的输入字段,并单击可能的条目箭头。
注意下述某些属性只适用于报表程序并不适用于其他 ABAP/4 程序。 类型
除了类型 1(如同报表的独立程序)和 M(模块存储),还应该注意类型 I(包含程序)。包含程序是个独立的程序,它有两个主要特征。首先,它包含程序代码,不同程序都可使用该代码。其次,
3
SAP AG
第一章:错误!使用“开始”选项卡将4 Heading 1 应用于要在此处显示的文字。
它用于模块化程序源代码,该代码分成逻辑相关部分。其中每个部分都存储在不同的包含程序中。
包含程序改善源代码的可读性并有助于维护。(有关包含程序的详细信息,参见 包含程序)。 应用程序
“应用程序”字段包括应用程序的缩写,如,财务会计缩写为 F 。该必需条目使系统能将程序分配给适当的业务区。 开发类
开发类对系统之间进行传输非常重要。执行传输时,可以将分配给某个开发类的工作台对象组合起来。
如果用户在某组中工作,也许要将程序分配给现有开发类或创建新的开发类。分配给开发类 $TMP 的程序是私有对象并且不能传输到其他系统。
但是,也可以通过选择“ABAP/4 编辑器初始屏幕”上的“程序 -> 重新分配...”更改分配给程序的开发类。
应用程序中的逻辑数据库(仅报表程序)
这些属性决定报表使用哪个逻辑数据库检索数据,以及逻辑数据库属于哪个应用程序。应用程序中数据库名称必须是唯一的。但是,整个系统可以包括数个同名数据库。因此指定应用程序很重要。关于逻辑数据库的详细信息,参见 逻辑数据库的特性和维护。
如果报表程序直接读取数据,而未使用逻辑数据库(关于此主题的详细信息,参见 访问带逻辑数据库的数据库表),则应该象通常一样指定应用程序,但将“逻辑数据库”字段置空。 选择屏幕版本(仅报表程序)
如果没有指定选择屏幕版本,则系统在逻辑数据库选择标准、报表特定参数及选择选项的基础上自动创建选择屏幕(关于选择屏幕的详细信息,参见 使用选择屏幕)。
如果想使用自己的选择屏幕,请在此字段中输入号码。该号码必须小于 1000。可以通过按 F4 或在 DBxxxSEL 程序中找到现有选择屏幕号码(详细信息,参见 逻辑数据库选择)。 大写/小写
显示和存储时,如果要让 ABAP/4 编辑器将程序代码与输入时保持相同,则请将该字段置空。如果选择该字段,则所有的程序代码(除了引号中的文本及注释外)都转换成大写字母。屏幕显示依赖于所使用的编辑器模式(详细信息,参见文档 ABAP/4 工作台工具 (页 Error! Not a valid link.) 。 编辑器锁定
如果设置此属性,则其他用户则不能修改、改名或删除程序。只有用户可以更改程序、维护属性、文本摘要及文档;或者解除锁定。 定点算术
如果设置此属性,系统则根据小数点位数将类型 P 字段四舍五入,或用零填补(关于类型 P 字段的详细信息,参见数字数据类 型 (页 3–4) )。这种情况下,无论在用户主记录中指定了什么,小数点字符总是句点(.)。 通过变式启动(仅报表程序)
如果设置该属性,则用户只可以使用变式启动报表程序。在启动程序之前,必须创建至少一个报表变式(关于创建变式的详细信息,参见 使用变式预设置选择)。
编写程序
在 ABAP/4 编辑器中编写 ABAP/4 程序。
可以直接从“ABAP/4 程序属性”屏幕切换到编辑器,也可以从“ABAP/4 编辑器初始屏幕”中调用编辑器。
请进行如下操作:
1. 在“ABAP/4 程序属性”屏幕上选择“转向 -> 源代码”或“源代码”。
4
SAP AG
第一章:错误!使用“开始”选项卡将5 Heading 1 应用于要在此处显示的文字。
选定“源代码”并选择“ABAP/4 编辑器初始屏幕”上的“更改”。
出现“ABAP/4 编辑器编辑程序”屏幕。
系统自动输入第一个 ABAP/4 语句,如
REPORT 对于 名称。 语句 REPORT 和 PROGRAM 实际上具有相同功能。它们使系统能识别报表程序或任何其他 ABAP/4 程序并允许为输出列表指定一定的标准: REPORT 或 PROGRAM 语句可以有不同的参数,如 LINE-SIZE、 LINE-COUNT 或 NO STANDARD PAGE HEADING。这些参数主要适用于报表程序,用来分析数据并输出结果列表。 关于列表的详细信息,参见 创建列表 或参见 REPORT 和 PROGRAM 上的关键字文档。 2. 输入程序代码。 3. 选择“检查”进行语法检查。然后系统扫描程序代码寻找语法错误及不相容处。 如果检查出错误,则出现消息报告它并且有可能的话将建议解决方案或更正。将光标放在适当的位置上。 4. 选择“保存”保存代码。 源文本存储在程序库中。 测试程序 测试程序检查代码是否正确工作。 为测试目的要运行程序,选择“ABAP/4 编辑器编辑程序”屏幕上的“程序 -> 执行”。 系统执行该程序,如同从“ABAP/4 编辑器初始屏幕”中启动的一样。例如,创建报表程序之后,则首先出现从中输入条件的选择屏幕,然后是结果列表。 如果正创建 ABAP/4 程序模块,则必须在运行程序之前创建事务代码(关于创建事务代码的详细信息,参见 对话编程简介)。 出于测试目的,可以先不进行保存,直接运行某个不是模块存储部件的程序。编辑器保留一个包含更改的临时版本。但是,测试结束后必须返回编辑器以确保所有更改都已保存。 显示或更改程序 本节主要说明如何显示或更改现有程序。此处相关的是技术步骤而不是实际代码更改。 要显示或更改程序,请进行如下操作: 1. 在“ABAP/4编辑器初始屏幕”上的“程序”字段中输入要更改的程序名称。 5 SAP AG 第一章:错误!使用“开始”选项卡将6 Heading 1 应用于要在此处显示的文字。 2. 选择“源代码”并选择“显示”或“更改”。 如果选择“更改”则继续步骤 3。 如果选择“显示”,则看到“ABAP/4编辑器显示程序”屏幕。此处也显示源代 码,但不能进行更改。可以通过选择“显示 -> 更改”切换到更改模式。 3. 如果其他用户锁定该程序对编辑器的访问,则系统显示下列消息: User 在这种情况下,不能更改程序。要更改程序,必须将它复制到新程序中并用新程序名再开始步骤 1。否则,继续步骤 5。 4. 输入对程序代码的更改。 5. 选择“检查”检查语法。 6. 保存程序的更改版本。 如果更改程序的私有版本(开发类 $TMP),则立即保存更改版本。 如果从 $TMP 之外的开发类更改程序,则会出现一个窗口,从中可以指定更正号。 7. 运行程序测试它(关于测试的详细信息,参见 测试程序 (页 5) )。 将事务代码分配给程序 可以将事务代码分配给类型 1 的单独程序,以后就将这些程序作为事务代码处理。在编写 ABAP/4 事务 中对事务有说明。 进行如下操作: 1. 按照本节上述主题所述,创建单独程序。 2. 在“ABAP/4 开发工作台”屏幕上选择“开发 -> 其它工具 -> 事务”。 3. 填入事务名称并选择“维护事务”屏幕上的“创建” 4. 在下列对话屏幕上选择“报表事务” 5. 在下列“创建报表事务”屏幕上填入所需条目“事务文本”和“程序”。 6. 将事务代码保存在开发类中。 6 因篇幅问题不能全部显示,请点此查看更多更全内容