SAPABAP开发基础概述_第1页
SAPABAP开发基础概述_第2页
SAPABAP开发基础概述_第3页
SAPABAP开发基础概述_第4页
SAPABAP开发基础概述_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、指定长度默认是1个字节)n 数字字符型p 小数(常用)(压缩数 装载它的空间是(x+1)/2 x是原来装载它的长度)data v1(5) type p decimals 2 value 123.45.三、各种定义差不多格式DATA:XX TYPE YY VALUEZZ各种来了*参照数据字典定义*参照数据元素定义data v9 type zdata_jg_20100325_01.*参照数据库表的字段定义data v10 type scarr-carrid.*定义常量CONSTANTS c1 TYPE i VALUE 1.*定义单值选侧屏幕PARAMETERS p1(8) TYPE n defau

3、lt AA.*参照自定义类型定义变量TYPES t1(10) TYPE c.DATA v9 TYPE t1.*参照自定义变量定义变量DATA v10 LIKE v9.*参照数据字典中的TYPE GROUP定义数据类型TYPE-POOLS zjg01 .data v20 type zjg01_z1.定义结构DATA : BEGIN OF wa, carrid TYPE spfli-carrid, connid TYPE spfli-connid, cityfrom TYPE spfli-cityfrom, cityto TYPE spfli-cityto, distance TYPE spfli

4、-distance, distid TYPE string, END OF wa.依照结构定义内表DATA itab LIKE TABLE OF wa. 流程操纵-IFELSEIF a 12. WRITE : 他比12大.ELSE. WRITE : 他比12小.ENDIF.循环DO 10 TIMES. WRITE: / 这是第,ie,次. ie = ie + 1.ENDDO.把内表循环到结构中LOOP AT itab INTO wa. WRITE : / wa-id.ENDLOOP.内表各种操作-collect在内表中一定有一个数值型的字段,而且其他字段均为字符型把数值型字段上的数加起来DAT

5、A : BEGIN OF wa, a(4) TYPE c, b(4) TYPE c, c TYPE i, END OF wa.DATA itab LIKE TABLE OF wa.wa-a = 001.wa-b = 0101.wa-c = 100.*APPEND wa TO itab.COLLECT wa INTO itab.wa-a = 002.wa-b = 0201.wa-c = 200.*APPEND wa TO itab.COLLECT wa INTO itab.wa-a = 002.wa-b = 0201.wa-c = 100.*APPEND wa TO itab.COLLECT w

6、a INTO itab.LOOP AT itab INTO wa. WRITE : / wa-a, wa-b, wa-c.ENDLOOP.内表各种操作-readLOOP AT itab1 INTO wa. READ TABLE itab2 INTO wa1 WITH KEY carrid = wa-carrid. IF sy-subrc 0. clear wa1. move-corresponding wa to wa1. append wa1 to itab2. ENDIF.ENDLOOP.依照结构修改内表modify itab from wa.SQL操作1、把SQL结果放入内表中SELEC

7、T carrid connid cityfrom cityto distance distid FROM spfli INTO CORRESPONDING FIELDS OF TABLE itab. 放到了内表中INTO CORRESPONDING FIELDS OF wa.放到了结构中2.1、多表查询SELECT scarrcarrid scarrcarrname spfliconnid spflicityfromspflicityto FROM scarr INNER JOIN spfli ON scarrcarrid = spflicarrid INTO CORRESPONDING FI

8、ELDS OF TABLE itab.2.2、更多表查询SELECT spflicarrid spfliconnid spflicityfrom spflicitytosbookfldate sbookbookid sbookcustomid sbookcusttype scustomnamescustomstreet FROM spfli INNER JOIN sbook ON spflicarrid = sbookcarrid AND spfliconnid = sbookconnid INNER JOIN scustom ON sbookcustomid = scustomid INTO

9、 CORRESPONDING FIELDS OF TABLE itab.各种关键字APPEND wa TO itab.把结构搞到内表中MOVE TO 结构赋值modify itab from wa依照结构修改内表MOVE-CORRESPONDING str1 TO str3.同名字段赋值分支研究data:v1 type i value 1.v2 type i.do 50 times.v2 = v1 * 2.write : v1,v2.v1=v1 +1.enddo.函数来了字符串操作CONCATENATE wa-fldate wa-week INTO wa-www SEPARATED BY/星期

10、.子程序三种类型:值传递,值传递并返回# 1.值传递-实参在传递过程中不发生改变,只是传递一个实参的拷贝,适用于值不能改变的单值,不适合内表参数传递。# 2.值传递并返回结果-传递一个实参的拷贝,实参的拷贝发生改变,返回给实参,适合于能够改变的单值传递,不适合内表参数传递。# 3.引用传递-传递实参,子程序运行结束后,实参依照子程序运行结果,适合单值也适合内表。看看代码就明白如何用了DATA : a TYPE i, b TYPE i, c TYPE i.PERFORM x USING a.这是值传递PERFORM y CHANGING b.这是值传递改变PERFORM z CHANGING c

11、.这是引用传递PERFORM xyz USING a CHANGING b c.连起来确实是这么用滴*值传递和值传递引用改变需要写个value,引用传递不需要FORM xyz USING value(f1) TYPE i值传递 CHANGING value(f2) TYPE i值传递改变 f3 TYPE i.引用传递ENDFORM. *假如传入的是内表,子程序中能够这么写FORM xyz CHANGING p-itab like itab.*也能够这么写吧FORM xyz CHANGING p-itab type itab.屏幕START-OF-SELECTION. 主程序开始了! WRITE

12、 : / text-001,sy-lsind.AT LINE-SELECTION. CASE sy-lsind. WHEN 1. WRITE : / 第一级详细列表,sy-lsind. WHEN 2. WRITE : / 第二级详细列表,sy-lsind. WHEN 3. WRITE : / 第三级详细列表,sy-lsind. ENDCASE.单值选择屏幕PARAMETER p1 TYPE scarr-carrid DEFAULT AA.多重选择屏幕TABLES scarr.相当于data scarr type scarr.SELECT-OPTIONS pi FOR scarr-carrid.

13、 for后面不是类型是变量*下面是用法SELECT carrid carrname FROM scarr INTO CORRESPONDING FIELDS OF TABLE itab WHERE carrid IN pi.LOOP AT itab INTO wa. WRITE : / wa-carrid, wa-carrname.ENDLOOP.data : v1 type i value 1.data : v2 type i value 1.data : v3 type i value 2.data : v4 type i value 3.do v1 times.write : v1, -

14、 , v2.write : v1, - , v2.write : v1, - , v2.data : begin of wa1, ebeln(3) type c, dat type d, menge type i, end of wa1. data itab like table of wa1. wa1-ebeln = 001. wa1-dat = 20070803. wa1-menge = 10. append wa1 to itab. clear wa1. wa1-ebeln = 001. wa1-dat = 20070903. wa1-menge = 20. append wa1 to

15、itab. clear wa1. wa1-ebeln = 002. wa1-dat = 20080303. wa1-menge = 20. append wa1 to itab. clear wa1. wa1-ebeln = 003. wa1-dat = 20080603. wa1-menge = 30. append wa1 to itab. clear wa1.loop at itab into wa1.write : / wa1-ebeln, wa1-dat, wa1-menge.endloop.uline.data : begin of wa2, ebeln(3) type c, menge type i, end of wa2. data itab2 like table of wa2.loop at itab into wa1.move-corresponding wa1 to wa2.collect wa2 into itab2.endlo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论