abap笔记.docx

上传人:b****8 文档编号:9389285 上传时间:2023-02-04 格式:DOCX 页数:14 大小:24.72KB
下载 相关 举报
abap笔记.docx_第1页
第1页 / 共14页
abap笔记.docx_第2页
第2页 / 共14页
abap笔记.docx_第3页
第3页 / 共14页
abap笔记.docx_第4页
第4页 / 共14页
abap笔记.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

abap笔记.docx

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

abap笔记.docx

abap笔记

1.ObjectNavigator是ABAP工作平台上众中开发工具的中心入口,事务代码为:

se80,其中还有几个经常会用到的T-CODE:

SE38,SE24,SE37.

2.在ABAPEditor中有一个Excutewithvariant按钮,代表通过变量运行(变式与选择屏幕相关).

3.EditorPrettyPrinterON/OFF的设置:

菜单项:

Utilites->settings有相关项,选中Indent,Convertupper/lowercase同KeywordUppercase.

4.ABAP有三种类型的处理块:

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

5.应用程序类型,可执行的:

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

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

6.语句链Write:

text1,text2.等同于:

Writetext1.Writetext2.

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

8.数据内部定义:

typestype(len)Typetype[decimaldec]

datadata(len)Typetype[decimaldec][valuevar]

Decimal附加项只适用于指定P类型的小数位.

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

Move-corresponding,eg:

move-correspondingsource-datatodestination-data.

10.在ABAP数据表达式中,关键字前后必须有空格,eg:

Fault:

(a=b+c)true:

:

a=b+c.

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

su01.

12.内表是一种大批量数据管理形式,用于在程序运行期间存储多行结构相同的数据,程序对内表的行操作不能直接进行,必须通过一种接口来传输,这个接口就是工作区.

13.ABAP的两种动态数据对象:

Fieldsymbols与Datareference.

14.内表有三种形式:

standardtable,sortedtable,hashedtable后一种不能进行索引查找,只能通过关键字搜索.

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

16.package的命名规则:

beginwithA-SorU-X是SAPstandardobject,beginwithYorZarecustomerobjects,beginwithTareprivatetestpackage,beginwith$arelocalpackage.

17.在数据字典中,每创建一个TABLE,都将生成一个同名的结构化数据类型,其中的组件字段与实际物理数据库表完全一致.

18.在select查询中如果要指定多个数据对象,则需要将这些对象放在括号内,并用逗号隔开,eg:

select*fromspfliinto(a,b).

19.FunctionModule是最为常用的复用组件,它是独立的R/3仓库对象,也是一种过程模块,在不同的系统间可以通过RFC(Remotefunctioncall)技术进行功能模块的调用.

20.几个有用的系统函数:

sy-uname,sy-host,sy-datum,sy-uzedit,sy-subrc,sy-bdcnt,sy-index,sy-tabix,sy-dynnr.

21.可用于交互式报表的列表事件有:

atline-selection,atuser-command前者为选择某行时触发,后者由某个GUI触发.

22.在可执行程序中,只要在程序代码中使用parametes或select-options语句,则在程序运行后就会产生用户的选择屏幕.

23.LDB(逻辑库)节点在程序访问之前需用Nodes语句声明,在旧版本中则使用Tables声明.两种中止语句Reject与check(有条件中止).

24.由系统自动调用的子程序称回调线程,-----callbackroutine,利用此程序可以实现许多高级屏幕功能.

25.在OO设计中对象的识别和寻址是通过对象引用来实现的.

26.在二种对象运算访问符中->与=>,对于类中的静态组件是通过类名称加=>直接对类进行操作的.eg:

class=>comp.

27.对象的自身引用可使用变量ME,是一个局部变量来的.

28.Append与Insertr的区别:

appendwatoitab;insertwaintotableitab

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

29.修改内表语法:

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

30.删除内表语法:

Deletetableitab:

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

DELETEITABWHERE(COL>17ANDCOL<4)

31.在LOOPAT…ENDLOOP内有一个AT,<…>,ENDAT循环.其中的包括:

FRIST,LAST,NEW,ENDOF.这些可以用来进行内表中按某个字段进行分组统计.

32.几条记录作一次取用:

PACKAGESIZENeg:

select*fromspfliintocorrespondingfieldsoftableitabpackagesize3.

33.接口成员只能为类的公有成员,接口没有自己的实例,一个接口可以被任意多个不同的类实现,接口中定义的成员集在各类中名称要相同.

34. 在程序中使用逻辑数据库有两种方法:

通常是通过GET事件或者功能模块进行调用.如:

