abap基本语法汇总

合集下载

abap语法

abap语法

abap语法ABAP1 了解ABAP2 ABAP语法概述3 ABAP语言的数据类型4 ABAP的语法格式5 结构类型和结构体6 内表7 数据库操作ABAP(Advanced business application program),是一种高级企业应用编程语言,它支持封装性和继承性,封装性是面向对象的基础,而继承性是建立在封装性基础上的重要特性。

它适合生成报表,支持对数据库的操作,如:Sqlserver,Oracle,DB2等主流数据库系统。

语法概述ABAP基本语法特点由各自独立的语句构成。

每个语句的第一个单词必须是ABAP关键字。

单词之间至少要用一个空格分隔。

每个语句结束必须要用句号。

一个语句可以跨多行,只要不遇到句号,就认为是一个延续的语句。

可以把多个语句放在一行。

ABAP不区分大小写,关键字和用户操作数都一样,为了便于阅读,一般把关键字大写,而操作数小写。

如果连续多行的第一个关键字相同,可以使用链语句方式减少输入 data: id type I.data: name type c.可写为:data: id type I ,name type c.注释:注释行由第一列的星号(*)开头,并且必须写在第一列,前面不能有空格。

在行末的注释用双引号(”)作为前导。

data: id type i. “ 定义一个对象num数据类型为IABAP的命名规则使用至少1个但不超过8个字符。

不要使用下列字符:句点(.);逗号(,);空格( );括号‘(’‘)’;单引号(‘);双引号(“);等号(=);星号(*);百分号(%);ABAP数据类型(八种基本数据类型)D :日期类型,格式为YYYYMMDD,长度为8T :时间类型,格式为HHMMSS,长度为6I :整数类型,默认长度为4,初始值为0F :浮点类型,默认长度为8,初始值为0,常用于计算C :字符串类型,定义变量时指定字符个数N :数字字符串类型,定义变量时指定数值字符个数X :字节序列类型,定义变量时指定字节数P(压缩号) :允许的长度为1 到16 个字节,系统会指定默认值8 个字节(也就是15 位数字)和0 个小数位常用:大小,长度,重量,货币等单位的场合.定义方法:[f1] type I.[f2] type p decimals [num].[f3] type f.如:DATA number(10) type p value '9.876543210' decimals 9.输出:9.876543210如果decimals 8 输出: 9.87654321ABAP运算数值运算(在ABAP中数学表达式可以任意多层嵌套)算术运算二元操作符包括:–+ :加法– - :减法–* :乘法–/ :除法–** :乘方–DIV :整除忽略余数–MOD :取模需要注意,圆括号和操作符都是关键字,需要跟操作数之间至少用一个空格分开。

abap基本语法汇总

abap基本语法汇总

一数据类型和对象在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。

在程序中必须声明要使用的全部数据对象。

声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。

基本数据类型对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。

类型 P 数据允许在小数点后有数字。

有效大小可以是从 1 到 16 字节的任何值。

将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。

在小数点后最多允许 14 个数字。

确定数据对象的属性如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用 DESCRIBE 语句。

语法如下:DESCRIBE FIELD <f> [LENGTH <l>] [TYPE <t> [COMPONENTS <n>]][OUTPUT-LENGTH <o>] [DECIMALS <d>][EDIT MASK <m>].将由语句的参数指定的数据对象<f>的属性写入参数后的变量。

DESCRIBE FIELDS 语句具有下列参数:确定字段长度要确定数据对象的长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD <f> LENGTH <l>.系统读取字段<f>的长度,并将值写入字段<l>。

确定数据类型要确定字段的数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD <f> TYPE <t> [COMPONENTS <n>].系统读取字段<f>的数据类型,然后将值写入字段<t>。

除返回预定义数据类型 C、D、F、I、N、P、T 和 X 外,该语句还返回3 s 对于带前导符号的两字节整型4 b 对于无前导符号的一字节整型4 h 对于内表4 C 对于组件中没有嵌套结构的结构4 C 对于组件中至少有一个嵌套结构的结构要确定字段的输出长度,利用 DESCRIBE FIELD 语句使用 OUTPUT-LENGTH 参数,如下所示:DESCRIBE FIELD <f> OUTPUT-LENGTH <o>.系统读取字段<f>的输出长度,并将值写入字段<o>。

abap字符串操作语法总结

abap字符串操作语法总结

