ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:943.40KB ,
资源ID:26002651      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26002651.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ABAP学习精华.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ABAP学习精华.docx

1、ABAP学习精华. ABAP/4 DATA ELEMENT1. Data Type (数据类型)C: 字符(串), 长度为1, 最大有65535 BYTES, 初始值为: space,例: M;D: 日期, 格式为YYYYMMDD, 最大是9999/12/31 ,例:1999/12/03.F: 浮点数, 长度为8, 例如: 4.285714285714286E-01I: 整数 范围 :-231 231-1N: 数值组成的字符串: 011, 302.P: packed 数,用于小数点数值,例如: 12.00542;T: 时间, 格式为HHMMSS,例如: 14:03:00, 21:30:39.X

2、: 16进制数, 例如 1A03. 2. 变量宣告变量宣告包含name, length, type, structure等,语法如下: DATA 其中: :变量名称,最长30个字符,不可含有 + , . , : ( ) 等字符; :变量类型及长度; :初值 :小数字数Example 1: DATA: COUNTER TYPE P DECIMALS 3. NAME (10) TYPE C VALUE Delta. S_DATE TYPE D VALUE 19991203.Example 2: DATA: BEGIN OF PERSON, NAME(10) TYPE C, AGE TYPE I,

3、WEIGHT TYPE P DECIMALS 2, END OF PERSON.另外,有关DATA宣告的指令还有: CONSTANTS(宣告常数)、STATICS(临时变量宣告).3. 系统专用变量说明系统内部专门创建了SYST这个STRUCTURE,里面的字段存放系统变量,常用的系统变量有: SY-SUBRC : 系统执行某指令后,表示执行成功与否的变量,0 表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code SY-INDEX : 当

4、前LOOP循环过的次数SY-TABIX: 当前处理的是internal table 的第几笔SY-TMAXL: Internal table的总笔数SY-SROWS: 屏幕总行数;SY-SCOLS: 屏幕总列数;SY-MANDT: CLIENT NUMBER SY-VLINE: 画竖线 SY-ULINE: 画横线附注:1. SAP的全称是: System Application Products in Data Processing;2. ABAP/4的全称是:Advanced Business Application Programming;3. ABAP/4的路径为:Tools ABAP/

5、4 WorkBenchABPA/4 Editor ;4. ABAP/4每条语句以句号结束;5. ABAP/4中象= , ,+,-,*,/等符号左右都需要有至少一个空格;6. 整行注释用*号, 注释本行后面部分用”号;OUTPUTTING DATA TO SCREEN一. WRITE 语句ABAP/4用来在屏幕上输出数据的指令是WRITE指令,例如: WRITE: USER NAME IS:, SY-UNAME.二. 指定屏幕输出位置指定输出位置的语句格式为: WRITE: AT / () 资料项 其中: / : 在下一行输出: 指定输出的行号;():指定输出位数(长度): 指定显示格式参数,参

6、数有: LEFT-JUSTIFIED 资料靠左对齐 CENTERED 资料靠中间对齐 RIGHT-JUSTIFIED 资料靠右对齐 UNDER 正对在资料项的下面显示 NO-GAP 紧接着显示,不留空格 USING EDIT MASK : 使用内嵌子元显示, 如 12:03:20 USING NO EDIT MASK: 不使用内嵌子元 NO-ZERO: 数字前面 0 的部分不显示 NO-SIGN: 不显示正负号 DECIMALS : 显示 位小数 EXPOENT : F(浮点数)指数的值 ROUND : 四舍五入至小数点后位 CURRENCY : 币别显示 DD/MM/YY : 日期显示格式

7、MM/DD/YY: YY/MM/DD: YY/DD/MM MM/DD/YYYY: DD/MM/YYYY YYYY/MM/DD: YYYY/DD/MM:例如1: WRITE: /10(6) ABCDEFGHIJK.输出结果为: ABCDEF例如2: DATA: X TYPE I VALUE 11:20:30, A(5) TYPE C VALUE AB CDE. WRITE: / X USING EDIT MASK _:_:_. WRITE: / X USING EDIT MASK $_,_. WRITE: / Y NO-GAP.输出结果为: 11:20:30 $112,030 ABCDEF4.

8、显示图标:语法: WRITE: AS SYMBOL. WRITE: AS ICON.例如: INCLUDE . INCLUDE .WRITE: / Phone symbol:, SYM_PHONE AS SYMBOL.WRITE: / Alarm Icon:, ICON_VOICE_OUTPUT AS ICON.要查看系统所提供有那些符号及图标,可选择EDIT下的Insert Statement,选择Write,接下来选择要查看的群组,如SYMBOL 或ICON, 接下来按Display即可. INTERNAL TABLE1. Internal Table 的宣告ABAP/4中的Interna

9、l Table是一种Data Structure,类似于其它语言中的STRUTURE,它可以由几个不同类型的字段(field)组成,用来表示具有不同属性的某一事物,单独一笔数据表示某个事物,多笔数据表示具有相同属性的多个事物.例如:为了存取或记录某班的同学资料,我们创建如下的internal table:DATA: BEGIN OF STUDENT OCCURS 20, STD_ID TYPE N, NAME(10) TYPE C, AGE TYPE I, BIRTH TYPE D, SCORE TYPE P DECIMALS 2, END OF STUDENT.此时我们已经创建了名叫STUD

