ABAP学习手册.docx

上传人:b****7 文档编号:11197867 上传时间:2023-02-25 格式:DOCX 页数:59 大小:346.70KB
下载 相关 举报
ABAP学习手册.docx_第1页
第1页 / 共59页
ABAP学习手册.docx_第2页
第2页 / 共59页
ABAP学习手册.docx_第3页
第3页 / 共59页
ABAP学习手册.docx_第4页
第4页 / 共59页
ABAP学习手册.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

ABAP学习手册.docx

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

ABAP学习手册.docx

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:

CONSTANTS  INT  TYPEIVALUE99.

7,Form……Endform

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

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

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

或T-code:

su01.

9,Copy程序

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

或者选择

注意:

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

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.

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

或者点图标

再右键->创建->transaction

21,Write

write:

a,b,c.

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

22,定义一个结构

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模块流程

33,Append与Insert区别

Append与Insert的区别:

appendwatoitab;insertwaintotableitab

前者不能用于Hashed表,后者不能用于Sorted表的non-unique.

34,修改内表

modifyitabfromwatransportingcol2where…..

表明根据where条件来更新COL2字段值,表类型为SORTED或HASHED.

这个是sap特有的语句,若该数据在数据库中存在,则update;

若该数据在数据库中不存在,则insert

35,删除内表语法

删除内表语法:

Deletetableitab:

fromwa,withtablekeycol=1.三个标点不可少,with后的为条件关键字.如果用条件的则为:

DELETEITABWHERE(COL>17ANDCOL<4).

36,事务代码SE14

主要是调整表的作用,具体功能未知

37,系统得消息类型有几种?

其中warning的类型,可以不必理会,直接回车,就可继续执行

Error的类型,在执行过程中若产生Error类型的,将阻止系统继续往下执行

38,系统参数sy-dbcnt

Sy-dbcnt表示找到的记录的序号,第一条记录为1,第二条记录为2,最后一条记录的序号也是记录数

39,报表分为四类

39.1tools--query

39.2simplelists--简单报表

39.3interactivelists--交互式报表

39.4alvgridControl--alv

40,query的特征

40.1userbasicreports

40.2eachuserdefinesownquickviewswhichonlytheycandisplay

40.3usesexistingdata

40.4noadministrative(管理的)work

40.5可以使用query进行修改

40.6interfacetointernal(EIS,ABC,ALV)andexternalapplication

40.7fewerfunctionsthaninfosetquery

40.8notransports

41,如何产生一个简单的报表?

Reportzrl003.

Data:

wa_spflilikespfli.

Selectcarridconnidcityfromcityto

intocorrespondingfieldsofwa_spfli

fromspfli.

Write:

/wa_spfli-carrid,wa_spfli-connid,

Wa_spfli-cityfrom,wa_spfli-cityto.

Endselect.

42,settingthelistformat(报表的宽度和高度)?

基本的语法:

Reportline-sizeline-count.

Forexample:

Reportzrl003line-size50

Line-count12.

……

Write:

产生出来的效果图为:

43,如何在程序中显示图标?

Forexample:

Reportzrl003.

Include

Include

……

*stateoffreeseats

Ifseatsfree<1.

Writeicon_red_lightasicon.

Elseifseatsfree>1.

Writeicon_green_lightasicon.

Endif.

*stateofbookedseats

Ifwa_sflight-seatocc<10.

Writesym_left_handassymbol

Endif.

44,设置固定列和显示最后一页的语法

具体代码为:

*&---------------------------------------------------------------------*

*&ReportSAPBC405_FOLD_SCROLL_BOUNDARY*

*&*

*&---------------------------------------------------------------------*

REPORTsapbc405_fold_scroll_boundaryLINE-SIZE130

NOSTANDARDPAGEHEADING.

*constantsforpositionsofoutputs

CONSTANTS:

line_sizeTYPEiVALUE130,

lsb_columnTYPEiVALUE10.

DATA:

wa_sflightLIKEsflight.

DATA:

sum_maxTYPEi,

sum_occTYPEi.

SELECT-OPTIONS:

so_carFORwa_sflight-carrid.

TOP-OF-PAGE.

*Settingofleftscrollboundary

SETLEFTSCROLL-BOUNDARYCOLUMNlsb_column."设置固定列

ULINE.

FORMATCOLORCOL_HEADING.”格式化表头

WRITE:

'Flight'(h01),'Date'(h02),

'Price'(h03),'Plane'(h04),

'Maximal'(h05),'Occupied'(h06),

'paymentsum'(h07).

ULINE.

START-OF-SELECTION.

SELECT*FROMsflightINTOwa_sflight

WHEREcarridINso_car

ORDERBYPRIMARYKEY.

ONCHANGEOFwa_sflight-carrid.“当wa_sflight-carrid发生改变的时候,产生新的一页

NEW-PAGE.

ENDON.

FORMATCOLORCOL_KEYINTENSIFIEDON.“格式化,并显示加强

WRITE:

wa_sflight-carrid,

wa_sflight-connid.

FORMATCOLORCOL_NORMALINTENSIFIEDOFF.

WRITE:

wa_sflight-fldate,

