SAPABAP开发基础自写留用.docx

上传人:罗晋 文档编号:10665151 上传时间:2021-05-30 格式:DOCX 页数:9 大小:15.74KB
返回 下载 相关 举报
SAPABAP开发基础自写留用.docx_第1页
第1页 / 共9页
SAPABAP开发基础自写留用.docx_第2页
第2页 / 共9页
SAPABAP开发基础自写留用.docx_第3页
第3页 / 共9页
SAPABAP开发基础自写留用.docx_第4页
第4页 / 共9页
SAPABAP开发基础自写留用.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《SAPABAP开发基础自写留用.docx》由会员分享,可在线阅读,更多相关《SAPABAP开发基础自写留用.docx(9页珍藏版)》请在三一文库上搜索。

1、学习顺序数据类型域什么什么的字符串结构内表OpenSQL函数子程序报表一、 T-CODESE80 对象浏览器SE38 写程序SE11 建表SE37 函数SM04 查看用户SE91message系统sy-uzeit 系统时间sy-datum 系统日期sy-datum 是 2010.10.10sy-datum+0(2) 是 20sy-datum+2(3) 是 101PSa-comun+29(11). 这也是偏移的操作sy-subrc 正常是0 ,不正常是0 或其他二、数据类型完整型d 日期 8 字节 YYYYMMDDt 时间 6 字节i 整型f 浮点型string 可变长的字符型非完整型非完整型c

2、 字符型(若不指定长度默认是1 个字节)n 数字字符型p 小数(常用)(压缩数装载它的空间是(x+1 ) /2x 是原来装载它的长度 )datav1(5)typepdecimals2value123.45.三、各种定义基本格式DATA:XXTYPEYYVALUE ZZ 各种来了* 参照数据字典定义* 参照数据元素定义datav9typezdata_jg_20100325_01.* 参照数据库表的字段定义datav10typescarr-carrid.* 定义常量CONSTANTSc1TYPEiVALUE1.* 定义单值选侧屏幕PARAMETERSp1(8)TYPEndefaultAA.* 参照

3、自定义类型定义变量TYPESt1(10)TYPEc.DATAv9TYPEt1.* 参照自定义变量定义变量DATAv10LIKEv9.* 参照数据字典中的 TYPEGROUP 定义数据类型TYPE-POOLSzjg01.datav20typezjg01_z1.定义结构DATA:BEGINOFwa,carridTYPEspfli-carrid,connidTYPEspfli-connid,cityfromTYPEspfli-cityfrom,citytoTYPEspfli-cityto,distanceTYPEspfli-distance, distidTYPEstring,ENDOFwa.根据结

4、构定义内表DATAitabLIKETABLEOFwa.流程才$制-IFELSEIFa12.WRITE: 他比 12 大 .ELSE.WRITE: 他比 12 小 .ENDIF.循环DO10TIMES.WRITE:/ 这是第,ie, 次.ie=ie+1.ENDDO.把内表循环到结构中LOOPATitabINTOwa.WRITE:/wa-id.ENDLOOP .内表各种操作 -collect在内表中一定有一个数值型的字段,而且其他字段均为字符型把数值型字段上的数加起来DATA:BEGINOFwa,a(4)TYPEc,b(4)TYPEc,cTYPEi,ENDOFwa.DATAitabLIKETABL

5、EOFwa.wa-a=001.wa-b=0101.wa-c=100.*APPENDwaTOitab.COLLECTwaINTOitab.wa-a=002.wa-b=0201.wa-c=200.*APPENDwaTOitab.COLLECTwaINTOitab.wa-a=002.wa-b=0201.wa-c=100.*APPENDwaTOitab.COLLECTwaINTOitab.LOOPATitabINTOwa.WRITE:/wa-a,wa-b,wa-c.ENDLOOP .内表各种操作 -readLOOPATitab1INTOwa.READTABLE itab2 INTO wa1 WITHK

6、EY carrid=wa-carrid.IFsy-subrc0.clearwa1.move-correspondingwatowa1.appendwa1toitab2.ENDIF.ENDLOOP .根据结构修改内表modifyitabfromwa.SQL 操作1 、把 SQL 结果放入内表中SELECTcarridconnidcityfromcitytodistancedistidFROMspfliINTO CORRESPONDINGFIELDSOFTABLE itab. 放到了内表中INTO CORRESPONDINGFIELDSOF wa. 放到了结构中2.1 、多表查询SELECTsca