NODESnode.

35.在程序代码中输入NEW-PAGEPRINTON,将生成的列表直接发送走到SPOOL系统进行打印,不在屏幕上显示.

36.将一组选择屏幕组合在一个区域,可以使用Beginofblock…..eg:

Selection-screenbeginofblockblocka[withframe[titletit]]

[nointervals]—只选单值不出现TO.

Selection-screenendofblock.

37.屏幕流逻辑分为两个最基本的处理块:

PBO与PAI,前者是在向用户显示屏幕GUI之前触发,后者是在用户进行某些屏幕行为后并回车时触发.流逻辑模块是在语句MODULE/ENDMODULE之间定义.这里的语法不属于ABAP系列.

38.屏幕中的OK字段其作用是:

返回在屏幕和GUI状态中用户触发的功能代码:

一般情况字段命名为:

OK_CODE,数据类型与SY-UCOMM相同.

39.通过SE93可以为程序创建自定义的事务代码.

40.GUI中的交互元素包括菜单条,标准工具按扭,APPLICATIONTOOLBAR,FUNCTIONKEYS共四种,在作屏幕事务设计时这些都要分配具体的功能代码与之对应.

41.在定义EXPORTING、IMPORTING与CHANGING的时候,前两者分别为基本输入与输出参数,而CHANGING可用于前两者功能。

42.在处理商务文档时需用到SAPSCRIPTION与SMARTFORMS工具,两者都可以进行布局设计与输出控制。

企业中的PO,SO等报表都要用到此类工具。

43.NEW-LINE=write:

/eg:

write:

/xxx.Thesameto,newline.Writexxx.

44.在EDITOR界面的GOTO-》ATTRIBUTE-》可改TITLE的属性。

45.在Reportxxx后可跟LINE-SIZEWIDTH,LINE-COUNT,PAGELINES等属性,这些选项可以用来控制列表输出的页格式。

46.插入断点:

BREAK-POINT,BREAK-USERNAME,也可以在程序激活的状态下按下STOPBUTTON。

47.用PROGRAM中的DOCUMENT可同步显示提示帮助。

同时也可以在此处编辑。

48.可以用INCLUDE去包含一个数据类型eg:

includetypexxx.其中XXX为已经定义的数据类型。

这种方法在定义游标的时候会用到。

49.几个字符串操作函数:

split…at…into..,shift….right….,add-corresponding,divide-coresponding,move-corresponding,abs,concatename,condense.

50.刷新的时候对于基表用refresh,内表用clear,free.

51.读数据集:

READDATASETDSSINTORECORDE。

52.批处理工具,LSMW,BDC,CATT,ECATT。

53.如果要让个选择屏幕浮在SCREEN1000的上面,则使用调用语句:

CALLSELECTION-SCREEN100STRATINGAT1010ENDAT5050。

54.从一个正在运行的程序调用另一个可执行程序:

可用SUBMIT命令来完成.通过事务代码调用程序的语句为:

LEAVETOTRANSCATION或CALLTRANSCATION.

55.用SELECT把多行选择到内表:

SELECT…..INTO/APPENDINGTABLEITAB.如果希望不覆盖原来的内表数据,则使用APPENDING.

56.SAP应用服务器文件及目录可以通过事务代码:

AL11进行浏览.

57.要显示END-OF-PAGE事件的页脚内容,需在LINE-COUNTLENGTH后加上[(FOOTER-LENGTH)],指定预留的页脚行数,eg:

line-count12(3).

58.想让一个选择屏幕的条件字段自动调用一个表的字段值信息:

     Select-optionsso-airforspfli-carrid.

59.做一个SAPQUERY涉及到的步骤:

一首先建立一个用户组,二建立一个功能组选择表数据,SQ02,SQ03.三在SQ01下建立一个如果是第一次建QUERY,则在QUERY中输入名称.

60.如果想把一个屏幕的某字段设为必需输入的值,则可执行以下操作.

Atselection-screen.此为一个屏幕事件.

Ifcarridisinitial.

Messagee888(hints)with‘xxxx’.

Endif.

61.在sapscript中如果要对mainwindow的顶部打印指定的文本行,可使用TOP/ENDTOP来控制,底部类似:

BOTTON/ENDBOTTON.

62.在一个指定的地方画一个框,要用到三条指令:

/:

positonwindow代表窗口的左上角.

/:

postionxorigin‘1.2’cmyorigin8cm系统原点进行位移.

/:

boxheight‘0.5’cmwidth19cmintensity50.

63.把一个SAPSCRIPT报表从CLIENT300移到CLIENT400,使用SAP的标准程序:

