abap学习计划.docx

上传人:b****3 文档编号:4222693 上传时间:2022-11-28 格式:DOCX 页数:16 大小:21.60KB
下载 相关 举报
abap学习计划.docx_第1页
第1页 / 共16页
abap学习计划.docx_第2页
第2页 / 共16页
abap学习计划.docx_第3页
第3页 / 共16页
abap学习计划.docx_第4页
第4页 / 共16页
abap学习计划.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

abap学习计划.docx

《abap学习计划.docx》由会员分享,可在线阅读,更多相关《abap学习计划.docx(16页珍藏版)》请在冰豆网上搜索。

abap学习计划.docx

abap学习计划

abap学习计划

篇一:

aBaP学习资料

一、aBaP进入方式:

(500aBaP01123456)(200aBaP01initinit)1、输入事务码“SE38”点击回车,输出屏幕如下:

输入程序名称“zmm0001”,点击创建,输出屏幕:

点击保存,输出屏幕如下:

点击保存,输出屏幕如下:

点击保存屏幕如下:

点击保存按钮,输出屏幕如下:

点击“√”输出屏幕如下:

篇二:

aBaP学习手册

aBaP自学经历

次文件来源于网络

1,几个重要的表

1.1Basis

TSTcT事务代码文本

1.2Salesdocumentadditional

VBPa销售凭证:

合作伙伴

VBUK销售凭证:

抬头状态和管理数据

VBUP销售凭证:

项目状态

VEda合同数据

1.3Vendormaster

m_KREda匹配码标识KREd的已生成视图

1.4customermaster

Kna1客户主文件的一般数据

KnVV客户主记录销售数据

2,aBaP常用的几个事务代码

2.1SE38程序设计

SE80程序开发

SE24类开发

SE37模组开发

SE11表结构

SE16表数据

SE91消息管理的

SE10管理请求号

SU01创建帐号

PFcG创建角色

STmS传输管理系统

SE81跨客户端的应用层次

SE84寻找跨客户端组件

SE93创建事务代码

cmod创建增强工程

3,aBaP有三种类型的处理块

3.1Eventblocks,dialogmodules,Procedures只有后一种可拥有自己的局部变量,而且程序语句是内部调用,前两者处理块之间实行外部调用

4,应用程序类型

4.1可执行的:

以Report关键字引导,不能定义功能模块但可以调用.

4.2模块池的:

以Program关键字引导,必须通过事务代码运行.

5,abap的数据类型分为三种类型

5.1类型5.2结构5.3内表

6,数据定义

6.1直接定义:

dataint_atypei.

6.2参照自己定义的数据类型定义

Typechar_six(6)typec.

datachstypechar_six.

6.3参照T-codE:

SE11中建立的数据类型定义

6.4直接使用like

datach4likech3.(其中ch3已经在se11中定义过)

6.5定义常数:

使用constants

基本语法:

constants:

typevalue.

Eg:

conSTanTSinTTYPEiVaLUE99.

7,Form……Endform

在一个Program中,处于Form和Endform之间的是Subroutines.该程序由Program引导,不能直接运行,需被调用,不能包含自定义的用户屏幕.

8,设置日期的显示分隔符,小数点字符和千位分隔符

在用户主记录里可以设置日期的显示分隔符,小数点字符和千位分隔符,在system->userprofile->owndata或T-code:

su01.

9,copy程序

Se38->输入被copy的程序名称->ctrl+F5(快捷键)

或者选择

10,两个结构体进行赋值

两个结构体进行赋值操作,如果Source与destination的组件结构不完全相同,则用

move-corresponding.

Eg:

move-correspondingsource-datatodestination-data.

11,关键字表达式

在aBaP数据表达式中,关键字前后必须有空格。

Eg:

Fault:

:

(a=b+c)true:

:

a=b+c.

12,如何设置关键字的大小写功能?

在utilities--settings—prettyprinter

13,aBaP的两种动态数据对象

13.1Fieldsymbols

13.2datareference.

注意:

客户的程序名称必须要以z开头

14,模式按钮

作用:

可以callfunction,写write等固定格式,message等功能

操作方法:

将光标放在程序中你要输入的地方,然后按pattern,输入你要输入的参数,回车即可。

工具栏图标:

PS:

旁边的prettyprinter是美化program,即是以标准的缩进和注释对program

15,子程序的定义和调用

子程序的定义和调用分别用Form/Endform和perform来实现,如果想生成子程序的代码框架,则在prefomadd处双击即可

16,内表有三种形式

16.1standardtable

16.2sortedtable

16.3hashedtable(不能进行索引查找,只能通过关键字搜索)

17,进行程序调试

其中F5单步执行

F6执行子程序的时候,不进入子程序,即跳过子程序