ABAP 字符串操作语法总结CONCATENATE:合并字符串.CONCATENATE f1 … fn INTO g [SEPARATED BY h].1* CONCATENATE合并字符串2DATA: c1(10) TYPE c VALUE 'Sum',3c2(3) TYPE c VALUE 'mer',4c3(5) TYPE c VALUE 'holi ',5c4(10) TYPE c VALUE 'day',6c5(30) TYPE c ,7sep(3) TYPE c VALUE ' - '.8CONCATENATE c1 c2 c3 c4 INTO c5.9WRITE c5.10CONCATENATE c1 c2 c3 c4 INTO c5 SEPARATED BY sep. 11WRITE / c5.--------------------------------------------------------输出结果:SummerholidaySum - mer - holi - day--------------------------------------------------------SPLIT: 字符串拆分.SPLIT f AT g INTO h1 … hn.SPLIT f AT g INTO TABLE itable.1* splitting strings2DATA: string10(60) TYPE c ,3p1(20) TYPE c VALUE '++++++++++++++++++++', 4p2(20) TYPE c VALUE '++++++++++++++++++++', 5p3(20) TYPE c VALUE '++++++++++++++++++++', 6p4(20) TYPE c VALUE '++++++++++++++++++++', 7del10(3) TYPE c VALUE '***'.8 string10 = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'. 9WRITE string10.10SPLIT string10 AT del10 INTO p1 p2 p3 p4.11WRITE / p1.12WRITE / p2.13WRITE / p3.14WRITE / p4.--------------------------------------------------------输出结果:Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5Part 1Part 2Part 3Part 4 *** Part 5--------------------------------------------------------SHIFT:字符串整体或者字串进行转移.如果SHIFT 操作的对象是C类型,则所有字节都会向前移动一位,最后一位用空格代替;如果SHIFT操作的对象是String类型,则所有字符都会向前移动一位,最后一位删除;SHIFT c <LEFT/RIGHT/CIRCULAR>.SHIFT c BY n PLACES.SHIFT c UP TO c1.1* SHIFT c BY n PLACES 用法.2DATA: t1(10) TYPE c VALUE 'abcdefghij',3string1 LIKE t1.45 string1 = t1.6WRITE string1.7SHIFT string1.8WRITE / string1.9 string1 = t1.10SHIFT string1 BY3 PLACES LEFT.11WRITE / string1.12 string1 = t1.13SHIFT string1 BY3 PLACES RIGHT.14WRITE / string1.15 string1 = t1.16SHIFT string1 BY3 PLACES CIRCULAR.17WRITE / string1.-------------------------------------------------------- 输出结果:abcdefghij “string1bcdefghijdefghijabcdefgdefghijabc--------------------------------------------------------1* SHIFT c UP TO c12DATA: t2(10) TYPE c VALUE 'abcdefghij',3string2 LIKE t2,4str2(2) TYPE c VALUE 'ef'.56 string2 = t2.7WRITE string2.8SHIFT string2 UP TO str2.9WRITE / string2.10 string2 = t2.11SHIFT string2 UP TO str2 LEFT.12WRITE / string2.13 string2 = t2.14SHIFT string2 UP TO str2 RIGHT.15WRITE / string2.16 string2 = t2.17SHIFT string2 UP TO str2 CIRCULAR.18WRITE / string2.--------------------------------------------------------输出结果:abcdefghijefghijefghijabcdefefghijabcd--------------------------------------------------------移除字符串左/右边的子字符串:SHIFT c LEFT DELETEING LEADING c1.SHIFT c RIGHT DELETEING TRAILING c1.1* SHIFT c LEFT/RIGHT DELETEING LEADING c1 2DATA: t3(14) TYPE c VALUE 'abcdefghij',3string3 LIKE t3,4str3(6) TYPE c VALUE 'ghijkl'.56 string3 = t3.7WRITE string3.8SHIFT string3 LEFT DELETING LEADING space. 9WRITE / string3.10 string3 = t3.11SHIFT string3 RIGHT DELETING TRAILING str3. 12WRITE / string3.--------------------------------------------------------输出结果:abcdefghijabcdefghijabcdef--------------------------------------------------------CONDENSE:重新整合分配字符串.CONDENSE c <NO-GAPS>.1* condensing strings2DATA: string9(25) TYPE c VALUE ' one two three four', 3len9 TYPE i.45 len9 = strlen( string9 ).6WRITE: string9, '!'.7WRITE: / 'Length: ', len9.8CONDENSE string9.9 len9 = strlen( string9 ).10WRITE: string9, '!'.11WRITE: / 'Length: ', len9.12CONDENSE string9 NO-GAPS.13 len9 = strlen( string9 ).14WRITE: string9, '!'.15WRITE: / 'Length: ', len9.--------------------------------------------------------输出结果:one two three four !Length: 25 one two three four !Length: 18 onetwothreefour !Length: 15--------------------------------------------------------TRANSLATE:实现字符串转换.TRANSLATE c TO UPPER CASE.TRANSLATE c TO LOWER CASE.TRANSLATE c USING c1.1* translating signs2DATA: t5(10) TYPE c VALUE 'AbCdEfGhIj',3string5 LIKE t5,4rule5(20) TYPE c VALUE 'AxbXCydYEzfZ'.56 string5 = t5.7WRITE string5.8TRANSLATE string5 TO UPPER CASE. "#EC SYNTCHAR 9WRITE / string5.10 string5 = t5.11TRANSLATE string5 TO LOWER CASE. "#EC SYNTCHAR 12WRITE / string5.13 string5 = t5.14TRANSLATE string5 USING rule5. "#EC SYNTCHAR15WRITE / string5.----------------------------------------------输出结果:AbCdEfGhIjABCDEFGHIJabcdefghijxXyYzZGhIj----------------------------------------------TRANSLATE c … FROM CODE PAGE g1 … TO CODE PAGE g2. OVERLAY:参考字符串对空白字符进行填充.OVERLAY c with c1.REPLACE:字符串按条件取代.REPLACE f … WITH g … INTO h.1* replacing values2DATA: t4(10) TYPE c VALUE 'abcdefghij',3string4 LIKE t4,4str41(4) TYPE c VALUE 'cdef',5str42(4) TYPE c VALUE 'klmn',6str43(2) TYPE c VALUE 'kl',7str44(6) TYPE c VALUE 'klmnop',8len4 TYPE i VALUE 2.910 string4 = t4.11WRITE string4.12REPLACE str41 WITH str42 INTO string4.13WRITE / string4.14 string4 = t4.15REPLACE str41 WITH str42 INTO string4 LENGTH len4. 16WRITE / string4.17 string4 = t4.18REPLACE str41 WITH str43 INTO string4.19WRITE / string4.20 string4 = t4.21REPLACE str41 WITH str44 INTO string4.22WRITE / string4.----------------------------------------------输出结果:abcdefghijabklmnghijabklmnefghabklghijabklmnopgh--------------------------------------------------------SERACH:搜索指定字符串. 通过SY_SUBRC取值得到查询结果. SERACH f FOR g.[ABBREVIATED] : 从指定字符串中按顺序搜索相匹配字符串abbreviated [STARTING AT n1 ]:从字符串第n1个字符串开始搜索[ENDING AT n2 ]:搜索到字符串第n2个字符为止[AND MARK]:从指定字符串中模糊搜索相匹配字符串1*searching strings2DATA string7(30) TYPE c VALUE 'This is a little sentence.'.3WRITE: / 'Searched', 'SY-SUBRC', 'SY-FDPOS'.45ULINE /1(26).6SEARCH string7 FOR'X'.7WRITE: / 'X', sy-subrc UNDER 'SY-SUBRC',8sy-fdpos UNDER 'SY-FDPOS'.9SEARCH string7 FOR'itt '.10WRITE: / 'itt ', sy-subrc UNDER 'SY-SUBRC',11sy-fdpos UNDER 'SY-FDPOS'.12SEARCH string7 FOR'.e .'.13WRITE: / '.e .', sy-subrc UNDER 'SY-SUBRC',14sy-fdpos UNDER 'SY-FDPOS'.15SEARCH string7 FOR'*e'.16WRITE: / '*e ', sy-subrc UNDER 'SY-SUBRC',17sy-fdpos UNDER 'SY-FDPOS'.18SEARCH string7 FOR's*'.19WRITE: / 's* ', sy-subrc UNDER 'SY-SUBRC',20sy-fdpos UNDER 'SY-FDPOS'.----------------------------------------------输出结果:Searched SY-SUBRC SY-FDPOS--------------------------------------------X 4 0itt 0 11.e . 0 15*e 0 10s* 0 17----------------------------------------------1*2DATA: string8(30) TYPE c VALUE 'This is a fast first example.',3pos8 TYPE i,4off8 TYPE i.56WRITE / string8.7SEARCH string8 FOR'ft' ABBREVIATED.8WRITE: / 'SY-FDPOS:', sy-fdpos.9 pos8 = sy-fdpos + 2.10SEARCH string8 FOR'ft' ABBREVIATED STARTING AT pos8 AND MARK. 11WRITE / string8.12WRITE: / 'SY-FDPOS:', sy-fdpos.13 off8 = pos8 + sy-fdpos - 1.14WRITE: / 'Off:', off8.----------------------------------------------输出结果:This is a fast first example.SY-FDPOS: 10This is a fast FIRST example.SY-FDPOS: 4Off: 15----------------------------------------------SERACH itab FOR g.[ABBREVIATED] : 从内表中按顺序逐行搜索相匹配字符串[STARTING AT line1 ]:从字符串第n1个字符串开始搜索[ENDING AT line2 ]:搜索最大范围到内表中具体某行[AND MARK]:从内表中模糊搜索相匹配字符串。