RSTXSCRP,先在CLIENT300中进行EXPORT,然后到CLIENT400中进行IMPORT.在这里操作要注意的是:

在做IMPORT的时候OBJECTNAME要与原来EXPORT的一样.

64. 在MOVERESOURCETODESTINATION中如果RESOURCE是一个变量字段,很有可能在操作中得不到数据字段赋过来的值,这时可以在操作过程中定义一个变量来转换解决这个现像.:

moveresourcetovar1.movevar1todestination.

65.在ABAP的PERFORM程序中,如果使用了两个变量USINGA.USINGB.要读INTAB中B的值,则使用:

READTABLEITABINDEX2.

66. 在一个查询语句中,如果WHERE语句后加入了CLIENTSPECIFIED关键字,则查询所有集团(CLIENT)的数据.

67.在CHANGE一个FORM时,可以进行多语言的维护,前提是在进入修改之前选中编辑的语言类别.

68.在报表的制作过程中应尽可能多地定义PARAGRAPHFORMAT少定义WINDOW,这样有利于日后的维护.

69.在没有ACTIVE的情况下少用RESET,这样会丢失你之前修改的所有信息,即使你对报表进行的保存操作.

70. 对于一个表要查看其所对应的数据字段:

/va02->sale->header->sales然后把光标放在某一个字段内按F1查看:

Technicalinformation.

71. 如果经常用到一个图标进行打印,可在/NSE78下IMPORTGRAPHIC下选中RESIDERINTHEPRINTERMEMORY.

72.插入一个BMP,先在/NSE78下建好,然后在FORM的LAYOUT下点击右键:

CREATEGRAPHIC进行相应的操作,在这里要注意色体的选择.

73.CREATINGGRAPHICOBJECTSANDIDS:

先在/NSE75下设置,然后点击/NSE78查看.

74.在页脚插入一个公司商标信息:

/INCLUDE&TVKO-TXNAM_FUS&OBJECTTEXTIDADRSLANGUAGE&VBDKA-SPRAS_VKO&.

75. 使用STANDARDTEXT,先通过/NSO10定义一个标准文档,然后在FORM里插入命令:

INCLUDEI_ADRS_HEADEROBJECTTTEXTIDXXX.

76.如果把一段标题设置成在每一页都打印,则使用:

TOP…ENDTOP来实现.

77.在用FORMPAGES进行总页数统计时,如果不显示则在后加(ZE).

78.在做LSMW时TRANSFERGLDATA用到的标准程序为:

RFBISA00.

79.在创建LSMW时:

PROJECT->传输项目的名称(可分配多个子项目),SUBPROJECT->子项目可有无限个子项目,OBJECT->对象名称对应业务名称.对象分配到子项目中.

80.使用SAP标准程序:

RMDATIND可直接输入物料主数据.

81.在维护STRUCTURE的时候都有两个或一个属性,为表头结构与行项结构.

82.在SPECIFYFIELS的时候,FILE一定是.TXT形式的扁平文件格式.

83.如果导入的数据没有值则进行以下CODEING:

IFNOTITEM-MWSKZISINITIAL.

BBSEG-MWSKZ=ITEM-MWSKZ.ENDIF.

84.使用EXCEL创建一个扁平形文件格式(ASCIIFILE)--àaflatfileofleguacydata.打开EXCEL,另存为时选扩展名为:

TEXT(TABDELIMITED).

85.如果要改动一个TABLE,可以先复制出来,然后对其进行修改,可以对新表进行结构修改.

86. 用/NSHD0可以为原本的SAP事务代码进行定制,如MM01,VA01等等.类似/NSE93.