wa_sflight-priceCURRENCYwa_sflight-currency,

wa_sflight-currency,

wa_sflight-planetype,

wa_sflight-seatsmax,

wa_sflight-seatsocc,

wa_sflight-paymentsumcurrencywa_sflight-currency,

ATline_sizespace.

sum_max=sum_max+wa_sflight-seatsmax.

sum_occ=sum_occ+wa_sflight-seatsocc.

ENDSELECT.

END-OF-SELECTION.”结束才触发的事件

NEW-PAGENO-HEADINGNO-TITLE.“产生新页没有头也没有标题

ULINE.

SCROLLLISTTOPAGEsy-pagno.”使页面显示到最后一页

FORMATCOLORCOL_TOTAL.

WRITE:

'Totals'(001),sum_maxUNDERwa_sflight-seatsmax,

sum_occUNDERwa_sflight-seatsocc,ATline_sizespace.

ULINE.

45,系统参数

sy-vline作用是画竖线

Sy-pagno显示页数

Sy-colno显示列数

Sy-linno显示行数

46,使用checkboxandradiobutton

REPORTSAPBC405_SSCD_CHECKBOX_RADIOB.

INCLUDEBC405_SSCD_CHECKBOX_RADIOBTOP.

INCLUDE.

PARAMETERS:

PA_CARRLIKESFLIGHT-CARRIDDEFAULT'AA',

PA_NAMEASCHECKBOXDEFAULT'X',

PA_CURRASCHECKBOXDEFAULT'X',

PA_LIM_1RADIOBUTTONGROUPLIM,"define一个group组

PA_LIM_2RADIOBUTTONGROUPLIM,

PA_LIM_3RADIOBUTTONGROUPLIM.

CONSTANTSMARKVALUE'X'.

*Check,ifanycheckboxhasbeenselected

IFPA_NAMEEQMARK.

SELECTSINGLECARRNAMEFROMSCARRINTO(SCARR-CARRNAME)

WHERECARRID=PA_CARR.

WRITE:

/TEXT-001,SCARR-CARRNAME.

ENDIF.

IFPA_CURREQMARK.

SELECTSINGLECURRCODEFROMSCARRINTO(SCARR-CURRCODE)

WHERECARRID=PA_CARR.

WRITE:

/TEXT-002,SCARR-CURRCODE.

ENDIF.

*Check,whichradiobuttonhasbeenselected

CASEMARK.

WHENPA_LIM_1.

SELECTCARRIDCONNIDFLDATEPRICECURRENCYFROMSFLIGHT

INTOTABLEITAB_SFLIGHT

WHERECARRID=PA_CARR

ANDPRICELE'500'.

PERFORMDATA_OUTPUT.

WHENPA_LIM_2.

SELECTCARRIDCONNIDFLDATEPRICECURRENCYFROMSFLIGHT

INTOTABLEITAB_SFLIGHT

WHERECARRID=PA_CARR

ANDPRICEBETWEEN'500'AND'1000'.

PERFORMDATA_OUTPUT.

WHENPA_LIM_3.

SELECTCARRIDCONNIDFLDATEPRICECURRENCYFROMSFLIGHT

INTOTABLEITAB_SFLIGHT

WHERECARRID=PA_CARR

ANDPRICEBETWEEN'1000'AND'1500'.

PERFORMDATA_OUTPUT.

ENDCASE.

IFSY-SUBRC<>0.

WRITE:

/ICON_RED_LIGHTASICON,TEXT-003.

ENDIF.

*---------------------------------------------------------------------*

*FORMDATA_OUTPUT*

*---------------------------------------------------------------------*

FORMDATA_OUTPUT.

LOOPATITAB_SFLIGHTINTOWA_SFLIGHT.

WRITE:

/WA_SFLIGHT-CARRID,

WA_SFLIGHT-CONNID,

WA_SFLIGHT-FLDATE,

(8)WA_SFLIGHT-PRICECURRENCYWA_SFLIGHT-CURRENCY,

WA_SFLIGHT-CURRENCY.

ENDLOOP.

ENDFORM.

**************************************************************************************

*----------------------------------------------------------------------*

*INCLUDEBC405_SSCD_CHECKBOX_RADIOBTOP

*----------------------------------------------------------------------*

TYPES:

BEGINOFLINE_TYPE_SFLIGHT,

CARRIDLIKESCARR-CARRID,

CONNIDLIKESPFLI-CONNID,

FLDATELIKESFLIGHT-FLDATE,

PRICELIKESFLIGHT-PRICE,

CURRENCYLIKESFLIGHT-CURRENCY,

ENDOFLINE_TYPE_SFLIGHT.

DATA:

WA_SFLIGHTTYPELINE_TYPE_SFLIGHT.

DATA:

ITAB_SFLIGHTTYPETABLEOFLINE_TYPE_SFLIGHT.

TABLES:

SCARR.

47,如何使用select-options

47.1屏幕输出一个参数为其主要的语法为:

select-optionsfor

Default

Defaultto

Memoryid

Lowercase

Obligatory“必输

No-ext

展开阅读全文
相关搜索

当前位置:首页 > 自然科学 > 天文地理

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

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