资料_ABAP4基本语法介绍

资料_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叙述则是用在指定资料型态。

ABAP语法

ABAP语法

ABAP语法一、格式。

作用:设置或更改有效的输出格式。

注意:由Format设置的格式会影响到清淡的下一个输出操作,下一个输出命令或下一个新行。

附加ON对于转换贴切的输出格式变得更随意。

你也能设置静态的附加ON,OFF和n(对于颜色)。

1、颜色。

Format Color n [ON] or Format Color n[OFF]作用:行背景颜色。

N能有如下的价值。

OFF or COL_BACKGROUND Background (GUI-specific)1 or COL_HEADING Headers (grayish blue)2 or COL_NORMAL List body (bright gray)3 or COL_TOTAL Totals (yellow)4 or COL_KEY Key columns (bluish green)5 or COL_POSITIVE Positive threshold value (green)6 or COL_NEGATIVE Negative threshold value (red)7 or COL_GROUP Control levels (violet)清单颜色注意:每次一个新的事件(START-OF-SELECTION, TOP-OF-PAGE, ...)开始,这个系统的设置回复到COLOR 0。

附加.. INTENSIFIED和... INVERSE影响颜色的显示属性...COLOR对于线不起作用。

WRITE --- OUTPUT AS lineInclude<Line>(或更多广泛的Include<List>)对于行包含关系识别作为永恒,例如:LINE_TOP_LEFT_CORNER, LINE_BOTTOM_MIDDLE_CORNER。

Line不能有其他的显示属性。

如果像颜色(COLOR),背面VIDEO(INVERSE)或变强(INTENSIFIED)被设置,这些忽略输出。

abap switch 语法

abap switch 语法

abap switch 语法摘要:一、ABAP Switch 语法简介二、ABAP Switch 语法详解1.基本语法结构2.变量和表达式3.条件分支4.默认分支5.跳出循环正文:【ABAP Switch 语法简介】ABAP(Advanced Business Application Programming)是一种高级企业应用程序编程语言,主要用于SAP ERP 系统的开发。

Switch 语句是ABAP 中的一种选择结构控制语句,可以根据不同的条件执行不同的代码块。

本文将详细介绍ABAP Switch 语法的相关知识。

【ABAP Switch 语法详解】1.基本语法结构ABAP Switch 语句的基本语法结构如下:```SWITCH (<条件表达式>)WHEN (<条件1>) THEN<代码块1>WHEN (<条件2>) THEN<代码块2>...WHEN (<条件n>) THEN<代码块n>ELSE<默认代码块>END-SWITCH```其中,`<条件表达式>` 是用于判断的条件,`<条件1>`、`<条件2>` 等是具体的条件,`<代码块1>`、`<代码块2>` 等是针对不同条件执行的代码块,`<默认代码块>` 是在所有条件都不满足时执行的代码块。

2.变量和表达式在ABAP Switch 语句中,可以使用变量和表达式作为条件。

