ABAP语言基础Word文档下载推荐.docx

上传人:b****6 文档编号:18035173 上传时间:2022-12-13 格式:DOCX 页数:69 大小:1.27MB
下载 相关 举报
ABAP语言基础Word文档下载推荐.docx_第1页
第1页 / 共69页
ABAP语言基础Word文档下载推荐.docx_第2页
第2页 / 共69页
ABAP语言基础Word文档下载推荐.docx_第3页
第3页 / 共69页
ABAP语言基础Word文档下载推荐.docx_第4页
第4页 / 共69页
ABAP语言基础Word文档下载推荐.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

ABAP语言基础Word文档下载推荐.docx

《ABAP语言基础Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ABAP语言基础Word文档下载推荐.docx(69页珍藏版)》请在冰豆网上搜索。

ABAP语言基础Word文档下载推荐.docx

2.输入程序名称,如果是新程序,按下”Create”,如果修改已存在程序,则按下”Change”或F6键

在命名规则上,Reports程序为Yaxxxxxx或Zaxxxxxx,a表applicationmodule简称,如s表SD

Dialog程序为SAPMYxxx或SAPMZxxx

3.输入程序Attribute

(1).Title:

程序描述或功能说明

(2).Type:

Executemode:

1:

Stand-alongProgram如Reports

I:

IncludeProgram

M:

ModulePool

F:

FunctionGroup

S:

SubroutinePool

(3).Status:

Programdevelopmentstatus:

P:

SAPstandardproductionprogram

K:

Customerproductionprogram

Systemprogram

T:

Testprogram

(4).Application:

程序所属的applicationmodule,如F表Financeialacounting

(5).Developmentclass:

用于同一系统中各个program,如果不属任一class,可使用$TMP

 

4.撰写SourceCode

Program之后接的是程序名称,Write是显示的意思,会将所接的字符串在屏幕上显示,注意每一

行最后要有一个.(点),表示叙述的结束,储存后回ABAP/4Editor画面

5.执行程序

按”Execute”或F8键,屏幕可见执行所得的结果

重要的编辑键

key

Function

F8

F5

F11

CTRL+F11

执行程序

复制游标所在列的内容

储存档案

删除游标所在列

2.2ABAP/4DataElement<

数据元素>

DataType

ABAP/4的数据型态可分成:

TypeLengthRangeInitialValueDescription

C11-65535ByteSpace字符串数据,如’Program’

D88Byte‘00000000’日期数据,格式为YYYYMMDD

F88Byte0浮点数

I4-2^31至2^31-10整数

N11-65535Byte‘00…0’数值所组成的字符串

P81-16Byte0Packed数,用在小数点数

T66Byte‘000000’时间数据,格式为HHMMSS

X11-65535ByteX’00’16进位数

变量宣告

变量宣告包含name,type,length和structure四个部分,使用DATA指令,如

DATA:

S1TYPEI,

SUMTYPEI.

<

链语句的说明>

常数宣告

常数宣告使用CONSTANTS指令,如宣告PI是一个小数点5位的值3.14159,

CONSTANTSPITYPEPDECIMALS5VALUE‘3.14159’.

CONSTANTS一样支持链语句>

系统所定义数据

这是由系统所定义的专有名辞,如

SPACE空白字符串

SY-SUBRC系统执行传回值,0表示成功

SY-UNAMElogon账号

SY-DATUM系统日期

SY-UZEIT系统时间

SY-TCODE目前的transactioncode

SY-COLNO用于当前列

SY-LINNO用于当前行

SY-LISEL选定行内容

SY-LISEL主要从系统字段中检索下列信息:

列表的索引、输出窗口中列表的位置和光标的位置>

TYPE叙述

用来指定数据型态或宣告自定数据型态

Example:

TYPES:

BEGINOFMYLIST,

NAME(10)TYPEC,

NUMBERTYPEI,

ENDOFMYLIST.

DATALISTTYPEMYLIST.

TYPE与TYPES是不同的,TYPE用来引用TYPES语句定义的结构,

TYPES与DATA也是有区别的,TYPES用来创建用户定义的基本数据类型和结构数据类型>

LIKE叙述

跟TYPE叙述使用格式相同,如

DATATRANSCODELIKESY-TCODE.

不同的是LIKE用在已有值的数据项,如系统变量,而TYPE叙述则是用在指定数据型态。

DATA叙述

语法:

DATA<

f>

[<

length>

]<

type>

value>

][<

decimals>

]

<

:

变量名称,最长30个字符,不可含有+.,:

()等字符

数据型态及长度,如LINE(20)TYPEC.MYNAMELIKESY-UNAME.

初值

小数位数

COUNTERTYPEPVALUE1, 

FLAGTYPECVALUEISINITIAL,

WEIGHTTYPEPDECIMALS2VALUE‘1.25’.

字段变量的宣告:

BEGINOFADDRESS,

NAME(10)TYPEC,

NUMBERTYPEP,

ENDOFADDRESS.