7、rrcarridscarrcarrnamespfliconnidspflicityfrom spflicitytoFROM scarr INNERJOIN spfliON scarrcarrid=spflicarridINTOCORRESPONDINGFIELDSOFTABLEitab.2.2 、更多表查询SELECTspflicarridspfliconnidspflicityfromspflicitytosbookfldatesbookbookidsbookcustomidsbookcusttypescustomname scustomstreetFROMspfli INNERJOIN s

8、bookON spflicarrid=sbookcarrid AND spfliconnid=sbookconnid INNERJOIN scustomON sbookcustomid=scustomidINTOCORRESPONDINGFIELDSOFTABLEitab.各种关键字APPENDwaTOitab. 把结构搞到内表中MOVETO 结构赋值modifyitabfromwa 根据结构修改内表MOVE-CORRESPONDINGstr1TOstr3. 同名字段赋值分支研究data:v1typeivalue1.v2typei.do50times.v2=v1*2.write:v1,v2.v

9、1=v1+1.enddo.函数来了字符串操作CONCATENATE wa-fldatewa-week INTO wa-www SEPARATEDBY / 星期 .子程序 三种类型:值传递,值传递并返回* 1. 值传递 - 实参在传递过程中不发生改变,只是传递一个实参的拷贝,适用于值不能改变的单值,不适合内表参数传递。* 2. 值传递并返回结果-传递一个实参的拷贝,实参的拷贝发生改变,返回给实参,适合于可以改变的单值传递,不适合内表参数传递。* 3. 引用传递 -传递实参,子程序运行结束后,实参根据子程序运行结果,适合单值也适合内表。看看代码就知道怎么用了DATA:aTYPEi,bTYPEi,c

10、TYPEi.PERFORMxUSINGa. 这是值传递PERFORMyCHANGINGb. 这是值传递改变PERFORMzCHANGINGc. 这是引用传递PERFORMxyzUSINGaCHANGINGbc.连起来就是这么用滴* 值传递和值传递引用改变需要写个value, 引用传递不需要FORMxyzUSINGvalue(f1)TYPEi 值传递CHANGINGvalue(f2)TYPEi 值传递改变f3TYPEi. 引用传递ENDFORM.* 如果传入的是内表,子程序中可以这么写FORMxyzCHANGINGp-itablikeitab.* 也可以这么写吧FORMxyzCHANGINGp-

11、itabtypeitab.屏幕START-OF-SELECTION. 主程序开始了!WRITE:/text-001,sy-lsind.ATLINE-SELECTION.CASE sy-lsind.WHEN1.WRITE:/ 第一级详细列表,sy-lsind.WHEN2.WRITE:/ 第二级详细列表,sy-lsind.WHEN3.WRITE:/ 第三级详细列表,sy-lsind.ENDCASE.单值选择屏幕PARAMETERp1TYPEscarr-carridDEFAULTAA.多重选择屏幕TABLESscarr. 相当于 datascarrtypescarr.后面不是类型是变量SELECT-

12、OPTIONSpiFORscarr-carrid.for* 下面是用法SELECTcarridcarrnameFROMscarrINTOCORRESPONDINGFIELDSOFTABLEitabWHEREcarridINpi.LOOPATitabINTOwa.WRITE:/wa-carrid,wa-carrname.ENDLOOP .data:v1typeivalue1.data:v2typeivalue1.data:v3typeivalue2.data:v4typeivalue3.dov1times.write:v1,-,v2.write:v1,-,v2.write:v1,-,v2.dat

13、a:beginofwa1,ebeln(3)typec,dattyped,mengetypei,endofwa1.dataitabliketableofwa1.wa1-ebeln=001.wa1-dat=20070803.wa1-menge=10.appendwa1toitab.clearwa1.wa1-ebeln=001.wa1-dat=20070903.wa1-menge=20.appendwa1toitab.clearwa1.wa1-ebeln=002.wa1-dat=20080303.wa1-menge=20.appendwa1toitab.clearwa1.wa1-ebeln=003.

14、wa1-dat=20080603.wa1-menge=30.appendwa1toitab.clearwa1.loopatitabintowa1.write:/wa1-ebeln,wa1-dat,wa1-menge.endloop.uline.data:beginofwa2,ebeln(3)typec,mengetypei,endofwa2.dataitab2liketableofwa2.loopatitabintowa1.move-correspondingwa1towa2.collectwa2intoitab2.endloop.loopatitab2intowa2.write:/wa2-ebeln,wa2-menge.endloop.sy-subrc 判断有没有东西condense 字符型 / 去空格forallentriesin 内表DATAwaLIKELINEOFitab./ 参照内表建结构sortitbycarridconnidfldate.deleteadjacentduplicatesfromitcomparingallfields.

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1