F7跳出目前的子程序

F8直接执行

18,Package的命名规则

package的命名规则:

1)beginwitha-SorU-X是SaPstandardobject,

2)beginwithYorzarecustomerobjects,

3)beginwithTareprivatetestpackage,

4)beginwith$arelocalpackage.

19,在窗口上直接输入/h就可以进入程序调试的模式

20,创建事务代码

20.1事务代码:

SE93

20.2,在程序中使用快捷键ctrl+Shift+F5然后右键->创建->transaction

或者点图标

21,write

write:

a,b,c.

其中的冒号是语法链的作用。

22,定义一个结构再右键->创建->transaction

22.1直接定义结构

data:

beginofstru_ztaly,

name(10)typec,

……

Endofstru_ztaly.

22.2自己在程序里先定义结构类型,再参照类型定义结构对象。

Types:

beginofstru_ztaly,

name(10)typec,

……

Endofstru_ztaly.

data:

stru_ztaly2typestru_ztaly.

22.3在se11定义一个公共的类型,再参照类型定义结构对象。

data:

stru_italytypeityp_s_ztaly.

22.4使用like

datastru_italy2likestru_italy(其中stru_italy是已经定义了的结构)

23,建立内表

23.1直接建内表

data:

beginofitab_italyoccurs0,

inotypei,

…..

Endofitab_italy.

23.2自己先建一个结构类型,再根据这个结构类型建内表

Type:

beginoftyp,

inotypei,

……

endoftyp.

data:

itab_typtypetableoftyp.

其中关键字table不能少,否则还是结构,而不是内表

23.2现在数据字典中建一个内表类型,再参照这个类型

data:

itab_italystypezty_t_italy.

说明:

对内表的操作必须依靠结构进行。

Forexample:

appendstru_italytoitab_italy.

增加一行到内表中。

23.4内表输出必须依靠于结构,而且要循环输出

Forexample:

Loopatitab_italyintostru_ztaly.

write:

/……….

Endloop.

23.5特殊情况

Tables:

表名a

说明:

定义了一个和a同样名称的数据结构。

atypeBoccursn。

说明:

定义出来的一格内表

23.6datatype[withheaderline]

说明:

在定义的时候同时生成一个同名的结构

27,理解aBaP中的流程

注意的是程序是放在数据库中的。

28,数据元素,结构和内表的区别

用一句话说明:

就相当于数学中的点线面

29,opensql与nativesql的流程区别

说明:

使用了opensql就不必要理会后台的数据库,只要掌握了opensql就ok使用nativesql只和后台数据库习习相关

32,aBaP模块流程

篇三:

aBaP学习实例

aBaP学习资料

PRoGRamdemo_internal_table.

TYPES:

BEGinoFmytext,

numberTYPEi,

name(10)TYPEc,

EndoFmytext.

TYPESmytabTYPESTandaRdTaBLEoFmytextwiTHdEFaULTKEY.

daTatextTYPEmytext.

daTaitabTYPEmytab.

text-number=1.text-name='John'.

aPPEndtextToitab.

text-number=2.text-name='Paul'.

aPPEndtextToitab.

text-number=3.text-name='Ringo'.

aPPEndtextToitab.

text-number=4.text-name='George'.

aPPEndtextToitab.

LooPaTitabinTotext.

wRiTE:

/text-number,text-name.

EndLooP.

结果是:

REPoRTdemo_describe_field.

TYPES:

surname(20)TYPEc,

street(30)TYPEc,

zip_code(10)TYPEn,

city(30)TYPEc,

phone(20)TYPEn,

dateTYPEsy-datum.

TYPES:

BEGinoFaddress,

nameTYPEsurname,

codeTYPEzip_code,

townTYPEcity,

strTYPEstreet,

EndoFaddress.

TYPES:

BEGinoFphone_list,

adrTYPEaddress,

telTYPEphone,

EndoFphone_list.

TaBLESspfli.

aBaP

学习资料

daTa:

BEGinoFtest,

col1(3)TYPEc,

col2

(2)TYPEc,

col3TYPEi,

EndoFtest,

distTYPEi.

daTa:

text(8)TYPEcVaLUE'abcdefgh',lenTYPEi,

numtext(10)TYPEnVaLUE'0123456789',typ

(1)TYPEc,plTYPEphone_list,

nTYPEi,

floatTYPEf,outTYPEi,

packTYPEpdEcimaLS2,dec

(1)TYPEc.

dEScRiBEFiELdtextLEnGTHlen.

wRiTE:

text,'haslength',len.

dEScRiBEFiELdnumtextTYPEtyp.

wRiTE:

/'numericaltexthastype',typ.