87.几个用到的T-CODE说明:

       T-CODE      说明

      1,ST05TRACESQL.

      2,CS01CREATEBOM

      3,XK01CREATEVENDOR

      4,FILECONFIGURELOCALPATH

      5,SARADELETEDATAUSINGBATCHMETHOD

      6,AL08DISPLAYUSEWHOONLINE

      7,SE09DISPLAYTREESTRUCTURECHART.

      8,OPK8CONFIGUREPPINIMG

      9,V/40CONFIGURESOINIMG

     10,VV21->VL01N->VL71PRINTDELIVERNOTE

      11,ME2Ldisplaypowhichhavebeenreleased

     12,SPADDEPLOYFONTSETFORPRINTER

     13,M706CONFIGUREGIINIMG

     14,MBSTCANCELMATERIALDOCUMENT

     15,SE93,SHD0TRANSACTIONVARIANTS

     16,XD01CREATECUSTOMER

     17,SE32EDITTEXTFORABAP

     18,MM50,MM17SOMEUSEFULTCODEFORMAINTAININGMM

     19,V/30CONFIGURESO/INVOICEINIMG

     20,DB02,DB12DISPLAYINFORMATIONOFDB

     21,COO1CREATEPRODUCTORDER

     22,VF02CHANGEINVOICE’SOUTPUT

     23,COOIS,COO5NRELEASEPRODUCTORDER

     24,V/34CONFIGUREDELIVERYNOTE

     25,SHDBSE35UPLOADBDC

     26,SALEIMGFORALE/IDOC

     27,ME21N->ME22->ME28->MIGO->MB03GIPROCESS

     28,OMBRDEPLOYBARCODEFORGI

     29,MMAM改变物料类型

     30,WE02查看现有的IDOS

     31,SCC4CLIENTR的定义

     32,WEDI显示IDOC的工具菜单界面

     33,PFCGROLE角色的定义

     34,SCCLCLIENT的COPY

88.把目前SAP的资料存入本地文件:

使用SAP标准程序:

RMDATGEN.

89.如果在MASTERTABLE中增加一个新字段:

APPENDTOBMMH1---此表为从MARA拷贝过来.那么要运行RMDATING->GENERATECODEFORFGROUPMGAD.

90. 可以通过SE32来维护ABAP中那些与选择屏幕相关的TEXT.

91.通过语句BOXXPOS‘7’CMWIDTH0TWHEIGHT‘11’CMFRAME10TW可在指定位置画一条竖线.

92.用TRANSLATETEXTTOUPPER/LOWER可以进行大小写转换.

93. 用LSWM导PO数据的时候分成二步录制,在HEAD中录HEADER和ITEM的第一条记录,然后再录ITEM的时候用事务代码ME22录,进入CHANGE界面后点菜单的EDIT中ENTRYLINES录制ITEM的第二条记录.注意这里:

BSTPO_02的值与EBELP的值一样.

94. 用SM12可以在系统不正常退出后,结束某个进程.

95.在用SAPSCRIPT画图时,如果要在每一页都显示则不要把它的语句放在MAIN中,应放在MAINTYPE为CONST或VAR的窗口.

96. 在PARAMETERS定义的参数如果要有个默认值,则格式为:

parameters:

amounttypeIdefault20.

97. 对于PO单的EBELN,如果用SELECT-OPTIONSXXXLIKEEKKO-EBELN则会X前加IBT,为避免这种情况用PARAMTERS与BETWEEN来解决.

98. 在SAPSCRIPT中如果在对某个字段进行右对齐,一般通过命令R来设置没什么效果,最好是通过TAB中的ALIGNMENT来进行设置.

99. 在做PAI的时候如果要读取动态程序值要用到的FUNCTION:

DYNP_VALUE_READ.

100.通过程序SHOWICON可以查看到所有的SAPICONS.

101.在INCLUDE中也可以用变量如:

/:

INCLUDE&SCUSTOM-NAME&TEXTIDST.这样的话PO单的REMARKS可用多种语言,写好后可动态调用.

102.修改内表的某一行:

createtableitabwithkeyperson=‘123’binaraysearch.

Itab-name=‘xx’.Itab-age=‘28’.

Modifyitabindexsy-tabix.

103.如果要在一个表头部分用边框分割开,最好的方法是在每一个WINDOW中写入

/:

BOXFRAME10TW.

104.在一个报表中加入一张图片,如果只能在源语言环境下显示,则可做几次语言转换,最好第一次用ZH或ZF.

105. 一个功能模块如READ_TEXT要看有几个输入输出函数,可在显示状态下查看IMPORT和EXPORT.查看功能模块T-CODE:

SE37.

106.发票单对应的SMARTFORM设置是,PROGRAM:

RLB_INVOICESMARTFORM:

LB_BIL_INVOICE.对应的SAPSCRIPT是,PROGRAM:

RVADDN01SMARTFORM:

RVDELNOTE.

107.要在工单中打印条码,在OPK8中选中SPOOLPRARMETESFORUSER改OUTPUTDEVICE为BARCODE(为自己设定的条码打印机),PRINTERSPECIFICATION的OUTPUTDEVICE也为BARCODE->PRINTCONTROLFORUSER.做以上这些事的前提是要先安装TBARCODE_SAPLPD-----打印驱动.

108.设置打印机的字体集用T-CODE:

SPAD.

109.要查看指定用户建立或修改的文档,用SE80进入OBJ

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

当前位置:首页 > 解决方案 > 学习计划

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

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