SAP ABAP_4编程语法汇总(中文版)
SAP的ABAP4语言中文培训教材第三部分第二章处理用户请求

第二章处理用户请求概览在事务中,用户通过选定屏幕按钮、菜单功能、功能键、工具栏按钮、图标或ENTER键进行请求内容处理用户请求 (1)用功能代码编程 (1)设置功能代码 (1)处理功能代码 (2)处理字段选择 (3)共享GUI-状态 (3)用单选按钮编程 (4)用复选框编程 (4)执行动作时,系统触发PROCESS AFTER INPUT事件。
传送的数据包括由用户输入的字段屏幕数据和功能代码。
功能代码是个技术名称,在屏幕制作器或菜单制作器中将它分配给菜单项、按钮、ENTER键或屏幕的功能键。
PAI模块中的内部工作区(ok-cod◎士根据功能代码执行相应的动作。
下面的章节用TZ20事务(开发类SDWA)显示如何用按钮控制事务执行的方式。
本章最后两节介绍如何使用单选按钮和复选框。
下列主题介绍如何在事务中包括用户功能:用功能代码编程(页1 )用单选按钮编程(页3 )用复选框编程(页4 )对话程序如何处理用户请求?用功能代码编程下列主题介绍如何使用功能代码: 设置功能代码(页1 )处理功能代码(页2 )处理字段选择(页3 )共享GUI-状态(页3 )设置功能代码要在对话程序中处理用户请求,必须将功能代码分配给屏幕制作器或菜单制作器中相关的屏幕和窗口元素。
在屏幕制作器中:屏幕按钮在菜单制作器中:菜单功能功能键工具栏按钮和图标ENTER 键屏幕制作器在屏幕制作器中,可以通过设置按钮字段的“功能代码” 属性来分配功能代码。
在TZ20事务中为“显示”按钮在屏幕制作器中设置了功能代码(FctCode)FTCH。
菜单制作器在SAP系统中,程序的用户界面包括在菜单制作器中定义的一个或多个GUI状态和一个GUI标题。
GUI状态是一组事务在给定时间所需的动态元素。
GUI标题是显示在窗口会话顶部的标题栏文本。
为了处理用户在菜单制作器中定义的屏幕元素的功能代码,程序必须指定将岀现在PBO处的屏幕GUI状态。
在TZ20事务中将“其它航班”按钮定义为TD0100 GUI状态中菜单栏的一部分。
资料_ABAP4基本语法介绍

1. ABAP/4 IntroductionIntroductionABAP/4(Advanced Business Application Programming)是SAP/R3目前唯一的系统发展工具, 属4GL, 语法比较近似Visual Basic或JAVA, 和传统third-generation 语言, 如C,PASCAL 有很大不同, 在程序模块(Program Structure Module)可分以下三个部分:1.Sequential coding within processing block与一般语言语法近似, 如IF,WHILE等, 但并没有GOTO叙述2.Reports呼叫一个独立的事件(Depending Event), 读取database 产生资料列表3.Dialog屏幕参数输入的对话框, 专门处理database 读取或异动的tranaction processBasic Languange Overview1.data element 宣告方式, 如数值, 字符资料变量宣告2.操作数(operate)使用, 如+ - * /3.Control element使用, 如Boolean 值4.特殊资料格式, 如日期与时间5.字符串字料处理function, 如部分字符串的截取6.子程序或自定函数的呼叫7.SQL语法使用8.数据结构的使用, 如process internal table的宣告与使用Reports Overview1.Reports Task, 如报表屏幕预览或打印机打印的选择2.Reports 模块是一个Stand-along 程序,3.database读取方式, 如可定义logical database(与磁盘的physical storage对映)4.报表数据的计算与产生5.报表的输出Dialog Overview1.专处理database 的读取与异动, 如使用SQL 指令2.Dialog 不是一个Stand-Along Progarm, 使用transaction code来产生屏幕对话框3.由flow logic 控制, flow logic分成PBO(Process Before Output)与PAI(Process After Input)2.Begin To Programming2.1 ABAP/4 EditorCreating ABAP/4 Program使用ABAP Workbench撰写程序(Choose Tools->ABAP/4 Workbench, Transaction Code: S001), 萤幕如下:可分成:1.ABAP/4 Editor :针对简单的报表或程序, 仅使用几个组件或不使用2.Obiect Browser :针对复杂的报表或程序, 如Dialog Transaction Module 撰写使用ABAP/4 Editor 撰写程序1.ABAP/4 Editor 画面如下(Transaction Code:SE38):2.输入程序名称, 如果是新程序, 按下”Create”, 如果修改已存在程序, 则按下”Change”或F6键在命名规则上, Reports程序为Yaxxxxxx或Zaxxxxxx, a表application module简称, 如s表SD Dialog程序为SAPMYxxx或SAPMZxxx3.输入程序Attribute(1).Title:程序描述或功能说明(2).Type:Execute mode: 1: Stand-along Program 如ReportsI: Include ProgramM: Module PoolF: Function GroupS: Subroutine Pool(3).Status:Program development status: P: SAP standard production programK: Customer production programS: System programT: Test program(4).Application: 程序所属的application module, 如F表Financeial acounting(5).Development class: 用于同一系统中各个program, 如果不属任一class, 可使用$TMP4.撰写Source CodeProgram 之后接的是程序名称, Write 是显示的意思, 会将所接的字符串在屏幕上显示, 注意每一行最后要有一个. (点), 表示叙述的结束, 储存后回ABAP/4 Editor画面5. 执行程序按”Execute”或F8键, 屏幕可见执行所得的结果重要的编辑键2.2 ABAP/4 Data ElementData TypeABAP/4 的资料型态可分成:Type Length Range Initial Value DescriptionC 1 1-65535Byte Space 字符串数据, 如‟Program‟D 8 8Byte …00000000‟ 日期资料, 格式为YYYYMMDDF 8 8Byte 0 浮点数I 4 -2^31至2^31-1 0 整数N 1 1-65535Byte …00…0‟ 数值所组成的字符串P 8 1-16Byte 0 Packed 数, 用在小数点数T 6 6Byte …000000‟ 时间资料, 格式为HHMMSSX 1 1-65535Byte X‟00‟ 16进位数变量宣告变量宣告包含name, type, length 和structure四个部分, 使用DATA 指令, 如DATA: S1 TYPE I,SUM TYPE I.常数宣告常数宣告使用CONSTANTS 指令, 如宣告PI 是一个小数点5位的值3.14159, CONSTANTS PI TYPE P DECIMALS 5 VALUE …3.14159‟.系统所定义资料这是由系统所定义的专有名辞, 如SPACE 空白字符串SY-SUBRC 系统执行传回值, 0 表示成功SY-UNAME logon 帐号SY-DATUM 系统日期SY-UZEIT 系统时间SY-TCODE 目前的transaction codeTYPE 叙述用来指定资料型态或宣告自定资料型态Example:TYPES: BEGIN OF MYLIST,NAME(10) TYPE C,NUMBER TYPE I,END OF MYLIST.DATA LIST TYPE MYLIST.LIKE 叙述跟TYPE叙述使用格式相同, 如DATA TRANSCODE LIKE SY-TCODE.不同的是LIKE 用在已有值的资料项, 如系统变量, 而TYPE叙述则是用在指定资料型态。
SAP的ABAP4语言中文培训教材第二部分第六章创建列表

第六章创建列表概览内容标准列表........................................................................................................................................... 1标准列表示例 ............................................................................................................................ 1标准列表结构 ............................................................................................................................ 2标准列表的用户界面.................................................................................................................. 2自定义列表 ....................................................................................................................................... 4单个页眉 ..................................................................................................................................... 4确定列表宽度 ............................................................................................................................ 5确定页长 ..................................................................................................................................... 5定义页脚 ..................................................................................................................................... 6多页列表........................................................................................................................................... 7编程分页 ..................................................................................................................................... 7单页的标准页眉......................................................................................................................... 8单页页长 ..................................................................................................................................... 9列表级的页宽 ........................................................................................................................ 10在程序之内滚动..................................................................................................................... 10列表页面设置.............................................................................................................................. 13定位输出 ................................................................................................................................. 13格式输出 ................................................................................................................................. 16特殊输出格式 ........................................................................................................................ 21创建空行 ................................................................................................................................. 23画线、框架和网格 ................................................................................................................. 24确定页的哪一部分可以水平滚动 .......................................................................................... 28列表是ABAP/4 报表程序数据的输出媒介。
SAP的ABAP4语言中文培训教材第三部分第十章编写字段-和值-帮助程序

编写字段- 和值- 帮助程序概览F1 或为用户提供当前光标所在字段的帮助文本。
F4 或组合框(如果可用的话)提供可在该字段中输入的值的列表。
用户可将列表中的光标放到所选值上并按下F2 或双击鼠标,将该值复制到字段中。
内容编写字段- 和值- 帮助程序定制F4-值-请求定制F1-帮助字段- 帮助的功能模块具有匹配代码的字段-帮助用这种方法输出的信息保存在ABAP/4 库中。
在对话程序中,屏幕处理器自动显示各字段的数据元素的帮助文本。
可能值的F4 列表通常会引用某个域的有效值的固定设置或相关值表中的数据。
标准列表对于用户自己开发的应用程序通常也是够用的。
但是,根据具体的对话程序不同,也可以建立更详细或稍有不同的文档和可能值列表。
可以用PROCESS ON HELP-REQUEST (POH) 和PROCESS ON VALUE-REQUEST (POV) 事件来编写帮助文本和可能值列表程序。
这些事件可以在屏幕处理逻辑中与PROCESS BEFORE OUTPUT 和PROCESS AFTER INPUT 事件一起执行。
1 PROCESS ON HELP-REQUEST:语法PROCESS ON HELP-REQUEST.FIELD <field> MODULE <module>.FIELD <field> MODULE <module> ...通过FIELD 语句将模块调用分配给屏幕字段。
如果按下F1 或,就会执行光标所在字段的POH 模块。
1 PROCESS ON VALUE-REQUEST:语法PROCESS ON VALUE-REQUEST.FIELD <field> MODULE <module>.FIELD <field> MODULE <module> ...用户按下F4 或激活屏幕字段中的组合框之后,会发生POV 事件。
SAP的ABAP4语言中文培训教材第二部分第三章使用变式预 设置选择

第三章使用变式预设置选择概览内容什么是变式? ................................................................................................................................... 1创建和更改变式 .............................................................................................................................. 1显示所有变式报表 ..................................................................................................................... 1创建变式 ..................................................................................................................................... 1变式属性 ..................................................................................................................................... 2更改变式 ..................................................................................................................................... 2删除变式 ..................................................................................................................................... 2打印变式 ..................................................................................................................................... 2使用变式变量.................................................................................................................................. 2使用变量日期计算 ..................................................................................................................... 3使用特定用户值......................................................................................................................... 3使用表格TVARV ........................................................................................................................ 4使用变式执行报表程序.................................................................................................................... 5本节描述:什么是变式?启动报表程序时,ABAP/4 在选择屏幕上提供特定数据库和特定报表选择的输入字段。
ABAP4语法

©2008 HAND Enterprise Solutions Co., Ltd. Confidential Not For Public.
9 COLLECT LINE
COLLECT 指令也是将元素加入 指令也是将元素加入Internal table中,与APPEND 的区别是 COLLECT指令在非数值 的区别是: 中与 指令在非数值 字段相同的情况下,将数值字段汇总 字段相同的情况下 将数值字段汇总. 将数值字段汇总 格式: 格式 COLLECT [<work area> INTO ] <itab>
DATA: BEGIN OF ITAB OCCURS 3, COL1(3) TYPE C, COL2 TYPE I, END OF ITAB. ITAB-COL1 = ‘ABC’. ITAB-COL2 = 10. COLLECT ITAB. ITAB-COL1 = ‘XYZ’. ITAB-COL2 = 20. COLLECT ITAB. ITAB-COL1 = ‘ABC’. ITAB-COL2 = 80. COLLECT ITAB. 此时, 中放的是2笔数据 此时 internal table中放的是 笔数据 分别为 中放的是 笔数据, 分别为: ITAB-COL1 ITAB-COL2 ‘ABC’ 90 ‘XYZ’ 20
©2008 HAND Enterprise Solutions Co., Ltd. Confidential Not For Public.
5
3 .系统专用变量说明 系统专用变量说明
1 SY-SUBRC : 系统执行某指令后 表示执行成功与否的变量 表示成 系统执行某指令后,表示执行成功与否的变量 表示执行成功与否的变量,’0’
SY-TCODE: 当前执行程序的T_ code 当前执行程序的
SAP的ABAP4语言中文培训教材第一部分第二章 ABAP4 程序语法和 格式

第二章ABAP/4 程序语法和格式概览内容语法元素............................................................................................................................. 1语句............................................................................................................................... 1关键字 ........................................................................................................................... 2注释............................................................................................................................... 2语法结构............................................................................................................................. 3语句结构........................................................................................................................ 4注释结构........................................................................................................................ 4连接相似语句............................................................................................................... 5ABAP/4 程序格式.............................................................................................................. 6缩排语句块.................................................................................................................... 6使用模块化工具........................................................................................................... 6正确插入程序注释 ....................................................................................................... 6整齐打印程序............................................................................................................... 6插入已有结构.................................................................................................................... 7插入已有关键字结构.................................................................................................... 7插入已有注释行........................................................................................................... 8本节说明ABAP/4 语法,并且提供关于如何在ABAP/4 中编程的建议。
SAP的ABAP4语言中文培训教材第三部分第二章处理用户请求

第二章处理用户请求概览在事务中,用户通过选定屏幕按钮、菜单功能、功能键、工具栏按钮、图标或ENTER键进行请求内容处理用户请求 (1)用功能代码编程 (1)设置功能代码 (1)处理功能代码 (2)处理字段选择 (3)共享GUI-状态 (3)用单选按钮编程 (4)用复选框编程 (4)执行动作时,系统触发PROCESS AFTER INPUT事件。
传送的数据包括由用户输入的字段屏幕数据和功能代码。
功能代码是个技术名称,在屏幕制作器或菜单制作器中将它分配给菜单项、按钮、ENTER键或屏幕的功能键。
PAI模块中的内部工作区(ok-cod◎士根据功能代码执行相应的动作。
下面的章节用TZ20事务(开发类SDWA)显示如何用按钮控制事务执行的方式。
本章最后两节介绍如何使用单选按钮和复选框。
下列主题介绍如何在事务中包括用户功能:用功能代码编程(页1 )用单选按钮编程(页3 )用复选框编程(页4 )对话程序如何处理用户请求?用功能代码编程下列主题介绍如何使用功能代码: 设置功能代码(页1 )处理功能代码(页2 )处理字段选择(页3 )共享GUI-状态(页3 )设置功能代码要在对话程序中处理用户请求,必须将功能代码分配给屏幕制作器或菜单制作器中相关的屏幕和窗口元素。
在屏幕制作器中:屏幕按钮在菜单制作器中:菜单功能功能键工具栏按钮和图标ENTER 键屏幕制作器在屏幕制作器中,可以通过设置按钮字段的“功能代码” 属性来分配功能代码。
在TZ20事务中为“显示”按钮在屏幕制作器中设置了功能代码(FctCode)FTCH。
菜单制作器在SAP系统中,程序的用户界面包括在菜单制作器中定义的一个或多个GUI状态和一个GUI标题。
GUI状态是一组事务在给定时间所需的动态元素。
GUI标题是显示在窗口会话顶部的标题栏文本。
为了处理用户在菜单制作器中定义的屏幕元素的功能代码,程序必须指定将岀现在PBO处的屏幕GUI状态。
在TZ20事务中将“其它航班”按钮定义为TD0100 GUI状态中菜单栏的一部分。
SAP的ABAP4语言中文培训教材第一部分第四章 将数据输出 到屏幕

第四章将数据输出到屏幕概览内容WRITE 语句....................................................................................................................... 1在屏幕上定位WRITE 输出 ............................................................................................. 3格式化选项 ......................................................................................................................... 5在屏幕上输出符号和图标................................................................................................ 7输出屏幕上的线和空行 ................................................................................................ 8垂直线 ........................................................................................................................... 8空行............................................................................................................................... 8将字段内容作为复选框输出............................................................................................ 9通过语句结构使用WRITE ............................................................................................... 9本节说明如何在屏幕上创建简单输出列表。
[管理信息化SAP实施]SAP的ABAP4语言中文讲义第一部分第三章声明数据
![[管理信息化SAP实施]SAP的ABAP4语言中文讲义第一部分第三章声明数据](https://img.taocdn.com/s3/m/8af444366294dd88d1d26b00.png)
{管理信息化SAP实施}SAP的ABAP4语言中文讲义第一部分第三章声明数据第三章声明数据概览内容数据类型和对象简介3数据类型5基本数据类型-预定义的6基本数据类型-用户定义的8结构化数据类型9数据类型的兼容性10数据对象12文字12变量14常量15系统定义的数据对象15创建数据对象和数据类型16DATA语句18CONSTANTS语句25STATICS语句26TABLES语句27TYPES语句28示例汇总31预定义基本数据类型和对象示例31用户定义的基本数据类型和对象示例32字段串示例33内表示例34使用类型组36确定数据对象的属性38确定字段长度39确定数据类型39确定输出长度41确定小数位42确定转换例程42本节说明如何在ABAP/4程序中声明数据。
要能声明数据,应该熟悉定义数据类型数据对象之间关系的ABAP/4类型概念。
下列内容介绍ABAP/4类型概念下列主题说明数据类型和对象简介数据类型和数据对象是ABAP/4类型概念的基本组件。
二者均可由用户声明和维护。
这与其它编程语言如C、FORTRAN或PASCAL不同,在这些语言中用户可以声明数据对象,但仅限于预定义的数据类型。
在ABAP/4中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。
特殊程序以外的数据类型集中存储也是可能的。
下列列表是数据类型和对象主要特征的概述:数据类型(基本的或结构化的)-数据类型是纯粹的说明。
-没有与数据类型相关联的内存。
-数据类型描述数据对象的技术属性。
-数据类型是数据对象的属性并与数据对象联系紧密。
数据对象(文字、变量、常量等):-数据对象是程序在运行时使用的物理单元。
-每个数据对象都有分配给它的特定数据类型。
-每个数据对象占据一些内存空间。
-ABAP/4根据数据对象的数据类型处理数据对象。
在程序中,必须声明要使用的全部数据对象。
声明过程中,必须给数据对象分配属性。
其中最重要的属性是数据类型。
在ABAP/4中,可以使用与其它程序语言相似的预定义的数据类型,或者使用用户定义的数据类型。
SAP-ABAP语法整理

1、ST05是用于在开发ABAP程序时,对应事务码取得的字段是“数据结构”而不是“透明表”的时候,通过ST05的“SQL跟踪”来获得相关“Select”的语句;一般查看“REC”列耗时比较多的“Select”语句;2、跟踪时如果有涉及到“数量”这类有对数据表进行更新或插入操作的,则直接去查Update和Insert的SQL语句;3、在跟踪后,直接双击“对象名”列的名称,点选“表格”转到“SE11”的表字段表;4、ABAP程序开头的Tables:“数据表名”,只有在屏幕中有用到的表,才需要声明;在程序中用到的表则不需要进行在Tables声名;5、抓SAP“文本”字段的数据,要先自定义变量,然后通过SE37的函数“FUNCTION ’ZREAD_TEXT’”取回文本数据;6、新建的ABAP程序,在测试运行的时候要先进行“激活”,才能测试运行;7、SE93:把ABAP写好的程序指定一个事务码执行;8、abap引号的字符’’必须要是大写;9、ABAP select 里面的语句,不能像mssql有那么丰富的函数使用,需要导到表后再对数据进行操作;10、’EQ’是单个数据值,’BT’是between区间的意思。
11、在写select inner join 里面,要注意是否需要加上销售组织的条件;on 条件1 and 销售组织条件。
12、SELECTION-SCREEN,里面有两个子项,PARAMETERS和select-options。
PARAMETERS 一般是用于必输项的屏幕参数设置,如果这个参数不是必输项的,就要用select-options。
在select ...where条件里,用PARAMETERS的条件语法是“数据字段 = 屏幕字段”;而select-options的条件语法是“数据字段 in 屏幕字段”。
13、在where判断一个日期型数据是空,不是DEAKT = ’’,也不是DEAKT is initial,而应该写成DEAKT = ’00000000’ (8个0)。
SAP的ABAP4语言中文培训教材第三部分第六章在屏幕中使 用表格

第六章在屏幕中使用表格概览ABAP/4 提供了两种机理以便在屏幕中显示和使用表格数据。
这两种机理分别为“表格控制”和“步循环”。
表格控制和步循环均为屏幕表格,您可以在屏幕制作器中将此类屏幕表格添加到屏幕里。
例如,下面的屏幕在底部就含有表格控制。
内容简介 .................................................................................................................................................. 1使用LOOP 语句 ............................................................................................................................. 3在屏幕表格中直接循环 .............................................................................................................. 3在内表中循环 ............................................................................................................................ 4使用表格控制.................................................................................................................................. 7在ABAP/4 中声明表格控制 ..................................................................................................... 7设置表格控制属性.................................................................................................................... 8示例事务:表格控制 ....................................................................................................................... 9使用步循环 ................................................................................................................................... 12本章讲述如何编制允许您使用屏幕表格的屏幕流逻辑和ABAP/4 代码。
abap 4 编程详解1(94页)

ÕÂ 8: 创建和处理内表概览内容什么是内表 .......................................................................................... 8–2内表的目的 ...................................................................................... 8–3内表的结构 ...................................................................................... 8–4标识表格行 ...................................................................................... 8–5访问内表.......................................................................................... 8–6创建内表.............................................................................................. 8–9创建内表数据类型.......................................................................... 8–9创建内表数据对象...................................................................... 8–12使用内表 ........................................................................................ 8–17填充内表...................................................................................... 8–17读取内表...................................................................................... 8–388–1更改和删除内表行...................................................................... 8–58内表排序...................................................................................... 8–73创建次序表 .................................................................................. 8–79循环处理...................................................................................... 8–81比较内表...................................................................................... 8–88初始化内表 .................................................................................. 8–91本节讨论内表。
SAPABAP_4编程语法汇总

SAPABAP_4编程语法汇总SAP ABAP(Advanced Business Application Programming)是SAP 系统中使用的一种编程语言。
在ABAP_4编程语法中,有一些重要的概念和语法规则需要了解。
下面是SAP ABAP_4编程语法的汇总。
1.ABAP程序的基本结构:ABAP程序由一系列的模块组成,每个模块由一对关键字BEGIN和END 组成。
一个程序通常由多个模块组成,每个模块都以ENDMODULE关键字结束。
模块可以是一个函数,一个子程序或一个方法。
2.数据类型:ABAP支持多种数据类型,包括整型(INT,INT1,INT2,INT4),浮点型(F,D),字符型(CHAR,STRING),日期型(D),时间型(T),结构型(STRUCTURE),表型(TABLE)等。
3.变量声明和赋值:在ABAP中,可以使用DATA语句声明变量,使用WRITE语句输出变量的值。
变量可以通过赋值语句(如"="和"=")来获得新的值。
另外,可以使用CONSTANTS语句定义常量。
4.控制结构:ABAP支持多种控制结构,包括条件语句(如IF,CASE),循环语句(如DO,WHILE,LOOP),跳转语句(如BREAK,CONTINUE,EXIT)等。
5.内部表和工作区:内部表用于存储和操作数据集。
可以使用内部表的语句(如SORT,READTABLE)对内部表进行排序和检索。
内部表可以是标准表,排序表,散列表或索引表。
6.函数和子程序:在ABAP中,可以使用FUNCTION和FORM语句定义函数和子程序。
函数是可重用的代码块,可以被其他程序调用。
子程序是一个独立的代码块,可以在同一个程序中调用。
7.对象和类:ABAP支持面向对象编程,可以使用CLASS语句定义类。
类包含属性和方法,并且可以实例化为对象。
对象可以使用NEW关键字创建,并且可以使用点号(.)来访问对象的属性和方法。
SAP的ABAP4语言中文培训教材第三部分第三章处理错误和 消息

第三章处理错误和消息概览内容错误处理简介.................................................................................................................................. 1检查屏幕字段的有效性.................................................................................................................... 2理解自动字段检查 ..................................................................................................................... 3检查屏幕流逻辑中的字段......................................................................................................... 3在ABAP/4 中检查字段 .............................................................................................................. 4检查单个字段 ............................................................................................................................ 4检查多个字段 ............................................................................................................................ 5有条件地调用模块........................................................................................................................... 6条件FIELD 语句........................................................................................................................ 6条件CHAIN 语句....................................................................................................................... 6避免自动字段检查........................................................................................................................... 7发布消息........................................................................................................................................... 7发送消息 ..................................................................................................................................... 8创建消息类.................................................................................................................................. 9创建消息 ..................................................................................................................................... 9当用户键入屏幕输入时,事务在使用此输入之前必须检查其是否合法。
SAP的ABAP4语言中文培训教材第三部分第一章对话编程简介

第一章对话编程简介概览内容事务 .................................................................................................................................................. 1动态程序 ..................................................................................................................................... 2ABAP/4 模块池........................................................................................................................... 3动态程序和ABAP/4 模块池之间的交互作用 ............................................................................ 4本节介绍对话编程。
将描述下列主题:事务(页1)事务示例(页2)动态程序(页2)ABAP/4 模块池(页3)动态程序和ABAP/4 模块池之间的交互作用(页4)事务事务是实施与用户对话的程序。
在典型的对话中,用户可以在系统显示的屏幕上输入或请求信息。
作为对用户输入或请求的响应,程序执行适当的动作:转到下一个屏幕,显示输出或更改数据库。
某个旅行社想预定航班。
旅行社在屏幕上输入相应的数据。
系统或者确认期望的请求,也就是说,旅行社可以预定航班,并且旅客可以在期望的日期、坐预定的座位到选定的目的地,或者系统显示航班已经预定的信息。
要满足这样的请求,对话程序必须提供:友好的用户界面对用户输入的数据格式化并作一致性检查输入错误的简易纠正法通过将数据存储在数据库中来访问数据。
SAP-ABAP语法整理

1、ST05是用于在开发ABAP程序时,对应事务码取得的字段是“数据结构”而不是“透明表”的时候,通过ST05的“SQL跟踪”来获得相关“Select”的语句;一般查看“REC”列耗时比较多的“Select”语句;2、跟踪时如果有涉及到“数量”这类有对数据表进行更新或插入操作的,则直接去查Update 和Insert的SQL语句;3、在跟踪后,直接双击“对象名”列的名称,点选“表格”转到“SE11”的表字段表;4、ABAP程序开头的Tables:“数据表名”,只有在屏幕中有用到的表,才需要声明;在程序中用到的表则不需要进行在Tables内声名;5、抓SAP“文本”字段的数据,要先自定义变量,然后通过SE37的函数“FUNCTION ‟ZREAD_TEXT‟”取回文本数据;6、新建的ABAP程序,在测试运行的时候要先进行“激活”,才能测试运行;7、SE93:把ABAP写好的程序指定一个事务码执行;8、abap引号内的字符‟‟必须要是大写;9、ABAP select 里面的语句,不能像mssql有那么丰富的函数使用,需要导到内表后再对数据进行操作;10、‟EQ‟是单个数据值,‟BT‟是between区间的意思。
11、在写select inner join 里面,要注意是否需要加上销售组织的条件;on 条件1 and 销售组织条件。
12、SELECTION-SCREEN,里面有两个子项,PARAMETERS和select-options。
PARAMETERS 一般是用于必输项的屏幕参数设置,如果这个参数不是必输项的,就要用select-options。
在select ...where条件里,用PARAMETERS的条件语法是“数据字段= 屏幕字段”;而select-options的条件语法是“数据字段in 屏幕字段”。
13、在where判断一个日期型数据是空,不是DEAKT = ‟‟,也不是DEAKT is initial,而应该写成DEAKT = ‟00000000‟ (8个0)。
SAP的ABAP4语言中文培训教材第一部分第六章处理数据

第六章处理数据概览内容赋值 .................................................................................................................................................. 1用MOVE 赋值........................................................................................................................... 1用WRITE TO 赋值.................................................................................................................... 4将值重置为默认值........................................................................................................................... 6数值运算........................................................................................................................................... 6执行算术运算 ............................................................................................................................ 7使用数学函数 ............................................................................................................................ 9处理压缩数.............................................................................................................................. 11处理日期和时间字段.............................................................................................................. 11处理字符串 ................................................................................................................................... 12移动字段内容 ........................................................................................................................ 13替换字段内容 ........................................................................................................................ 14转换大/小写并替换字符 ....................................................................................................... 15转换为可排序格式 ................................................................................................................. 16覆盖字符字段 ........................................................................................................................ 16搜索字符串.............................................................................................................................. 17获得字符串长度..................................................................................................................... 18压缩字段内容 ........................................................................................................................ 19连接字符串.............................................................................................................................. 19拆分字符串.............................................................................................................................. 20分配字符串部分..................................................................................................................... 21指定数据对象的偏移量................................................................................................................ 21类型转换....................................................................................................................................... 22基本数据类型的可转换性..................................................................................................... 22字段串的可转换性 ................................................................................................................. 25内表的可转换性..................................................................................................................... 26对齐数据对象 ........................................................................................................................ 26本节描述如何使用(处理)数据对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAP ABAP_4编程语法汇总(中文版)本文是由塞依教育编辑整理,了解更多SAP培训信息,请进入/news/一、Data Type (数据类型)C: 字符(串), 长度为1, 最大有65535 BYTES, 初始值为: space,例: ‘M’;D: 日期, 格式为YYYYMMDD, 最大是’9999/12/31’ ,例:’1999/12/03’.F: 浮点数, 长度为8, 例如: 4.285714285714286E-01I: 整数范围 :-2^31 ~ 2^31-1N: 数值组成的字符串: 011, ‘302’.P: packed 数,用于小数点数值,例如: 12.00542;T: 时间, 格式为HHMMSS,例如: ’14:03:00’, ’21:30:39’.X: 16进制数, 例如‘1A03’.二、变量宣告变量宣告包含name, length, type, structure等,语法如下:DATA <F> [<length>] <type> [<value>] [<decimals>]其中: <f> :变量名称,最长30个字符,不可含有 + , . , : ( ) 等字符;<length><type>:变量类型及长度;<value>:初值<decimals>:小数位数Example 1:DATA: COUNTER TYPE P DECIMALS 3,NAME (10) TYPE C VALUE ‘Delta’,S_DATE TYPE D VALUE ‘19991203’.Example 2:DATA: BEGIN OF PERSON,NAME(10) TYPE C,AGE TYPE I,WEIGHT TYPE P DECIMALS 2,END OF PERSON.另外,有关DATA宣告的指令还有: CONSTANTS(宣告常数)、STATICS(临时变量宣告).三、系统专用变量说明系统内部专门创建了SYST这个STRUCTURE,里面的字段存放系统变量,常用的系统变量有: SY-SUBRC : 系统执行某指令后,表示执行成功与否的变量,’0’表示成功SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-INDEX : 当前LOOP循环过的次数SY-TABIX: 当前处理的是internal table 的第几笔SY-TMAXL: Internal table的总笔数SY-SROWS: 屏幕总行数;SY-SCOLS: 屏幕总列数;SY-MANDT: CLIENT NUMBERSY-VLINE: 画竖线SY-ULINE: 画横线附注:1.SAP的全称是: System Application Products in Data Processing;2.ABAP/4的全称是:Advanced Business Application Programming;3.ABAP/4的路径为:Tools → ABAP/4 WorkBench→ABPA/4 Editor ;4.ABAP/4每条语句以句号结束;5.ABAP/4中象= ,>, <,+,-,*,/等符号左右都需要有至少一个空格;6.整行注释用’*’号, 注释本行后面部分用’”’号;一. WRITE 语句ABAP/4用来在屏幕上输出数据的指令是WRITE指令,例如:WRITE: ‘USER NAME IS:’, SY-UNAME.二. 指定屏幕输出位置指定输出位置的语句格式为:WRITE: [AT] [ / ] [<pos>] [(<len>)] 资料项 [<par>]其中: / : 在下一行输出<pos>: 指定输出的行号;(<len>):指定输出位数(长度)<par>: 指定显示格式参数,参数有:LEFT-JUSTIFIED 资料靠左对齐CENTERED 数据靠中间对齐RIGHT-JUSTIFIED 资料靠右对齐UNDER <g> 正对在数据项<g>的下面显示NO-GAP 紧接着显示,不留空格USING EDIT MASK <m>: 使用内嵌子元显示, 如 12:03:20 USING NO EDIT MASK: 不使用内嵌子元NO-ZERO: 数字前面 0 的部分不显示NO-SIGN: 不显示正负号DECIMALS <d>: 显示 <d> 位小数EXPOENT <e>: F(浮点数)指数的值ROUND <r>: 四舍五入至小数点后<r>位CURRENCY <c>: 币别显示DD/MM/YY : 日期显示格式MM/DD/YY:YY/MM/DD:YY/DD/MMMM/DD/YYYY:DD/MM/YYYYYYYY/MM/DD:YYYY/DD/MM:例如1: WRITE: /10(6) ‘ABCDEFGHIJK’.输出结果为: ABCDEF例如2: DATA: X TYPE I VALUE ’11:20:30’,A(5) TYPE C VALUE ‘AB CDE’.WRITE: / X USING EDIT MASK ‘__:__:__’.WRITE: / X USING EDIT MASK ‘$___,___’.WRITE: / Y NO-GAP.输出结果为:11:20:30$112,030ABCDEF一. 显示图标:语法: WRITE: <symbol-name> AS SYMBOL.WRITE: <icon-name> AS ICON.例如: INCLUDE <SYMBOL>.INCLUDE <ICON>.WRITE: / ‘Phone symbol:’, SYM_PHONE AS SYMBOL.WRITE: / ‘Alarm Icon:’, ICON_VOICE_OUTPUT AS ICON.要查看系统所提供有那些符号及图标,可选择’EDIT’下的’Insert Statement’,选择’Write’,接下来选择要查看的群组,如SYMBOL 或ICON, 接下来按’Display’即可.§ INTERNAL TABLE一. Internal Table 的宣告ABAP/4中的Internal Table是一种Data Structure,类似于其它语言中的STRUTURE,它可以由几个不同类型的字段(field)组成,用来表示具有不同属性的某一事物,单独一笔资料表示某个事物,多笔数据表示具有相同属性的多个事物.例如:为了存取或记录某班的同学数据,我们创建如下的internal table:DATA: BEGIN OF STUDENT OCCURS 20,STD_ID TYPE N,NAME(10) TYPE C,AGE TYPE I,BIRTH TYPE D,SCORE TYPE P DECIMALS 2,END OF STUDENT.此时我们已经创建了名叫STUDENT的internal table,并且为它预先申请了能够存放20笔数据的Buffer(当然,如果存取数据不止20笔,程序执行时,会自动申请系统Buffer)Internal table 的定义有以下几种格式:格式一. DATA: BEGIN OF <internal table> OCCURS <n>,<field 1> TYPE <type1>,[<field 2> TYPE <type 2>,<field 3> TYPE <type 3>,… ]END OF <internal table>.格式二. TYPES: BEGIN OF <work area>,<field 1> TYPE <type1>,[<field 2> TYPE <type 2>,<field 3> TYPE <type 3>,… ]END OF <work area>.TYPES <internal table> TYPE <work area> OCCURS <n>.格式三. DATA: BEGIN OF <work area>.INCLUDE STRUCTURE <table name>.DATA: END OF <work area>.DATA: <internal table> LIKE <work area> OCCURS <n>.二. APPEND LINE格式: APPEND [<work area> TO ] <internal table>.举例一. (使用work area)DATA: BEGIN OF LINE,COL1 TYPE I,COL2 TYPE I,END OF LINE.DATA ITAB LIKE LINE OCCURS 10.DO 2 TIMES.LINE-COL1 = SY-INDEX.LINE-COL2 = SY-INDEX ** 2.APPEND LINE TO ITAB.ENDDO.LOOP AT ITAB INTO LINE.WRITE: / LINE-COL1, LINE-COL2.ENDLOOP.执行结果为:1 12 4举例二. (不使用work area)DATA: BEGIN OF ITAB OCCURS 10,COL1 TYPE I,COL2 TYPE I,END OF ITAB.DO 2 TIMES.ITAB-COL1 = SY-INDEX.ITAB-COL2 = SY-INDEX ** 2.APPEND ITAB.ENDDO.LOOP AT ITAB.WRITE: / ITAB-COL1, ITAB-COL2.ENDLOOP.执行结果与举例一相同.举例三. (加入另一个Internal table的元素)格式: APPEND LINES OF <itab1> [FROM <n1> ] [TO <n2>] TO <itab2>.将<itab1>的元素加入至<itab2>中,可选取自<n1>至<n2>的范围.APPEND LINES OF ITAB TO JTAB.三. COLLECT LINECOLLECT 指令也是将元素加入Internal table中,与APPEND 的区别是: COLLECT指令在非数值字段相同的情况下,将数值字段汇总.格式: COLLECT [<work area> INTO ] <itab>DATA: BEGIN OF ITAB OCCURS 3,COL1(3) TYPE C,COL2 TYPE I,END OF ITAB.ITAB-COL1 = ‘ABC’. ITAB-COL2 = 10.COLLECT ITAB.ITAB-COL1 = ‘XYZ’. ITAB-COL2 = 20.COLLECT ITAB.ITAB-COL1 = ‘ABC’. ITAB-COL2 = 80.COLLECT ITAB.此时, internal table中放的是2笔数据, 分别为:ITAB-COL1 ITAB-COL2‘ABC’ 90‘XYZ’ 20四. INSERT LINE将元素插入在指定的internal table位置之前.格式: INSERT [<wa> INTO] [INITIAL LINE INTO ] <itab> [INDEX <idx>]或者: INSERT LINES OF <itab1> [FROM <n1> TO <n2>] INTO <itab2> INDEX <idx>其中: <wa>即work area,工作区中的元素.[INITIAL LINE INTO] :插入一笔初始化的记录.<itab>: internal table[INDEX <idx>]: internal table 的记录号.(新加入的元素放在此记录前面)五. 读取internal table格式一:LOOP AT <itab> [INTO <wa>][FROM <n1> TO <n2>][WHERE <conditions>]<statement>ENDLOOP.格式二:READ TABLE <itab> [INTO <wa>] [INDEX <idx> / WITH KEY <conditions>]举例. (格式二)DATA: BEGIN OF ITAB OCCURS 10,COL1 TYPE I,COL2 TYPE I,END OF ITAB.DO 10 TIMES.ITAB-COL1 = SY-INDEX.ITAB-COL2 = SY-INDEX * 2.APPEND ITAB.ENDDO.READ TABLE ITAB INDEX 3.(或者: READ TABLE ITAB WITH KEY COL1 = 3.)WRITE: / ‘ITAB-COL1 = ‘, ITAB-COL1, ‘ITAB-COL2 = ‘, ITAB-COL2.执行结果同样是:ITAB-COL1 = 3ITAB-COL2 = 6.六. 修改internal table 中的值格式: MODIFY <itab> [FROM <wa>][INDEX <idx>][TRANSPORTING <f1><f2>…][WHERE <conditions>]举例一. READ TABLE ITAB INDEX 3.LINE-COL1 = 29.MODIFY ITAB FROM LINE TRANSPORTING COL1.将第三笔记录的COL1字段的值修改为29.举例二. T_SALARY – salary = 50.MODIFY T_SALARY TRANSPORTING salary WHERE birthday = ‘1999/12/06’.七. DELETE internal table中的字段格式: DELETE <itab> INDEX <idx>.或: DELETE <itab>[FROM <n1> TO <n2>] [WHERE <conditions>]八. Internal table 排序SORT <itab> [<order way>][BY <f1><f2>…]其中:<order way> 有DESCENDING 和ASCENDING, Default 为ASCENDING.<f1>: 为指定排序的字段.九. 加总SUM.总和计算存放与work area中,但只能在LOOP 中使用.例: LOOP AT ITAB INTO LINE.SUM.ENDLOOP.WRITE: / LINE-COL1, LINE-COL2.十. 初始化internal tableREFRESH <itab>. 清空<itab>中的值.CLEAR <itab>. 清空<itab>的Header Line.FREE <itab>. 释放记忆体空间.§屏幕输入命令在ABAP/4中要从屏幕输入变量, 使用的命令是 PARAMETERS 及SELECTION-OPTIONS:1. PARAMETER: 输入一个变量2. SELECTION-OPTIONS: 使用条件筛选画面来输入数据一. PARAMETERS 指令基本的输入命令, 类似如BASIC的INPUT命令, 但无法使用F格式(浮点数)语法:PARAMETERS <p> [DEFAULT <f>] [LOWER CASE][OBLIGATORY] [AS CHECKBOX][RADIOBUTTON GROUP <rad>]Example:PARAMETERS: NAME(8),AGE TYPE I,BIRTH TYPE D.执行结果:在日期的输入格式上为 MM/DD/YY , MM/DD/YYYY, MMDDYY或MMDDYYYY , 如输入 020165表 1965年02月01日, 与02/01/65的输入是一样的, 日期输入范围为公元1950年至2049年1.DEFAULT设定输入的默认值Example:PARAMETERS: COMPANY(20) DEFAULT ‘DELTA’,BIRTH TYPE D DEFAULT ‘19650201’.2. LOWER CASEABAP/4预设是将字符串输入值自动转换为大写, 加上此参数会将输入的数据转成小写,3. OBLIGATORY强制要求输入, 屏幕上会出现一个 ? , 使用者必须要输入才可.4. AS CHECKBOX输入 CHECKBOX的格式Example:PARAMETERS: TAX AS CHECKBOX DEFAULT ‘X’,NTD AS CHECKBOX.执行结果:5. RADIOBUTTON GROUP <rad>输入 RADIO BUTTON GROUP 的方式Example:PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT ‘X’,GIRL RADIOBUTTON GROUP SEX.执行结果:二. SELECT-OPTIONSSELECTION-OPTIONS所输入的值实际上是放在internal table中的,该Internal table 有四个字段,分别是:SIGN,OPTION,LOW,HIGH.. 条件筛选检查条件输入画面指令, 输入条件后可配合SELECT指令自TABLE读取符合条件的数据, 直接执行或放入 Internal Table中, 条件有四个参数:1. SIGN:I: 表筛选条件符合的资料E: 表筛选条件不符合的资料2. OPTION: 比较的条件符号EQ(等于),NE(不等于),GT(大于),LE(小于),CP(包含),NP(不包含)3. LOW: 最小值4. HIGH: 最大值语法:SELECT-OPTIONS <check-option> FOR <table-field>Example:TABLES SPFLI.SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.将条件的输入值存放入 AIRLINE, 筛选选择为SPFLI中的CONNID字段执行结果:可直接输入起始范围或按下选择画面, 输入完后按下左上角的执行键三. 条件输入选择画面1.自Table中选取按下输入项的右边往下箭头, 叫出Table中数据项, 选取开始和结束的范围2.Selection Options按下”Selection options”按键, , 输入Option及 Sign参数内容, 屏幕如下:3.Multi-Options输入按下最右边的Multi-Options输入键, 输入条件选取的范围, 画面如下:条件输入完后按下”Copy”按键四. 改变条件输入格式1.DEFAULT <begin> TO <end>设定开始结束范围输入默认值Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNIDDEFAULT ‘2042’ TO ‘4555’.2.NO-EXTENSION设定不要Multi-Option输入画面3.NO INTERVALS设定不要区间范围输入画面4.LOWER CASE输入转换成大写5.OBLIGATORY强制要求输入五. 配合 SELECT 命令条件输入完后要将符合条件的数据筛选出来, 可配合使用 SELECT 指令 1.使用WHERE <条件式>Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI WHERE CONNID IN AIRLINE.WRITE: / CONNID,FROMCITY,TOCITY.ENDSELECT.2.使用CHECK参数Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI.CHECK AIRLINE.WRITE: / CONNID,FROMCITY,TOCITY.ENDSELECT.3.使用 IF … IN 叙述Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI.IF SPFLI-CONNID IN AIRLINE.WRITE: / CONNID,FROMCITY,TOCITY.ENDIFENDSELECT.六. SELECTION-SCREEN1.产生空白列语法:SELECTION-SCREEN SKIP [<n>]Example:SELECTION-SCREEN SKIP 2.产生两列空白列2.产生底线语法:SELECTION-SCREEN ULINE / <pos>(length)Example:SELECTION-SCREEN ULINE /10(30).自第10格开始产生长度30的底线3.印出备注说明语法:SELECTION-SCREEN COMMENT / <pos>(length) <name>Example:REMARK = ‘Pls enter your name’.SELECTION-SCREEN COMMENT /10(30) REMARK.4. 同一列中输入数个数据项语法:SELECTION-SCREEN BEGIN OF LINE.……SELECTION-SCREEN END OF LINE.Example:SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN POSITION 20.PARAMETERS NAME(10).SELECTION-SCREEN POSITION 40.PARAMETERS BIRTH TYPE D.SELECTION-SCREEN END OF LINE.在20格输入NAME内容, 40格输入 BIRTH的内容5. 绘出BLOCK PANEL语法:SELECTION-SCREEN BEGIN OF BLOCK <block>[WITH FRAME [TITLE <title>].…….SELECTION-SCREEN END OF BLOCK <block>.Example:SELECTION-SCREEN BEGIN OF BLOCK RADIO WITH FRAME .PARAMETER R1 RADIOBUTTON GROUP GR1.PARAMETER R2 RADIOBUTTON GROUP GR1.PARAMETER R3 RADIOBUTTON GROUP GR1.SELECTION-SCREEN END OF BLOCK RADIO.§SQL语法我们在编写ABAP4程序的时候,经常需要从TABLE中根据某些条件读取数据,.读取数据最常用的方法就是通过SQL语法实现的.ABAP/4中可以利用SQL语法创建或读取TABLE,SQL语法分为DDL(DATA DEFINE LANGUAGE)语言和DML(DATA MULTIPULATION LANGUAGE)语言,DDL语言是指数据定义语言,例如CREATE等, DML语言是数据操作语言,例如SELECT, INSERT等语句. SQL语句有OPEN SQL语句和NATIVE SQL语句. OPEN SQL语句不是标准SQL语句,是ABAP/4语言,利用OPEN SQL语句能在Databases 和 Command 之间产生一个BUFFER,所以它有一个语言转换的过程.而NATIVE SQL语句则是标准的SQL语句, 它直接针对Databases操作.一. OPEN SQLOPEN SQL 语句包含有: SELECT,INSERT,UPDATE,MODIFY,DELETE,OPEN CURSOR, FETCH,CLOSE CURSOR,COMMIT WORK,ROLLBACK WORK等.1. SELECT语句语法格式:SELECT <result> [INTO <target>] [FROM <source>] [WHERE <condition>][GROUP BY <fields>] [ORDER BY <sort order>]其中: <result>指定要抓取的字段<target>将读取的记录存放在work area中<source>指定从那个TABLE中读取数据<condition>抓取资料的条件<fields>指定按那些字段分组<sort order>排序的字段及方式相关的系统变量:SY-SUBRC = 0 表示读取数据成功<> 0 表示未找到符合条件的记录SY-DBLNT: 被处理过的记录的笔数.相关的命令:EXIT. 退出循环.CHECK <logistic statement>.如果逻辑表达式成立,则继续执行,否则,开始下一次循环.◆.利用循环方式读取所有记录SELECT ….ENDSELECT.是循环方式读取记录的.例如:TABLES MARD.SELECT [DISTINCT] * FROM MARD WHERE MATNR = ‘3520421700’.<Statements>.ENDSELECT.(从MARD中抓取所有料号=3520421700的数据)◆读取一笔数据TABLES MARD.SELECT SINGLE * FROM MARD WHERE MATNR = ‘3520421700’.(从MARA中抓取一笔料号=3520421700的资料)◆将读取的记录放在work area中,并且加入Internal table 中.格式有:... INTO <work area>... INTO CORRESPONDING FIELDS OF <work area>... INTO (f1, ..., fn) 变量组.... INTO TABLE <internal table>... INTO CORRESPONDING FIELDS OF TABLE <internal table>... APPENDING TABLE <internal table>... APPENDING CORRESPONDING FIELDS OF TABLE <internal table>举例一:TABLES MARD.DATA: BEGIN OF ITAB OCCURS 10,MATNR LIKE MARD-MATNR,WERKS LIKE MARD-WERKS,LGORT LIKE MARD-LGORT,LABST LIKE MARD-LABST,END OF ITAB.SELECT MATNR WERKS LGORT LABSTINTO CORRESPONDING FIELDS OF ITABFROM MARDWHERE MATNR = ‘3520421700’.APPEND ITAB.CLEAR ITAB.ENDSELECT.(将读取的结果放在Internal table ITAB中)举例二.TABLES MARD.SELECT MATNR MTART MAKTX INTO (t_matnr, t_mtart, maktx)FROM MARDWHERE MATNR = ‘3520421700’.<Statements>.ENDSELECT.(从MARD中抓取料号=3520421700的料号、类型和描述,放在变量t_matnr, t_mtart, maktx中)。