使用时用字段变量加上组件名称,如ADDRESS-NAME

CONSTANTS叙述

用来宣告常数

CONSTANTS<

c>

CONSTANTS:

CNAME(10)VALUE‘周庆日’,

BIRTH_DAYTYPEDVALUE‘19650201’.

STATICS叙述

宣告的变量仅在目前的程序中使用,结束后会自动释放

STATICS<

实际上语法与DATA一样>

TABLES叙述

用来宣告TableWorkArea的数据,对映至ABAP/4资料文件(DictionaryObject),

由SQL指令加载所需数据

TABLES<

dbtab>

TABLES:

SPFL.

SELECT*FROMSPFL.

WRITE:

SPFL-MANDT,SPFL-CARRID,SPFL-CONNECTION.

ENDSELECT.

从ABAP/4Dictionary的SPFL档载入MANDT,CARRID,CONNECTION三个字段至

SPFL此TableWorkArea

实际上TABLES定义的是系统表的在本地的工作区,注意是工作区不是内表>

2.3OutputtingDatatoScreen

Write叙述

ABAP/4用来在屏幕上输出数据的指令是Write指令

Write资料项

数据项可以是常数或变量,如:

WRITE‘Thisissample’.

‘COMPANY:

’,STFL-CARRID.

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

语法

WRITE....<

选项>

.<

注意格式关键字可并列使用>

所有数据类型的格式化选项

选项用途

LEFT-JUSTIFIED输出左对齐。

CENTERED输出居中。

RIGHT-JUSTIFIED输出右对齐。

UNDER<

g>

输出直接开始于字段<

下。

NO-GAP忽略字段<

后的空格。

USINGEDITMASK<

m>

指定格式模板<

USINGNOEDITMASK撤消对ABAP/4词典中指定的格式模板的激活。

NO-ZERO如果字段仅包含零,则用空格代替它们。

对类型C和N字段,将自动代替前导零。

数字字段的格式化选项

选项用途

NO-SIGN不输出前导符号。

DECIMALS<

d>

定义小数点后的数字位数。

EXPONENT<

e>

在类型F字段中,在<

中定义幂数。

ROUND<

r>

用10**(-r)乘类型P字段,然后取整。

CURRENCY<

按表格TCURX中的货币<

格式化。

UNIT<

u>

按表格T006中为类型P字段所指定的单位<

固定小数位数。

日期字段的格式化选项

DD/MM/YY用户主记录中定义的分隔符

MM/DD/YY用户主记录中定义的分隔符

DD/MM/YYYY用户主记录中定义的分隔符

MM/DD/YYYY用户主记录中定义的分隔符

DDMMYY无分隔符。

MMDDYY无分隔符。

YYMMDD无分隔符。

关于格式选项和这些选项内例外原则的详细信息,参见WRITE语句的关键字文档。

以下是格式选项的一些示例。

要获得更多的示例,参见章节创建列表。

在用户主记录中,定义了数字字段的小数点字符和千位分隔符(分号或逗号)。

>

指定屏幕位置显示

WriteAT[/][<

pos>

][(<

len>

)]资料项

/:

先往下一列

pos:

屏幕X轴坐标

(len):

显示资料的长度

WRITE‘FirstLine’.

WRITE/6‘SecondLine’.

输出结果:

FirstLine

SecondLine

NUMBERTYPEIVALUE‘1234567890’.

TEXT(10)VALUE‘ABCDEFGHIJ’.

(5)NUMBER,/(6)TEXT.

*7890

ABCDEF

指定显示格式

WRITE资料项<

显示格式参数>

显示格式参数:

LEFT-JUSTIFIED资料靠左显示

CENTERED资料靠中间显示

RIGHT-JUSTIFIED资料靠右显示

在资料项<

的X轴开始坐标显示

NO-GAP紧接着显示,不留空格

使用内嵌字符显示,如11:

20:

30

USINGNOEDITMASK不使用内嵌字符

NO-ZERO数字前面0的部分不显示

NO-SIGN不显示正负号

DECIMALS<

显示d位小数字数

EXPONENT<

F(浮点数)exponent的值

ROUND<

四舍五入至小数位数下r位

CURRENCY<

币别显示

DD/MM/YY日期显示格式

MM/DD/YY

DD/MM/YYYY

MM/DD/YYYY

DDMMYY

MMDDYY

YYMMDD

XTYPEIVALUE‘112030’,

A(5)VALUE’ABCDE’. 

WRITEXUSINGEDITMASK‘__:

__:

__’.

输出结果为11:

WRITEXUSINGEDITMASK‘$___,___’

输出结果为$112,030

产生空白列

产生n个空白列