需要注意的是,Switch 语句中的条件表达式不能包含函数调用。

3.条件分支在Switch 语句中,可以使用WHEN 子句定义多个条件分支。

当条件表达式的值为某个条件时,将执行对应的代码块。

多个WHEN 子句之间可以有任意数量的空行,但它们必须处于同一缩进级别。

4.默认分支如果Switch 语句中没有满足的条件,将执行ELSE 子句中的代码块。

abap基本语法汇总

abap基本语法汇总

一数据类型和‎对象在ABAP‎中,可以使用与‎标准数据声‎明相似的语‎法处理数据‎类型,而与数据对‎象无关。

在程序中必‎须声明要使‎用的全部数‎据对象。

声明过程中‎,必须给数据‎对象分配属‎性,其中最重要‎的属性就是‎数据类型。

对算术运算‎的非整型结‎果(如分数)进行四舍五‎入,而不是截断‎。

类型 P 数据允许在‎小数点后有‎数字。

有效大小可‎以是从 1 到 16 字节的任何‎值。

将两个十进‎制数字压缩‎到一个字节‎,而最后一个‎字节包含一‎个数字和符‎号。

在小数点后‎最多允许 14 个数字。

1.3 确定数据对‎象的属性如果要查明‎数据对象的‎数据类型,或者要在程‎序的运行期‎间使用其属‎性,可使用DESCR‎I BE 语句。

语法如下:DESCR‎I BE FIELD‎<f> [LENGT‎H <l>] [TYPE <t> [COMPO‎N ENTS‎<n>]][OUTPU‎T-LENGT‎H <o>] [DECIM‎A LS <d>][EDIT MASK <m>].将由语句的‎参数指定的‎数据对象<f>的属性写入‎参数后的变‎量。

DESCR‎I1.3.1 确定字段长‎度要确定数据‎对象的长度‎,利用DES‎CRIBE‎FIELD‎语句使用 LENGT‎H参数,如下所示:DESCR‎I BE FIELD‎<f> LENGT‎H <l>.系统读取字‎段<f>的长度,并将值写入‎字段<l>。

1.3.2确定数据‎类型要确定字段‎的数据类型‎,利用DES‎CRIBE‎FIELD‎语句使用 TYPE 参数,如下所示:DESCR‎I BE FIELD‎<f> TYPE <t> [COMPO‎N ENTS‎<n>].系统读取字‎段<f>的数据类型‎,然后将值写‎入字段<t>。

abap 语法手册

abap 语法手册

abap 语法手册ABAP语法手册ABAP(Advanced Business Application Programming)是一种用于SAP软件开发的编程语言。

这份手册将介绍ABAP语言的基本语法和常用用法,为开发人员提供一个参考指南。

1. 数据类型和变量声明:ABAP支持多种数据类型,例如整数(INT),浮点数(FLOAT),字符串(STRING)和日期(DATE)。

变量声明可以通过关键字DATA进行,例如:DATA: my_integer TYPE i.DATA: my_string TYPE string.2. 控制结构:ABAP支持常见的控制结构,如条件语句(IF...ELSE...ENDIF)和循环语句(DO...ENDDO,WHILE...ENDWHILE)。

例如:IF my_integer > 10.WRITE: 'The value is greater than 10'.ELSE.WRITE: 'The value is less than or equal to 10'.ENDIF.3. 函数和方法:ABAP允许定义函数和方法来实现特定的功能。

函数可以通过关键字FUNCTION和ENDFUNCTION来定义,而方法可以通过关键字METHOD和ENDMETHOD来定义。

例如:FUNCTION my_function.WRITE: 'Hello, world!'.ENDFUNCTION.4. 数据表和内表:ABAP中的数据表可以通过关键字DATA和TABLE来声明,内表可以通过关键字INTERNAL TABLE和TYPES来声明。

例如:DATA: my_table TYPE TABLE OF my_structure.DATA: my_internal_table TYPE TABLE OF my_structure.5. 数据访问:ABAP提供了方便的数据访问方法,例如通过SELECT语句从数据库中检索数据,或者通过READ TABLE语句从内表中检索数据。

SAP ABAP基本语法介绍

SAP ABAP基本语法介绍
4
ABAP语法特点
规范化打印机统一设置代码格式
由于编程的时候随时切换大小写比较麻烦,可以在ABAP编辑器中 用“规范化打印机”按钮来自动转换
通过链语句减少关键字重复输入
如果连续多行的第一个关键字相同,可以使用链语句的方式减少输 入。 第一个关键字后面用一个冒号表示链语句开始 链语句的最后一句结束还是用句号,但是中间的分隔由句号改成逗 号。 空格和换行跟基本语句一样,可以任意加。 注意,这样的写法并不会提高执行效率,仅仅为了显示好看。
5
程序类型
可执行程序 (程序类型为 1)
可执行程序的特点是可以直接执行,而无需事务码,这个也是一般报表开 发最常用的程序类型。可执行程序包含一些预定义的过程块,比如 INITIALIZATION、AT SELECTION-SCREEN、START-OF-SELECTION、 END-OF-SELECTION 等等,有一个后台系统程序会控制可执行程序,按 照规定的顺序依次调用这些过程块。首先显示一个选择屏幕,最后输出一 个列表。
10
数据类型:全局数据类型 在ABAP 字典中定义的类型,可以在整个SAP 系统中使用。
11
数据对象:变量 通常用DATA 语句来定义数据对象 数据对象的类型可以是基本类型、本地类型或全局类型
实际开发中更多的是参考现有的数据对象(LIKE)。
DATA myvar2 LIKE myvar1.
12
数据对象:变量
为屏幕绘制器画出的屏幕所用的模块池 (程序类型为 M)
模块池包含了来自业务的屏幕模块的处理步骤,它只能通过事务码或者菜 单功能调用。
包含程序 (程序类型为 I)
包含了不能独立运行的程序代码,它的作用主要是让程序变得清晰和可以被 重用,在其他程序里,用 INCLUDE 语句可以把一个包含程序加到程序里。 最终的效果相当于用被包含的程序里的全部内容替换调 INCLUDE 语句