dEScRiBEFiELdspfli-fltimeTYPEtyp.

wRiTE:

'andSPFLi-FLTimEhastype',typ.

dEScRiBEFiELdfloatLEnGTHlenoUTPUT-LEnGTHout.wRiTE:

/'Floatingpointnumberhaslength',len,

'andoutputlength',out.

dEScRiBEFiELdpackdEcimaLSdec.

wRiTE:

/pack,'has',dec,'decimals'.

dEScRiBEFiELdplTYPEtypcomPonEnTSn.

wRiTE:

/'ThecomplexfieldPLhastype',typ,'with',n,'components'.

dEScRiBEdiSTancEBETwEEntest-col3andtest-col1inTodist.wRiTE:

/'ThedistancebetweenTEST-coL3andTEST-coL1is',dist.结果是:

REPoRTdemo_data_movenoSTandaRdPaGEHEadinG.

*moVE

daTa:

t(10)TYPEc,

numberTYPEpdEcimaLS2,

countTYPEi.

t=1111.

moVE'5.75'Tonumber.

count=number.

wRiTE'moVE'.

ULinE.

wRiTE:

/t,/number,/count.

*moVEcoRRESPondinG

daTa:

BEGinoFaddress,

firstname(20)TYPEcVaLUE'Fred',

surname(20)TYPEcVaLUE'Flintstone',

initials(4)TYPEcVaLUE'FF',

street(20)TYPEcVaLUE'caveavenue',

numberTYPEiVaLUE'11',

postcode(5)TYPEnVaLUE'98765',

city(20)TYPEcVaLUE'Bedrock',

EndoFaddress.

daTa:

BEGinoFname,

surname(20)TYPEc,

firstname(20)TYPEc,

initials(4)TYPEc,

title(10)TYPEcVaLUE'mister',

EndoFname.

moVE-coRRESPondinGaddressToname.

SKiP.

wRiTE:

/'moVEcoRRESPondinG'.

ULinE.

wRiTE:

/'FiRSTnamE',address-firstname,

/'SURnamE',address-surname,

/'iniTiaLS',address-initials,

/'STREET',address-street,

/'nUmBER',address-number,

/'PoSTcodE',address-postcode,

/'ciTY',address-city.

SKiP.

wRiTE:

/'SURnamE',name-surname,

/'FiRSTnamE',name-firstname,

/'iniTiaLS',name-initials,

/'TiTLE

',name-title.

REPoRTdemo_data_write.

*wRiTETo[].

daTa:

numberTYPEfVaLUE'4.3',

text(10)TYPEc,

floatTYPEf,

packTYPEpdEcimaLS1.

wRiTEnumber.

wRiTEnumberTotextEXPonEnT2.

wRiTE/text.

*wRiTEnUmBERToFLoaT.”*wRiTEnUmBERToPacK.”moVEnumberTopack.

wRiTE/pack.

*wRiTE()To.

ULinE.

daTa:

name(10)TYPEcVaLUE'SoURcE',

source(10)TYPEcVaLUE'antony',

target(10)TYPEc.

...

wRiTE(name)Totarget.

wRiTEtarget.

结果是:

REPoRTdemo_data_clear.

daTanumberTYPEiVaLUE'10'.

wRiTEnumber.

cLEaRnumber.

wRiTE/number.

REPoRTdemo_data_calculate.

*/diVmod

daTa:

packTYPEpdEcimaLS4,

nTYPEfVaLUE'+5.2',

mTYPEfVaLUE'+1.1'.

pack=n/m.

wRiTEpack.

pack=ndiVm.

wRiTE/pack.

pack=nmodm.

wRiTE/pack.

ULinE.

*mULTiPLY-coRRESPondinG

daTa:

BEGinoFrate,

usaTYPEfVaLUE'0.6667',

frgTYPEfVaLUE'1.0',

autTYPEfVaLUE'7.0',

EndoFrate.

daTa:

BEGinoFmoney,

usaTYPEiVaLUE100,

frgTYPEiVaLUE200,

autTYPEiVaLUE300,

EndoFmoney.

mULTiPLY-coRRESPondinGmoneyBYrate.

wRiTE/money-usa.

wRiTE/money-frg.

wRiTE/money-aut.

ULinE.

*add...

daTa:

BEGinoFseries,

n1TYPEiVaLUE10,

n2TYPEiVaLUE20,

n3TYPEiVaLUE30,

n4TYPEiVaLUE40,

n5TYPEiVaLUE50,

n6TYPEiVaLUE60,

EndoFseries.

daTasumTYPEi.

addseries-n1THEnseries-n2UnTiLseries-n5GiVinGsum.wRiTEsum.

addseries-n2THEnseries-n3UnTiLseries-n6Tosum.wRiTE/sum.