SKIP[<

n>

WRITE‘PASS1’.

SKIP.

WRITE‘PASS2’.

输出结果为:

PASS1

PASS2

显示图示

可以显示R/3系统所提供的符号或图标

WRITE<

symbol-name>

ASSYMBOL

icon-name>

ASICON

INCLUDE<

SYMBOL>

ICON>

/‘PhoneSymbol:

’,SYM_PHONEASSYMBOL.

/‘AlarmIcon:

’,ICON_ALARMASICON.

执行结果:

要查看系统所提供有那些符号及图标,可选择“Edit”下的“InsertStatement”,选择

“WRITE”

接下来选择要查的群组,如SYMBOL或ICON,按下“Display”即可.

跳至指定列坐标

将坐标跳至指定的Y轴列坐标

SKIPTOLINE[<

SKIPTOLINE5.

WRITE‘PASS1’. 

显示CHECKBOX资料

以字符串数据内容的第一个字符为CHECKBOX的输出,如果是空白,CHECKBOX显示

为空白,相反则显示X,可用在逻辑判断检查

资料项>

ASCHECKBOX.

FLAG1VALUE‘‘.

FLAG2VALUE‘X’.

*<

这里面的FLAG1与FLAG2必须是字符串,但长度没关系>

/‘CHECKFLAG1:

’,FLAG1ASCHECKBOX.

/‘CHECKFLAG2:

’,FLAG2ASCHECKBOX.

2.4ProcessingData

AssignValue

MOVE<

F1>

TO<

F2>

将F1的值存至变数F2中,也可写成F2=F1

M_NAME=‘CHER’.

使用Offset

[+<

O1>

]TO<

O2>

F1(10)VALUE‘ABCDEFGHIJ’.

F2(5).

F2=F1+3(5).“自第4个位置开始取出5个字符

F2的内容会变成DEFGH

FieldString组件的复制

MOVE–CORRESPONDING<

Strings1>

String2>

.

将Strings1中的field组件的数据复制至String2中,仅复制相同名称的组件

BEGINOFADDRESS,

FIRSTNAME(10)VALUE‘LULU’,

LASTNAME(10)VALUE‘CHOU’,

TEL(12)VALUE‘4660570’,

BEGINOFNAME,

FIRSTNAME(10),

LASTNAME(10),

E_MAIL(30),

ENDOFNAME.

MOVE-CORRESPONDINGADDRESSTONAME.

NAME-FIRSTNAME变成‘LULU’,NAME-LASTNAME变成‘CHOU’,

而NAME-E_MAIL则不变

变量CALLBYVALUE的使用

在变量的使用上,可以使用类似CallByValue的方法

WRITE(<

)TO<

NAME(20)VALUE‘SOURCE’,

SOURCE(10)VALUE‘LILY’,

TARGET(10).

WRITE(NAME)TOTARGET.

WRITE/TARGET.

屏幕可印出LILY

清除变量内容

CLEAR<

清除变量现在内容,恢复成初值

DATANTYPEIVALUE100.

CLEARN.

变量N的内容变成0

算术符号

**乘幂

*乘

/除

+加

-减

DIV整数除法

MOD余数除法

数值函数

1.ABS(N):

传回数值N的绝对值

2.SIGN(N):

1ifN>

0

1ifN=0

-1ifN<

0

3.CEIL(N):

传回大于数值N的最小整数

WRITECEIL(-5.65)印出–5.00

WRITECELL(4.54)印出5.00

4.FLOOR(N):

传回小于数值N的最大整数

WRITEFLOOR(-5.65)印出–6.00

WRITEFLOOR(4.54)印出4.00

5.TRUNC(N):

传回数值N的整数部分

WRITETRUNC(5.65)印出5.00

6.FRAC(N):

传回数值N的小数部分

WRITEFRAC(5.65)印出0.65

7.COS(A),SIN(A),TAN(A):

传回三角函数cosA,sinA,tanA的值,A为弪度量

8.EXP(N):

传回e^N值

8.LOG(N):

传回logeN值

9.LOG10(N):

传回logN值

10.SQRT(N):

传回N的平方根值

日期与时间运算

1.日期数据的运算

日期数据可以直接运算,如加法与减法的运算

MdataTYPED.

Mdate=SY-DATUM.“如传回19971015

Mdate+6

(2)=‘01’“Mdate变成19971001

Mdate=Mdate-1“Mdate变成19970931

2.时间数据的运算

时间格式为‘hhmmss’,如‘212030’表’21:

30’

Example:

HOURSTYPEI,

MINUTESTYPEI,

T2TYPETVALUE‘200000’,

T1TYPETVALUE‘183000’.

HOURS=(T2-T1)/3600.“计算有几小时

MINUTES=(T2–T1)/60.“计算几分钟

字符串数据处理

1.字符串移位

SHIFT<

[BY<

PLACES][<

modes>

:

(1).空白,字符串往左移一位

(2).LEFT,字符串往左移n位

(3).RIGHT,字符串往右移n位

(4).CIRCULAR:

字符串以环状方式移位

DATASTRING(10)VALUE‘ABCDEFGHIJ’.

SHIFTSTRING.“得到BCDEFGHI’

SHIFTSTRINGBY2PLACESRIGHT.“得到ABCDEFGH

2.取代字符串内容

REP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1