abap 常用函数用法 -回复

abap 常用函数用法 -回复

abap 常用函数用法-回复标题:ABAP常用函数用法详解ABAP(Advanced Business Application Programming)是SAP公司开发的一种高级编程语言,广泛应用于企业资源规划(ERP)系统中。

在ABAP编程中,函数的使用是不可或缺的一部分。

本文将详细介绍一些ABAP常用函数的用法。

1. CONCATENATE函数CONCATENATE函数用于连接两个或更多的字符字段或变量。

其基本语法如下:CONCATENATE expression1 [ INTO target ] [ SEPARATED BY separator ].例如,我们想要连接两个字符串"Hello"和"World":DATA(str1) = 'Hello'.DATA(str2) = 'World'.DATA(result) = CONCATENATE str1 ' ' str2.在上述代码中,'result'的值将会是"Hello World"。

2. SUBSTRING函数SUBSTRING函数用于从字符串中提取一部分子字符串。

其基本语法如下:SUBSTRING string [ OFFSET offset ] [ LENGTH length ].例如,我们想要从字符串"Hello World"中提取"World":DATA(full_str) = 'Hello World'.DATA(sub_str) = SUBSTRING full_str OFFSET 6.在上述代码中,'sub_str'的值将会是"World"。

3. REPLACE函数REPLACE函数用于在字符串中替换某个子字符串。

ABAP_4语法集锦大全(中文版)

ABAP_4语法集锦大全(中文版)

§. ABAP/4 DATA ELEMENT一.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.整行注释用’*’号, 注释本行后面部分用’”’号;§OUTPUTTING DATA TO SCREEN一. 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中)。

abap write语句

abap write语句

abap write语句摘要:1.ABAP Write 语句概述2.ABAP Write 语句的基本语法3.ABAP Write 语句的应用示例正文:【1.ABAP Write 语句概述】ABAP Write 语句是ABAP 编程语言中用于向屏幕或文件输出数据的语句。

它可以将数据按照指定的格式输出,从而实现数据在屏幕上的显示或者文件的保存。

Write 语句在ABAP 编程中具有广泛的应用,是ABAP 开发者必备的技能之一。

【2.ABAP Write 语句的基本语法】ABAP Write 语句的基本语法如下:```WRITE: 输出方向,数据项。

```其中,输出方向可以是屏幕(SCREEN)或文件(FILE),数据项可以是变量、常量或表达式。

例如,以下语句将变量`lvb_num`的值输出到屏幕:```WRITE: SCREEN, lvb_num.```以下语句将变量`lvb_num`的值输出到文件:```WRITE: FILE, lvb_num.```【3.ABAP Write 语句的应用示例】假设我们有一个名为`lvb_num`的变量,其值为1234,我们希望将这个值输出到屏幕和文件。

可以使用以下代码实现:```DATA: lvb_num TYPE i,lvb_file TYPE string VALUE "lvb_num.txt".WRITE: SCREEN, lvb_num.WRITE: FILE, lvb_num.```在上述代码中,我们首先定义了一个整数类型的变量`lvb_num`,并将其值设为1234。

然后,我们定义了一个字符串类型的变量`lvb_file`,并将其值设为输出文件的路径。

接下来,我们分别使用Write 语句将`lvb_num`的值输出到屏幕和文件。

总之,ABAP Write 语句是ABAP 编程中用于输出数据的重要语句,它可以将数据按照指定的格式输出到屏幕或文件。

SAP-ABAP语法整理

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 abap基础语法

sap abap基础语法

sap abap基础语法
SAP ABAP的基础语法包括:
1.关键字:每个语句的第一个单词必须是ABAP关键字,且单词之间至少要
用一个空格分隔。

2.句点符号:每个语句结束必须要用句号,标志着语句的完成。

3.大小写:ABAP不区分大小写,一般关键字大写,操作数小写。

4.命名规则:使用至少1个但不超过8个字符,且ABAP语言的数据类型包
括八种基本数据类型。

5.链语句方式:连续多行的第一个关键字相同,可使用链语句方式减少输入。

6.结构化编程:包括顺序、选择和循环结构,分别由IF、CASE和LOOP等
关键字实现。

abap基本语法汇总

abap基本语法汇总

一数据类型和对象在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。

在程序中必须声明要使用的全部数据对象。

声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。

1.1 基本数据类型对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。

类型 P 数据允许在小数点后有数字。

有效大小可以是从 1 到 16 字节的任何值。

将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。

在小数点后最多允许14 个数字。

1.2 系统定义的数据对象1.3 确定数据对象的属性如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE 语句。

语法如下:DESCRIBE FIELD <f> [LENGTH <l>] [TYPE <t> [COMPONENTS <n>]][OUTPUT-LENGTH <o>] [DECIMALS <d>][EDIT MASK <m>].将由语句的参数指定的数据对象<f>的属性写入参数后的变量。

DESCRIBE FIELDS 语句具有下列参数:1.3.1 确定字段长度要确定数据对象的长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD <f> LENGTH <l>.系统读取字段<f>的长度,并将值写入字段<l>。

1.3.2确定数据类型要确定字段的数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD <f> TYPE <t> [COMPONENTS <n>].系统读取字段<f>的数据类型,然后将值写入字段<t>。

abap常用命令

abap常用命令

