您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SAP-ABAP-基础编程
SAP-ABAP培训--基础编程SAP-ABAP基础编程ABAP基本语法内部表数据库操作CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司SAPABAP基本语法ABAP/4数据元素CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司SAPABAP基本语法变量声明变量声明包含name,type,length和structure四个部分,使用DATA指令,如:DATA:S1TYPEI,SUMTYPEI.CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司SAPABAP基本语法常数声明常数声明使用CONSTANTS指令,如声明宣告PI是一个小数点5位的值3.14159,CONSTANTSPITYPEPDECIMALS5VALUE‘3.14159’.CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司SAPABAP基本语法TYPE语句用来指定数据型态或声明自定数据型态TYPESt...[TYPEtype|LIKEobj]TYPES:BEGINOFMYLIST,NAME(10)TYPEC,NUMBER1TYPEI,NUMBER2TYPEpDECIMALS2,ENDOFMYLIST.DATALISTTYPEMYLIST.CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司SAPABAP基本语法LIKE语句跟TYPE语句使用格式相同,如DATATRANSCODELIKESY-TCODE.不同的是LIKE用在已有值的数据项,如系统变量,而TYPE叙述则是用在指定数据型态。TYPE对应一个已定义的typeLIKE对应一个已定义的object,不能是结构,要定义好的对象CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司SAPABAP基本语法DATA语句语法:DATAf[length]type[value][decimals]f:变量名称,最长30个字符,不可含有+.,:()等字符lengthtype:数据型态及长度,如LINE(20)TYPEC.MYNAMELIKESY-UNAME.value:初值decimals:小数位数例:DATA:COUNTERTYPEPVALUE1,FLAGTYPECVALUEISINITIAL,WEIGHTTYPEPDECIMALS2VALUE‘1.25’.CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司SAPABAP基本语法TABLES语句用来声明TableWorkArea的数据,对映至ABAP/4资料文件(DictionaryObject),由SQL指令加载所需数据语法:TABLESdbtabCamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司输出数据到屏幕ULINE[AT[/][pos][(len)]].如果没有格式规范,系统则开始新的一行,并用水平线填充该行。否则,只按指定输出水平线CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司Write语句语法:Write资料项数据项可以是常数或变量,如:WRITE‘Thisissample’.WRITE:‘COMPANY:’,STFL-CARRID.指定屏幕位置显示语法:WriteAT[/][pos][(len)]资料项/:先往下一行,pos:屏幕X轴坐标,(len):显示资料的长度例:WRITE‘FirstLine’.WRITE/6‘SecondLine’.输出结果:FirstLineSecondLineCamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司Write语句显示格式参数:LEFT-JUSTIFIED资料靠左显示CENTERED资料靠中间显示RIGHT-JUSTIFIED资料靠右显示UNDERg在资料项g的X轴开始坐标显示NO-GAP紧接着显示,不留空格USINGEDITMASKm使用内嵌字符显示,如11:20:30USINGNOEDITMASK不使用内嵌字符NO-ZERO数字前面0的部分不显示NO-SIGN不显示正负号DECIMALSd显示d位小数字数EXPONENTeF(浮点数)exponent的值ROUNDr四舍五入至小数位数下r位CURRENCYc币别显示CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司Write语句产生空白列产生n个空白列语法:SKIP[n]NOSTANDARDPAGEHEADINGLINE-SIZE175CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司Write语句CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司WRITE练习用WRITE语句画成下列样子CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司赋值语法:MOVEF1TOF2将F1的值存至变量F2中,也可写成F2=F1清除变量内容语法:CLEARf清除变量现在内容,恢复成初值。例:DATANTYPEIVALUE100.CLEARN.“变量N的内容变成0CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理字符串移位语法:SHIFTc[BYnPLACES][modes]modes:(1)空白,字符串往左移一位(2)LEFT,字符串往左移n位(3)RIGHT,字符串往右移n位(4)CIRCULAR,字符串往左以环状方式移位例:DATASTRING(10)TYPECVALUE‘ABCDEFGHIJ’.SHIFTSTRING.“得到BCDEFGHIJ’SHIFTSTRINGBY2PLACESRIGHT.“得到ABCDEFGHCamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理在字符串中寻找部分字符串语法:SEARCHcFORstr会存至两个变量:SY-SUBRC和SY-FDPOS,若找到则SY-SUBRC为0,SY-FDPOS存开始位迭;若找不到则SY-SUBRC为4,SY-FDPOS为0。CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理取代字符串内容语法:REPLACEstring1WITHstring2INTOc将字符串c中的string1以string2来取代例:DATA:STRING(10)TYPECVALUE‘ABCDEFGHI’,STR1(3)TYPECVALUE‘DEF’,STR2(3)TYPECVALUE‘123’.REPLACESTR1WITHSTR2INTOSTRING.WRITE/STRING.“得到ABC123GHICamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理大小写的转换语法:TRANSLATEcTOUPPERCASE.“转成大写TRANSLATEcTOLOWERCASE.“转成小写CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理字符串长度语法:STRLEN(c)例:INT=STRLEN(‘XYZABC’).“得到6INT=STRLEN(‘ABC’).“得到3字符串长度语法:STRLEN(c)例:INT=STRLEN(‘XYZABC’).“得到6INT=STRLEN(‘ABC’).“得到3CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理取部分字符串语法:f[+o][l]例:DATAT(10)TYPECVALUE‘ABCDEFGHIJ’.WRITE/T+2(4).“得到CDEFCamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理合并字符串语法:CONCATENATEc1...cnINTOc[SEPARATEDBYs].例:DATA:C1(10)VALUE'Sum',C2(3)VALUE'mer',C3(5)VALUE'holi',C4(10)VALUE'day',C5(30),SEP(3)VALUE'-'.CONCATENATEC1C2C3C4INTOC5.WRITEC5.“SummerholidayCONCATENATEC1C2C3C4INTOC5SEPARATEDBYSEP.WRITE/C5.“Sum-mer-holi-dayCamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理分割字符串语法:SPLITcATdelINTOc1...cn.例:DATA:STRING(60),P1(20),P2(20),P3(20),P4(20),DEL(3)VALUE'***'.STRING='Part1***Part2***Part3***Part4***Part5'.WRITESTRING.“Part1***Part2***Part3***Part4***Part5SPLITSTRINGATDELINTOP1P2P3P4.WRITE/P1.“Part1WRITE/P2.“Part2WRITE/P3.“Part3WRITE/P4.“Part4***Part5CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串数据处理去前置空格语法:CONDENSE(F)[NO-GAPS].其中:[NO-GAPS]去所有空格CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司字符串练习字符串:a*b*c*d*f*g1.用分裂语句将其他内容分裂..2.将分裂后的值转换成大写.3.将这些值合并.输出4.只输出第三个.第五个字段.CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司流控制CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司=或==ANDORNOTEQNELTLEGTGE等于不等于小于小于等于大于大于等于并且或非比较符号条件语句IF语句语法:IF条件1.语句1ELSEIF条件2.语句2ELSEIF条件3.语句3…..ELSE.else语句ENDIF.CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司条件语句CASE语句语法:CASE变量f.WHEN值1.语句1WHEN值2.语句2….WHENOTHERS.others语句ENDCASE.CamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司循环语句计数循环语句语法:DO[nTIMES][VARYINGfFROMstartTOend].循环语句块ENDDO.例1:DO2TIMES.执行结果:WRITE/‘X’.XENDDO.XCamelotInformationSystemsCo.,Ltd.柯莱特信息系统有限公司循环语句条件循环语法:WHILE条件.循环语句块ENDWHILE例:I=1.S=0.WHILEI=10.S=S+I.I=I+1.ENDWHILE.WRITE:/‘1+2+3+…+10=’,
本文标题:SAP-ABAP-基础编程
链接地址:https://www.777doc.com/doc-5482807 .html