10、ENT的internal table,并且为它预先申请了能够存放20笔资料的Buffer(当然,如果存取资料不止20笔,程序执行时,会自动申请系统Buffer)Internal table 的定义有以下几种格式:格式一. DATA: BEGIN OF OCCURS , TYPE , TYPE , TYPE , END OF .格式二. TYPES: BEGIN OF , TYPE , TYPE , TYPE , END OF . TYPES TYPE OCCURS .格式三. DATA: BEGIN OF . INCLUDE STRUCTURE . DATA: END OF . DATA: L

11、IKE OCCURS .2. APPEND LINE格式: APPEND TO .举例一. (使用work area)DATA: BEGIN OF LINE, COL1 TYPE I, COL2 TYPE I, END OF LINE.DATA ITAB LIKE LINE OCCURS 10.DO 2 TIMES. LINE-COL1 = SY-INDEX. LINE-COL2 = SY-INDEX * 2. APPEND LINE TO ITAB.ENDDO.LOOP AT ITAB INTO LINE. WRITE: / LINE-COL1, LINE-COL2.ENDLOOP.执行结果

12、为:1 12 4举例二. (不使用work area) DATA: BEGIN OF ITAB OCCURS 10, COL1 TYPE I, COL2 TYPE I, END OF ITAB. DO 2 TIMES. ITAB-COL1 = SY-INDEX. ITAB-COL2 = SY-INDEX * 2. APPEND ITAB. ENDDO. LOOP AT ITAB. WRITE: / ITAB-COL1, ITAB-COL2. ENDLOOP. 执行结果与举例一相同.举例三. (加入另一个Internal table的元素) 格式: APPEND LINES OF FROM TO

13、 TO . 将的元素加入至中,可选取自至的范围. APPEND LINES OF ITAB TO JTAB.3. COLLECT LINECOLLECT 指令也是将元素加入Internal table中,与APPEND 的区别是: COLLECT指令在非数值字段相同的情况下,将数值字段汇总.格式: COLLECT INTO DATA: BEGIN OF ITAB OCCURS 3, COL1(3) TYPE C, COL2 TYPE I, END OF ITAB. ITAB-COL1 = ABC. ITAB-COL2 = 10. COLLECT ITAB. ITAB-COL1 = XYZ. I

14、TAB-COL2 = 20. COLLECT ITAB. ITAB-COL1 = ABC. ITAB-COL2 = 80. COLLECT ITAB.此时, internal table中放的是2笔数据, 分别为: ITAB-COL1 ITAB-COL2 ABC 90 XYZ 204. INSERT LINE将元素插入在指定的internal table位置之前.格式: INSERT INTO INITIAL LINE INTO INDEX 或者: INSERT LINES OF FROM TO INTO INDEX 其中: 即work area,工作区中的元素.INITIAL LINE IN

15、TO :插入一笔初始化的记录.: internal tableINDEX : internal table 的记录号.(新加入的元素放在此记录前面)5. 读取internal table格式一: LOOP AT INTO FROM TO WHERE ENDLOOP.格式二:READ TABLE INTO INDEX / WITH KEY 举例. (格式二)DATA: BEGIN OF ITAB OCCURS 10, COL1 TYPE I, COL2 TYPE I, END OF ITAB. DO 10 TIMES. ITAB-COL1 = SY-INDEX. ITAB-COL2 = SY-I

16、NDEX * 2. APPEND ITAB.ENDDO.READ TABLE ITAB INDEX 3.(或者: READ TABLE ITAB WITH KEY COL1 = 3.)WRITE: / ITAB-COL1 = , ITAB-COL1, ITAB-COL2 = , ITAB-COL2.执行结果同样是: ITAB-COL1 = 3ITAB-COL2 = 6.6. 修改internal table 中的值格式: MODIFY FROM INDEX TRANSPORTING WHERE 举例一. READ TABLE ITAB INDEX 3. LINE-COL1 = 29. MODI

17、FY ITAB FROM LINE TRANSPORTING COL1. 将第三笔记录的COL1字段的值修改为29.举例二. T_SALARY salary = 50. MODIFY T_SALARY TRANSPORTING salary WHERE birthday = 1999/12/06.7. DELETE internal table中的字段格式: DELETE INDEX .或: DELETE FROM TO WHERE 8. Internal table 排序 SORT BY 其中: 有DESCENDING 和ASCENDING, Default 为ASCENDING. : 为指

18、定排序的字段.9. 加总SUM.总和计算存放与work area中,但只能在LOOP 中使用.例: LOOP AT ITAB INTO LINE. SUM. ENDLOOP. WRITE: / LINE-COL1, LINE-COL2.10. 初始化internal tableREFRESH . 清空中的值.CLEAR . 清空的Header Line.FREE . 释放记忆体空间.屏幕输入命令 在ABAP/4中要从屏幕输入变量, 使用的命令是 PARAMETERS 及SELECTION-OPTIONS: 1. PARAMETER: 输入一个变量 2. SELECTION-OPTIONS: 使