ABAP是SAP Business Suite的基础编程语言,其源程序由注释和ABAP语句组成,每个语句都以关键字开头,以句点结尾。

ABAP语言的常用命令包括但不限于:1. SELECT命令:用于从表中选择数据,具有特定的格式。

该命令通常被用来从一个名为CURSOR的临时数据结构中提取数据,然后将这些数据以结构的形式进行处理。

2. MODIFY命令:用于修改表中的数据,使用SELECT命令可以从表中选择数据,然后使用MODIFY命令对这些数据进行修改。

3. INSERT命令:用于插入新记录到表中。

4. DELETE命令:用于删除表中的记录。

5. UPDATE命令:用于更新表中的记录。

6. BINARY命令:用于二进制文件的处理。

7. BREAK命令:用于跳出循环。

8. CONTINUE命令:用于跳过循环中当前的迭代。

9. ENDSELECT命令:用于结束SELECT循环。

10. ELSE命令:用于条件判断语句的分支之一。

11. IF命令:用于条件判断语句的开始。

12. ON ERROR语句:用于捕获和处理错误。

13. RANGE命令:用于范围查询。

14. TRY语句:用于捕获和处理错误,与ON ERROR语句配合使用。

15. USING语句:用于指定使用的数据对象。

16. WHERE语句:用于指定查询条件。

17. VALUE命令:用于定义全局或局部变量。

18. JOIN语句:用于连接多个表中的数据。

19. GROUP BY语句:用于对数据进行分组操作。

20. SORT语句:用于对数据进行排序。

21. ABM点式编程:用于在程序中运行ABAP程序块的块式编程。

22. OTHERS语句:用于处理除IF、ELSE、ENDIF以外的其他异常情况。

23. START-OF-SELECTION语句:用于表示程序开始执行。

24. END-OF-SELECTION语句:用于表示程序结束执行。

以上命令是ABAP编程中经常使用的命令,在实际编程中,需要根据具体情况选择合适的命令进行操作。

ABAP学习(1):基本语法介绍

ABAP学习(1):基本语法介绍

ABAP学习(1):基本语法介绍ABAP学习ABAP学习基本资料整理。

ABAP基本语法ABAP中不区分⼤⼩写,例如:Type 和type表⽰⼀个意思。

1基本数据类型ABAP基本数据类型:I : 整形数据;C:字符型数据;N:只包含数字的字符串;P:包装数据类型;F:浮点类型;D:⽇期类型;T:时间类型;X:⼗六进制数据。

F和P类型都保存浮点数,P的精度⽐F更⾼,⼀般使⽤P类型。

⽰例:"整型DATA:num1 type I."字符型DATA:num2(3) type C."数字字符型DATA:num3(4) type N."包装类型,decimals指定⼩数位数,只有P类型可⽤DATA:num4(10) type P DECIMALS 4."浮点型DATA:num5 type F."⽇期型DATA:num6 type D."时间型DATA:num7 type T."16进制型DATA:num8(10) type X."字符串DATA:num9 type string."C,N,X,P可以使⽤length定义长度DATA:num10 TYPE C LENGTH 14."赋值操作"move to 语句"MOVE 1333 TO num1.num1 = 1234567890.num2 = 'abc'.num3 = '0010'.num4 = '1.23456789'.num5 = '12.3456789'.num6 = sy-datum.num7 = sy-uzeit.num8 = 1234567890.write :/ 'num1=',num1,'num2=',num2,'num3=',num3,'num4=',num4,'num5=',num5,'num6=',num6,'num7=',num7,'num8=',num8."字符串转I,"不能有汉字,不能是科学计数法"num9 = '1.23300000E+2'.num9 = '12.33334'.num1 = num9.WRITE:/ 'num1',num1."字符串转Cnum9 = '中'.num2 = num9.WRITE:/ 'num2',num2."字符串转N,会将⼩数点去掉num9 = '22.33'.num3 = num9.WRITE:/ 'num3',num3."字符串转P,num9 = '12.3456'.num4 = num9.WRITE:/ 'num4',num4."字符串转F,会变成科学计数法显⽰num9 = '12.34567'.num5 = num9.WRITE:/ 'num5',num5."字符串转D,MMDDYYYY"输出:09302018num9 = '20180930'.num6 = num9.WRITE:/ 'num6',num6."字符串转T,hhmmssnum9 = '014423'.num7 = num9.WRITE:/ 'num7',num7."字符串转X,长度超过20位,截取前20字符num9 = '123456789012345678901234'.num8 = num9.WRITE:/ 'num8',num8."科学计数法转换DATA:str TYPE char25 VALUE '4.3999999999999997E-2'. DATA:m_str LIKE CHA_CLASS_DATA-SOLLWERT. DATA:c_str(16) TYPE C.DATA:c_num(16) TYPE P DECIMALS 3.MOVE str to m_str."科学计数法字符串转换成数字CALL FUNCTION'QSS0_FLTP_TO_CHAR_CONVERSION' EXPORTINGI_NUMBER_OF_DIGITS = 3I_FLTP_VALUE = m_strI_VALUE_NOT_INITIAL_FLAG = 'X'I_SCREEN_FIELDLENGTH = 16 IMPORTINGE_CHAR_FIELD = c_str.IF sy-subrc = 0.WRITE:/ c_str.c_num = c_str.WRITE:/ c_num.ENDIF."不⽤function转换,QSOLLWERTE作为中间数据"将科学计数法字符串转换为其他数据DATA:mid_str TYPE QSOLLWERTE.mid_str = str.c_num = mid_str.View Code2 type定义数据类型语法结构:Types :<类型名> type <数据类型>Types :<类型名> like <数据对象或数据类型>定义结构体Types: begin of <结构名>,<资料名> type <数据类型>,…………end of <结构名>.Data: begin of <结构名>,<资料名> type <数据类型>,…………end of <结构名>."******************************************************************"type定义数据类型"******************************************************************TYPES: length TYPE I.TYPES: str(20) TYPE C.TYPES: BEGIN OF person,Name(10) type C,Age type I,END OF person.3变量声明相关语法:data: <变量名> type <数据类型> [value <值>] 。

