您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SAP-ABAP-实用培训教程
SAP基本知识培训-ABAP培训内容ABAP简介1ABAP基础2ALV报表3Function4Smartforms5Enhancement6BDC7ABAP简介ABAP程序的流程系统架构和ABAP程序•系统的三层架构:表现层,应用服务器层,数据库层.•ABAP程序从数据库提取数据展示给用户程序运行流程•程序开始•系统读取上下文•运行时系统发送选择屏幕•输入的值被放入数据对象•程序从数据库请求数据记录•数据库把数据记录返回给程序ABAP简介ABAP工作台简介知识库和对象浏览器•知识库包含了所有系统开发对象—程序、函数模块、数据库表定义等等•除知识库外,数据库还包含应用和定制表,这些表是客户端相关的,都有一个客户端列。•知识库结构根据应用组件进行划分,创建一个知识库对象时,必须指定一个包。•知识库信息系统(SE80)。•通过应用层次功能显示按层级组织的知识库对象(SE81)。•ABAP工作台工具,ABAP编辑器、ABAP字典、屏幕制作器、菜单制作器、函数制作器、类制作器。•对象浏览器,左面是导航区,右面是工具区。ABAP简介ABAP工作台简介开发程序和组织开发•组织开发(SE01,SE09,SE10)。•创建包,Package、短文本、Appl.Component、SoftwareComponent、TransportLayer、PackageType。•传输路径(STMS)。•创建请求号。•ABAP编程语言简介。•创建ABAP程序(SE38)。•创建事务码(SE93)。ABAP简介谢谢!ABAP基础数据字典ABAP字典中的基本对象•ABAP字典中的基本对象为:表、数据元素、Domain。•表是数据库中实际存放数据的结构,由行(记录)和列(字段)组成。表中的字段通过数据元素和domain来定义。一个domain指定字段的属性及允许的值。字段通过数据元素和domain相联系,一般不建议把domain直接赋给字段。这是SAP和其它系统的重要区别,在其它系统中,字段仅通过数据类型(字符、数字等)和长度来定义。在SAP中,字段通过一个数据元素来定义,而每个数据元素又通过一个domain定义。•数据元素的优点是可以重复使用。例如,有多个表包括字段FIELD,你可以将各个表中的FIELD分配给同一个数据元素,而不需要去在每个表中定义。另外,若要对字段的属性修改,只需要修改数据元素,所有指向该数据元素的字段会自动使用新的值。•创建表、数据元素、Domain(SE11)。ABAP基础表,数据元素和domain的关系如下图所示ABAP基础基本对象的关系图操作实践:实际建立一张表单表单格式要求•.表单名称为ZTEST20130801,具体格式如下客户端物料工厂调度员操作人日期MANDTMATNRWERKSFEVOR自定义BLDATABAP基础ABAP基础谢谢!ABAP基础数据定义数据类型16进位数X'00'1-65535Byte1X时间数据,格式为HHMMSS'000000'6Byte6TPacked数,用在小数点数01-16Byte8P数值'00…0'1-65535Byte1N整数0-2^31至2^31-14I浮点数08Byte8F日期数据,格式为YYYYMMDD'00000000'8Byte8D字符串数据,如'Program'Space1-65535Byte1CDescriptionInitialValueRangeLengthTypeABAP基础名称作用SPACE空白字符串SY-SUBRC系统执行返回值,0表示执行成功SY-UNAME登陆帐号名称SY-DATUM系统日期SY-UZEIT系统时间SY-TCODE目前的事务代码数据定义系统定义的数据SYSTABAP基础数据定义变量定义•DATA语法:DATAf[length]type[value][decimals]•f:变量名称,最长30个字符,不可含有+.,:()等字符.•lengthtype:数据类型及长度,如LINE(20)TYPEC.亦如MYNAMELIKESY-UNAME。•value:初值。decimals:小数位数。ABAP基础数据定义常量定义•常数定义使用CONSTANTS指令,如定义PI是一个有5位小数的数值3.14159。ABAP基础•TYPE指令,TYPE用来指定数据类型。•TYPES指令,只能设定类型,被别的变量引用,不能保存值.TYPES用来自定义数据类型。•LIKE指令,LIKE也用来指定数据类型,使用格式与TYPE相同,LIKE与TYPE的区别是LIKE用在已有值的数据项,如系统变量,而TYPE叙述则是用在指定数据类型。•STATICS指令,STATICS用来定义变量,使用格式与DATA相同。与DATA的区别是STATICS只能在子程序中使用,DATA可以在子程序外进行定义.语法:STATICSc[length]type[value][decimals]•TABLES指令,TABLES语句用来创建称为表工作区的数据对象。表工作区是参考ABAP/4词典对象的字段串。语法:TABLESdbtab.其中dbtab是ABAP/4词典对象的名称,同时也是创建的表工作区的名称。表工作区组件的顺序和名称与在ABAP/4词典中声明的对象相同。数据定义指令ABAP基础谢谢!ABAP基础语法:MOVEF1TOF2将F1的值存至变数F2中,也可写成F2=F1实例:M_NAME='CHER'.数据运算指令赋值ABAP基础语法:MOVEF1[+O1]TOF2[+O2]实例:DATA:F1(10)TYPECVALUE'ABCDEFGHIJ'.F2(5)TYPEC.F2=F1+3(5).*自第4个位置开始取出5个字符(MOVEF1+3(5)TOF2)F2的内容会变成DEFGH数据运算指令截取字符串赋值ABAP基础数据运算指令在变量的使用上,可以使用类似CallByValue的方法语法:WRITE(f)TOg实例:DATA:NAME(20)TYPECVALUE'SOURCE',SOURCE(10)TYPECVALUE'LILY',TARGET(10)TYPEC.WRITE(NAME)TOTARGET.WRITE/TARGET.执行结果:LILY变量CALLBYVALUE的使用ABAP基础语法:MOVE–CORRESPONDINGStrings1TOStrings2.实例:DATA:BEGINOFADDRESS,FIRSTNAME(10)TYPECVALUE'LULU',LASTNAME(10)TYPECVALUE'CHOU',TEL(12)TYPECVALUE'4660570',ENDOFADDRESS.DATA:BEGINOFNAME,FIRSTNAME(10)TYPEC,LASTNAME(10)TYPEC,E_MAIL(30)TYPEC,ENDOFNAME.MOVE-CORRESPONDINGADDRESSTONAME.NAME-FIRSTNAME变成‘LULU’,NAME-LASTNAME变成‘CHOU’,而NAME-E_MAIL则不变。数据运算指令数组值的复制ABAP基础数据运算指令语法:CLEARf清除变量现在内容实例:DATANTYPEIVALUE100.CLEARN.WRITEN.执行结果:0.清除变量内容ABAP基础数据运算指令算术符号符号功能**乘幂*乘/除+加-减DIV整数除法MOD余数除法ABAP基础数据运算指令数值函数ABS(N):取数值N的绝对值SIGN(N):1(N0),0(N=0),-1(N0).CEIL(N):传回大于数值N的最小整数.FLOOR(N):传回小于数值N的最大整数.TRUNC(N):传回数值N的整数部分.FRAC(N):传回数值N的小数部分.COS(A),SIN(A),TAN(A):传回三角函数cosA,sinA,tanA的值,A为弪度量EXP(N):传回e^N值LOG(N):传回logeN值SQRT(N):传回N的平方根值ABAP基础数据运算指令日期数据的运算,日期数据可以直接运算,如加法与减法的运算.时间数据的运算,时间格式为‘hhmmss’,如‘212030’表’21:20:30’.日期与时间运算ABAP基础数据运算指令字符串移位语法:SHIFTc[BYnPLACES][modes][CIRCULAR][BYnPLACES]:表示移动的位数,没有此参数默认移动一位。[modes]:移动的方向,没有此参数默认向左移动.(1).LEFT,字符串往左移n位(2).RIGHT,字符串往右移n位[CIRCULAR]:字符串以环状方式移位取代字符串内容语法:REPLACEstring1WITHstring2INTOc将字符串c中的string1以string2来取代大小写的转换语法:TRANSLATEcTOUPPERCASE.*转成大写TRANSLATEcTOLOWERCASE.*转成小写在字符串中寻找部分字符串语法:SEARCHcFORstr.从字符串c查询字符串str。执行结果存至两个变数,SY-SUBRC和SY-FDPOS,若找到则SY-SUBRC为0,SY-FDPOS存开始位迭(从0开始计)。字符串长度,语法:STRLEN(c).取部分字符串,语法:f[+o][l].字符串连接,语法:CONCATENATEstring1string2INTOstring3.字符串分割,语法:SPLITstring1ATcINTOstring2string2..字符串数据处理ABAP基础数据运算指令批量重复操作的时候,可以定义sap宏来进行操作语法:DEFINEname....&1...&9...END-OF-DEFINITION.例子:DATA:xTYPEi,yTYPEi,lTYPEi.DEFINEwrite_frame.x=sy-colno.y=sy-linno.WRITE:'|'NO-GAP,&1NO-GAP,'|'NO-GAP.l=sy-colno-x.y=y-1.SKIPTOLINEy.POSITIONx.ULINEATx(l).y=y+2.SKIPTOLINEy.POSITIONx.ULINEATx(l).y=y-1.x=sy-colno.SKIPTOLINEy.POSITIONx.END-OF-DEFINITION.SKIP.write_frame'Inaframe!'.宏谢谢!结语ABAP基础语法:PARAMETERSp[DEFAULTf][LOWERCASE][OBLIGATORY][ASCHECKBOX][RADIOBUTTONGROUPrad]实例:PARAMETERS:NAME(8),AGETYPEI,BIRTHTYPED.OBLIGATORY:强制要求输入,屏幕上会出現一个“√”,使用者必须要输入才可。ASCHECKBOX:输入CHECKBOX的格式。实例:PARAMETERS:TAXASCHECKBOXDEFAULT‘X’,NTDASCHECKBOX.RADIOBUTTONGROUPrad:输入RADIOBUTTONGROUP的方式。实例:PARAMETERS:BOYRADIOBUTTONGROUPSEXDEFAULT‘X’,GIRLRADIOBUTTONGROUPSEX.屏幕输入指令PARAMETERS指令ABAP基础语法:SELECT-OPTIONScheck-optionFORtable-field[DEFAULTbeginTOend][NO-EXTENSION][NOINTERVALS][OBLIGATORY]实例:TABLESSPFLI.AIRLINEFORSPFLI
本文标题:SAP-ABAP-实用培训教程
链接地址:https://www.777doc.com/doc-1335614 .html