ABAP自学教材Word文档格式.docx

上传人:b****4 文档编号:17946703 上传时间:2022-12-12 格式:DOCX 页数:66 大小:1.26MB
下载 相关 举报
ABAP自学教材Word文档格式.docx_第1页
第1页 / 共66页
ABAP自学教材Word文档格式.docx_第2页
第2页 / 共66页
ABAP自学教材Word文档格式.docx_第3页
第3页 / 共66页
ABAP自学教材Word文档格式.docx_第4页
第4页 / 共66页
ABAP自学教材Word文档格式.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

ABAP自学教材Word文档格式.docx

《ABAP自学教材Word文档格式.docx》由会员分享,可在线阅读,更多相关《ABAP自学教材Word文档格式.docx(66页珍藏版)》请在冰豆网上搜索。

ABAP自学教材Word文档格式.docx

程序描述或功能说明

(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表Financialaccounting

(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’.

系统所定义数据

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

SPACE空白字符串

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

SY-UNAMElogon账号

SY-DATUM系统日期

SY-UZEIT系统时间

SY-TCODE目前的transactioncode

TYPE叙述

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

Example:

TYPES:

BEGINOFMYLIST,

NAME(10)TYPEC,

NUMBERTYPEI,

ENDOFMYLIST.

DATALISTTYPEMYLIST.

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<

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

2.3OutputtingDatatoScreen

Write叙述

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

Write资料项

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

WRITE‘Thisissample’.

‘COMPANY:

’,STFL-CARRID.

指定屏幕位置显示

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资料靠右显示

UNDER<

g>

在资料项<

的X轴开始坐标显示

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

USINGEDITMASK<

m>

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

20:

30

USINGNOEDITMASK不使用内嵌字符

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

NO-SIGN不显示正负号

DECIMALS<

d>

显示d位小数字数

EXPONENT<

e>

F(浮点数)exponent的值

ROUND<

r>

四舍五入至小数位数下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’.

/‘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.取代字符串内容

REPLACE<

string1>

WITH<

string2>

INTO<

将字符串<

中的<

以<

来取代

STRING(10)VALUE‘ABCDEFGHI’,

STR1(3)VALUE‘DEF’,

STR2(3)VALUE‘123’.

REPLACESTR1WITHSTR2INTOSTRING.

WRITE/STRING.“得到ABC123GHI

3.大小写的转换

TRANSLATE<

TOUPPERCASE.“转成大写

TOLOWERCASE.“转成小写

4.在字符串中寻找部分字符串

SEARCH<

FOR<

str>

会回存至两个变数,SY-SUBRC和SY-FDPOS,若找到则SY-SUBRC为0

SY-FDPOS存开始位迭,若找不到则SY-SUBRC为4,SY-FDPOS为0

5.字符串长度

STRLEN(<

INT=STRLEN(‘XYZABC’).“得到6

INT=STRLEN(‘ABC’).“得到3

6.取部分字符串

o>

][<

l>

DATAT(10)VALUE‘ABCDEFGHIJ’.

WRITE/T+2(4).“得到CDEF

2.5FlowControlling

比较符号

1.=或EQ:

等于

2.<

>

或>

或NE:

不等于

3.<

或LT:

小于

4.<

=或LE:

小于等于

5.>

或GT:

大于

6.>

=或GE:

大于等于

7.AND:

8.OR:

9.NOT:

条件述叙

1.IF述叙

IF<

Condition1>

Statement1>

ELSEIF<

Condition2>

Statement2>

Condition3>

Stetement3>

…..

ELSE.

elseStatement>

ENDIF.

(1).在每个判断叙述之后要加上.

(2).在巢状迥圈之中无法使用ELSE叙述,ELSE叙述属IF叙述

IF3>

8.

WRITE/‘3islessthan8’.

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

当前位置:首页 > 小学教育 > 小升初

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

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