abap基础语法

abap基础语法

abap基础语法ABAP基础语法ABAP(Advanced Business Application Programming)是一种高级业务应用编程语言,主要用于SAP系统开发。

它由SAP公司开发并广泛应用于企业资源计划(ERP)系统中。

ABAP基础语法是学习ABAP编程的第一步,掌握基础语法对于编写高效、可维护的ABAP程序至关重要。

本文将介绍ABAP基础语法的一些重要概念和常用语句。

1. 数据类型在ABAP中,我们可以声明各种不同的数据类型,如整数型(INT)、字符型(CHAR)、浮点型(FLOAT)等。

声明变量时需要指定变量的数据类型,并可以为其赋初值。

2. 变量和常量ABAP中可以通过“DATA”关键字声明变量,并使用“CONSTANTS”关键字声明常量。

变量和常量用于存储和操作数据,在程序中起到关键的作用。

3. 运算符ABAP支持各种算术、比较和逻辑运算符,用于进行数值计算、条件判断和逻辑操作。

例如,加法运算符(+)、等于运算符(=)和逻辑与运算符(AND)等。

4. 控制语句ABAP提供了多种控制语句,用于根据条件执行不同的代码块。

常用的控制语句包括IF语句、CASE语句和LOOP语句等。

这些语句可以帮助我们实现程序的流程控制和逻辑判断。

5. 函数和方法ABAP中可以定义函数和方法,用于封装一段可重用的代码。

函数是一段独立的代码,可以接受输入参数并返回一个结果。

方法是与对象相关联的代码,可以访问对象的属性和方法。

6. 内部表内部表是ABAP中一种重要的数据结构,类似于其他编程语言中的数组或列表。

内部表用于存储一组有序的数据,并可以通过索引或关键字访问。

我们可以使用内部表来处理和操作数据。

7. 结构体ABAP中的结构体是一种复合数据类型,可以包含多个字段。

结构体用于组织和存储相关的数据,并可以通过字段名访问各个字段的值。

8. 类和对象ABAP是一种面向对象的编程语言,支持类和对象的概念。

SAP-ABAP语法整理

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)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一数据类型与对象在ABAP中,可以使用与标准数据声明相似得语法处理数据类型,而与数据对象无关。

在程序中必须声明要使用得全部数据对象。

声明过程中,必须给数据对象分配属性,其中最重要得属性就就是数据类型。

1、1 基本数据类型对算术运算得非整型结果(如分数)进行四舍五入,而不就是截断。

类型 P 数据允许在小数点后有数字。

有效大小可以就是从 1 到 16 字节得任何值。

将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字与符号。

在小数点后最多允许 14 个数字。

1、2 系统定义得数据对象1、3 确定数据对象得属性如果要查明数据对象得数据类型,或者要在程序得运行期间使用其属性,可使用DESCRIBE 语句。

语法如下:DESCRIBE FIELD <f> [LENGTH <l>] [TYPE <t> [COMPONENTS <n>]][OUTPUT-LENGTH <o>] [DECIMALS <d>][EDIT MASK <m>]、将由语句得参数指定得数据对象<f>得属性写入参数后得变量。

DESCRIBE FIELDS 语句具有下列参数:1、3、1 确定字段长度要确定数据对象得长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD <f> LENGTH <l>、系统读取字段<f>得长度,并将值写入字段<l>。

1、3、2确定数据类型要确定字段得数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD <f> TYPE <t> [COMPONENTS <n>]、系统读取字段<f>得数据类型,然后将值写入字段<t>。

除返回预定义数据类型 C、D、F、I、N、P、T 与 X 外,该语句还返回2 s 对于带前导符号得两字节整型2 b 对于无前导符号得一字节整型2 h 对于内表2 C 对于组件中没有嵌套结构得结构2 C 对于组件中至少有一个嵌套结构得结构1、3、3确定输出长度要确定字段得输出长度,利用 DESCRIBE FIELD 语句使用 OUTPUT-LENGTH 参数,如下所示:DESCRIBE FIELD <f> OUTPUT-LENGTH <o>、系统读取字段<f>得输出长度,并将值写入字段<o>。

1、3、4确定小数位若要确定类型P字段得小数位得个数,利用 DESCRIBE FIELD语句使用 DECIMALS参数,如下所示:DESCRIBE FIELD <f> DECIMALS <d>、系统读取字段<f>得小数个数,并将值写入字段<d>。

1、3、5 确定转换例程要确定 ABAP/4 词典中某字段得转换例程就是否存在,如果存在,名称就是什么,利用DESCRIBE FIELD 语句使用 EDIT MASK 参数,如下所示:DESCRIBE FIELD <f> EDIT MASK <m>、如果 ABAP/4 词典中字段<f>得转换例程存在,则系统将其写入字段<m>,然后将系统字段 SY-SUBRC 中得返回代码设为 0。

可以像下面所显示得那样,在 WRITE 语句中将字段<m>直接用作格式模板:WRITE <f> USING EDIT MASK <m>、如果字段<f>没有转换例程,则系统将返回代码设为 4。