19、用条件筛选画面来输入数据 一. PARAMETERS 指令基本的输入命令, 类似如BASIC的INPUT命令, 但无法使用F格式(浮点数) 语法: PARAMETERS DEFAULT LOWER CASE OBLIGATORY AS CHECKBOX RADIOBUTTON GROUP Example: PARAMETERS: NAME(8), AGE TYPE I, BIRTH TYPE D. 执行结果: 在日期的输入格式上为 MM/DD/YY , MM/DD/YYYY, MMDDYY或MMDDYYYY , 如输入 020165表 1965年02月01日, 与02/01/65的输入是一样的

20、, 日期输入范围为公元1950年至2049年1. DEFAULT 设定输入的默认值Example: PARAMETERS: COMPANY(20) DEFAULT DELTA, BIRTH TYPE D DEFAULT 19650201.2. LOWER CASE ABAP/4预设是将字符串输入值自动转换为大写, 加上此参数会将输入的资料转成小写, 3. OBLIGATORY强制要求输入, 屏幕上会出现一个 ? , 使用者必须要输入才可.4. AS CHECKBOX 输入 CHECKBOX的格式 Example: PARAMETERS: TAX AS CHECKBOX DEFAULT X, N

21、TD AS CHECKBOX. 执行结果: 5. RADIOBUTTON GROUP 输入 RADIO BUTTON GROUP 的方式 Example: PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT X, GIRL RADIOBUTTON GROUP SEX. 执行结果:二. SELECTION-OPTIONS SELECTION-OPTIONS所输入的值实际上是放在internal table中的,该Internal table 有四个字段,分别是:SIGN,OPTION,LOW,HIGH. 条件筛选检查条件输入画面指令, 输入条件后可配合SE

22、LECT指令自TABLE读取符合条件的资料, 直接执行或放入 Internal Table中, 条件有四个参数:1. SIGN: I: 表筛选条件符合的资料 E: 表筛选条件不符合的资料2. OPTION: 比较的条件符号 EQ(等于),NE(不等于),GT(大于),LE(小于),CP(包含),NP(不包含)3. LOW: 最小值4. HIGH: 最大值 语法: SELECTION-OPTIONS FOR Example: TABLES SPFLI. SELECTION-OPTIONS AIRLINE FOR SPFLI-CONNID.将条件的输入值存放入 AIRLINE, 筛选选择为SPFL

23、I中的CONNID字段执行结果:可直接输入起始范围或按下选择画面, 输入完后按下左上角的执行键 三. 条件输入选择画面1. 自Table中选取按下输入项的右边往下箭头, 叫出Table中资料项, 选取开始和结束的范围2. Selection Options按下”Selection options”按键, , 输入Option及 Sign参数内容, 屏幕如下: 3.Multi-Options输入 按下最右边的Multi-Options输入键, 输入条件选取的范围, 画面如下: 条件输入完后按下”Copy”按键四. 改变条件输入格式1. DEFAULT TO 设定开始结束范围输入默认值 Examp

24、le: SELECTION-OPTION AIRLINE FOR SPFLI-CONNID DEFAULT 2042 TO 4555.2. NO-EXTENSION设定不要Multi-Option输入画面3. NO INTERVALS设定不要区间范围输入画面4. LOWER CASE输入转换成大写5. OBLIGATORY强制要求输入 五. 配合 SELECT 命令 条件输入完后要将符合条件的资料筛选出来, 可配合使用 SELECT 指令 1.使用WHERE Example: SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID. SELECT * FROM SPFL

25、I WHERE CONNID IN AIRLINE. WRITE: / CONNID,FROMCITY,TOCITY. ENDSELECT.2.使用CHECK参数Example: SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID. SELECT * FROM SPFLI. CHECK AIRLINE. WRITE: / CONNID,FROMCITY,TOCITY. ENDSELECT. 3.使用 IF IN 叙述 Example: SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID. SELECT * FROM SPFLI. IF S

26、PFLI-CONNID IN AIRLINE. WRITE: / CONNID,FROMCITY,TOCITY. ENDIF ENDSELECT. 六. SELECTION-SCREEN 1.产生空白列语法: SELECTION-SCREEN SKIP Example: SELECTION-SCREEN SKIP 2. 产生两列空白列 2.产生底线语法: SELECTION-SCREEN ULINE / (length) Example: SELECTION-SCREEN ULINE /10(30). 自第10格开始产生长度30的底线 3.印出备注说明 语法: SELECTION-SCREEN

27、 COMMENT / (length) Example: REMARK = Pls enter your name. SELECTION-SCREEN COMMENT /10(30) REMARK. 4. 同一列中输入数个资料项语法: SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN END OF LINE. Example: SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 20. PARAMETERS NAME(10). SELECTION-SCREEN POSITION 40. PARAMETERS

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

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