篇四:

aBaP学习总结

aBaP学习总结

1.aBaP语法

ULinE.----画一条横线

SY-VLinE画竖线

SKiP.跳一行

系统变量如下:

internaltable(内表)

内表数据类型:

Structure,数据库表,用户自定义数据类型.

定义内表:

Structure:

daTaiTaBTYPE(STandaRd)TaBLEoFYTEST_TaB.

数据库表:

daTaiTaBTYPETaBLEoFSFLiGHT.

自定义数据类型:

TYPES:

BEGinoF1_TYPE,

namE(50)TYPEc,

aGETYPEi,

EndoF1_TYPE.

daTaiTaBTYPETaBLEoF1_TYPE.

表头行:

在定义内表的时候,后面加上”wiTHHEadERLinE”,则同时定义了该内表的同名工作区,该定义被称作表头行,例如:

注:

aPPEnd与inSERT区别:

aPPEnd插入内表最后一行,inSERT可以插入指定位置.

数据字典:

数据字段(TaBLEFiELd),域(domain),数据元素(daTaELEmEnT).

数据字段:

数据表中的字段.

域:

描述一个字段类型和长度等信息.

数据元素:

描述一个字段的用途.

数据字段?

域?

数据元素.()收索帮助)

SELEcT:

对数据结构:

当从数据库表中查询出的数据,放入数据结构中时,要有EndSELEcT,例如:

SELEcT*FRomSPFLiUPTo5RowSinToa_SPFLi.

wRiTE:

/a_SPFLi-connid,a_SPFLi-caRRid,a_SPFLi-ciTYFRom,

a_SPFLi-ciTYTo.

EndSELEcT.

对内表:

当从数据库表中查询出的数据,放入内表中时,可有可无EndSELEcT,例如:

SELEcT*FRomSPFLiUPTo5RowSinToTaBLETa_SPFLi.

*从数据库表中读数据到内表中,直接从内表输出

*如果Ta_SPFLi没有定义HEadERLinE,这儿会报错的

LooPaTTa_SPFLi.

wRiTE:

/Ta_SPFLi-connid,Ta_SPFLi-caRRid,Ta_SPFLi-ciTYFRom,

Ta_SPFLi-ciTYTo.

EndLooP.

UPTo5RowS:

读取前5行,不再继续往下读

PacKaGESizE5:

以5行为一组,继续往下读.

例如:

*以每次读取5条记录,直到读取完所有数据

SELEcT*inToTaBLEwa_SPFLiFRomSPFLiPacKaGESizE5.

*输出内表内的数据

LooPaTwa_SPFLi.

wRiTE:

/wa_SPFLi-caRRid,wa_SPFLi-ciTYFRom,wa_SPFLi-ciTYTo.EndLooP.

*输出5条后输出一条线

ULinE.

EndSELEcT.

(内链接)

ULinE.

wRiTE/'内连接'.

ULinE.

*定义结构

daTa:

BEGinoFaRcd,

caRRidTYPESPFLi-caRRid,

connidTYPESPFLi-connid,

FLdaTETYPESFLiGHT-FLdaTE,

EndoFaRcd.

*定义工作区daTaaRcd1LiKEaRcd.*关联数据表,读取前10条记录,写入工作区,并输出SELEcTSPFLi~caRRidSPFLi~connidSFLiGHT~FLdaTEinToaRcd1FRomSPFLiinnERJoinSFLiGHTonSPFLi~caRRid=SFLiGHT~caRRidandSPFLi~connid=SFLiGHT~connidUPTo20RowS.wRiTE:

/aRcd1-caRRid,aRcd1-connid,aRcd1-FLdaTE.EndSELEcT.列表颜色设置:

例如:

*----------标准列表输出

SKiP.

ULinE.

FoRmaTcoLoRcoL_GRoUP.

wRiTE/'前景和背景颜色设置'.

FoRmaTcoLoRoFF.

*数据库表SPFLi相关

TaBLESSPFLi.

SKiP.

*输出表头,背景灰绿

FoRmaTcoLoRcoL_HEadinG.

ULinEaT/(91).

wRiTE:

/SY-VLinE,(15)'航线承办人',SY-VLinE,(15)'航班连接',SY-VLinE,

(15)'国家代码',SY-VLinE,(15)'起飞城市',SY-VLinE,(15)'起飞机场',SY-VLinE.

ULinEaT/(91).

FoRmaTcoLoRoFF.

*SY-VLinE是画竖线,ULinE是画横线

*输出内容,关键字为'dL'红色

SELEcT*FRomSPFLiUPTo10RowS.

iFSPFLi-caRRi

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

当前位置:首页 > 工作范文 > 行政公文

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

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