二数据输出到屏幕2、1 在屏幕上定位Write输出通过制定字段名称前面得格式规范,可以在屏幕上定位 WRITE 语句得输出:WRITE AT [/][<pos>][(<len>)] <f>、此处3 斜线‘/’表示新得一行3 <pos>就是最长为三位数字得数字或变量,表示在屏幕上得位置3 <len>就是最长为三位数字得数字或变量,表示输出长度如果格式规范只包含直接值(即,不就是变量),可以忽略关键字 AT。

2、2 格式化选项对 WRITE 语句,可以使用不同得格式化选项。

WRITE 、、、、<f><选项>、(1)所有数据类型得格式化选项:(2)数字字段得格式化选项:(3)日期字段得格式化选项:2、3输出符号与图标使用下列语法,可以在屏幕上输出符号与 R/3 图标:WRITE <symbol-name> AS SYMBOL、WRITE <icon-name> AS ICON、符号与图标得名称(<符号名>与<图标名>)就是定义系统得常量,这些常量在包含程序<SYMBOL>与<ICON>(尖括号就是名称得一部分)中指定。

这些包含程序也包含符号与图标得简短说明。

输出符号与图标最简单得方法就是使用语句结构。

要使符号与图标对程序可用,必须在程序中输入恰当得包含程序或更易理解得包含程序<LIST>。

2、4 输出线与空行(1)水平线用下列语法,可以在输出屏幕上生成水平线:ULINE [AT [/][<pos>][(<len>)]]、它等同于WRITE [AT [/][<pos>][(<len>)]] SY-ULINE、AT 后得格式规范,与在屏幕上定位 WRITE 输出中为 WRITE 语句说明得格式规范完全一样。

如果没有格式规范,系统则开始新得一行,并用水平线填充该行。

否则,只按指定输出水平线。

生成水平线得另一种方法,就是在 WRITE 语句中键入恰当数量得连字符,如下所示:WRITE [AT [/][<pos>][(<len>)]] '-----、、、'、(2)垂直线用下列语法,可以在输出屏幕上生成垂直线:WRITE [AT [/][<pos>]] SY-VLINE、或WRITE [AT [/][<pos>]] '|'、(3)空行用下列语法,可以在输出屏幕上生成空行:SKIP [<n>]、该语句从当前行开始,在输出屏幕上生成<n>个空行。

如果没有指定<n>得值,就输出一个空行。

(4)要将输出定位在屏幕得指定行上,使用:SKIP TO LINE <n>、该语句允许将输出位置向上或向下移动。

2、5 将字段内容作为复选框输出使用下列语法,可以将字段得第一个字符,作为复选框输出到输出屏幕上:WRITE <f> AS CHECKBOX、如果字段<f>得第一个字符就是一个“ X”,就显示复选框已填充。

如果字段<f>得第一个字符就是 SPACE,就显示复选框为空。

该语句创建得复选框,默认状态就是可输入得。

就就是说,用户可以通过单击鼠标来填充它们或使其为空。

三赋值在 ABAP/4 中,可以在声明语句与操作语句中给数据对象赋值。

在声明语句中,将初始值赋给声明得数据对象。

为此,可以在 DATA、常量或 STATICS 语句中使用 VALUE 参数。

要在操作语句中给数据对象赋值,可以使用:6 MOVE 语句与 WRITE TO 语句,对应于赋值运算符(=)3、1用MOVE 赋值3、1、1 基本赋值操作要将值(文字)或源字段得内容赋给目标字段,可以使用 MOVE语句或赋值运算符(=)。

MOVE 语句得语法如下所示:MOVE <f1> TO <f2>、MOVE 语句将源字段<f1>得内容传送给目标字段<f2>。

<f1>可以就是任何数据对象。

<f2>必须就是变量,不能就是文字或常量。

传送后,<f1>得内容保持不变。

赋值运算符(=)得语法如下所示:<f2> = <f1>、MOVE 语句与赋值运算符功能相同。

3、1、2 用指定偏移量赋值可以在每条 ABAP/4 语句中为基本数据类型指定偏移量与长度。

在这种情况下,MOVE 语句语法如下:MOVE <f1>[+<o1>][(<l1>)] TO <f2>[+<o2>][(<l2>)]、将字段<f1>从<o1>+1 位置开始且长度为<l1>得段内容赋给字段<f2>,覆盖从<o2>+1 位置开始且长度为<l2>得段。

在 MOVE 语句中,所有偏移量与长度指定都可为变量。

3、1、3 在字符串组件之间赋值描述得 MOVE 语句赋值方法适用于基本数据对象与结构化数据对象。

另外,还有一种MOVE 语句变体,允许将源字段串组件内容复制到目标字段串组件中。

语法如下:MOVE-CORRESPONDING <string1> TO <string2>、该语句将字段串<string1>组件得内容赋给有相同名称得字段串<string2>组件。

对于每对名称,系统都执行 MOVE 语句,如下所示:MOVE STRING1-<component> TO STRING2-<component>、系统分别执行所有必要类型转换。

该处理不同于包括整个字段串得赋值。

在这种情况下,应用不兼容得字段串与基本字段所述得转换规则。

3、2 用WRITE TO 赋值要将值(文字)或源字段内容写入目标字段,可以使用 WRITE TO 语句:WRITE <f1> TO <f2> [<option>]、WRITE TO 语句将源字段<f1>内容写入目标字段<f2>。

<f1>可以就是任何数据对象,<f2>必须就是变量,不能就是文字或常量。

写入后,<f1>内容保持不变。

对于<option>,可以使用 WRITE 语句得所有格式化选项(UNDER 与 NO-GAP 除外)。

WRITE TO 语句总就是检查用户主记录中得设置。

例如,这些设置指定就是将小数点显示为句号(、),还就是逗号(,)。

WRITE TO 语句并不遵循类型转换中所述得转换规则。

相关文档
最新文档