1、 2.输入程序名称, 如果是新程序, 按下”Create”, 如果修改已存在程序, 则按下”Change”或F6键 在命名规则上, Reports程序为 Yaxxxxxx或Zaxxxxxx, a表application module简称, 如s表SD Dialog程序为SAPMYxxx或SAPMZxxx 3.输入程序Attribute (1).Title:程序描述或功能说明 (2).Type:Execute mode: 1: Stand-along Program 如Reports I: Include Program M: Module Pool F: Function Group S: S
2、ubroutine Pool(3).Status:Program development status: P: SAP standard production program K: Customer production program System program T: Test program(4).Application: 程序所属的application module, 如F表 Financeial acounting(5).Development class: 用于同一系统中各个program, 如果不属任一class, 可使用$TMP 4.撰写Source CodeProgram
3、之后接的是程序名称, Write 是显示的意思, 会将所接的字符串在屏幕上显示, 注意每一行最后要有一个 . (点), 表示叙述的结束, 储存后回ABAP/4 Editor画面 5. 执行程序 按”Execute”或F8键, 屏幕可见执行所得的结果重要的编辑键 key Function F8F5F11CTRL+F11执行程序复制游标所在列的内容储存档案删除游标所在列2.2 ABAP/4 Data Element Data Type ABAP/4 的数据型态可分成: Type Length Range Initial Value DescriptionC 1 1-65535Byte Space
4、字符串数据, 如Program D 8 8Byte 00000000 日期数据, 格式为YYYYMMDDF 8 8Byte 0 浮点数 I 4 -231至231-1 0 整数N 1 1-65535Byte 000 数值所组成的字符串 P 8 1-16Byte 0 Packed 数, 用在小数点数 T 6 6Byte 000000 时间数据, 格式为HHMMSSX 1 1-65535Byte X00 16进位数变量宣告 变量宣告包含 name, type, length 和 structure四个部分, 使用 DATA 指令, 如 DATA: S1 TYPE I, SUM TYPE I.常数宣告
5、 常数宣告使用 CONSTANTS 指令, 如宣告 PI 是一个小数点5位的值 3.14159, CONSTANTS PI TYPE P DECIMALS 5 VALUE 3.14159.CONSTANTS一样支持链语句系统所定义数据 这是由系统所定义的专有名辞, 如 SPACE 空白字符串 SY-SUBRC 系统执行传回值, 0 表示成功 SY-UNAME logon 账号 SY-DATUM 系统日期 SY-UZEIT 系统时间 SY-TCODE 目前的transaction code SY-COLNO 用于当前列 SY-LINNO 用于当前行 SY-LISEL 选定行内容SY-LISEL
6、主要从系统字段中检索下列信息:列表的索引 、输出窗口中列表的位置和光标的位置TYPE 叙述 用来指定数据型态或宣告自定数据型态 Example: TYPES: BEGIN OF MYLIST, NAME(10) TYPE C, NUMBER TYPE I, END OF MYLIST. DATA LIST TYPE MYLIST.TYPE 与 TYPES是不同的,TYPE用来引用TYPES语句定义的结构,TYPES 与 DATA也是有区别的,TYPES用来创建用户定义的基本数据类型和结构数据类型LIKE 叙述 跟TYPE叙述使用格式相同, 如 DATA TRANSCODE LIKE SY-TC
7、ODE. 不同的是 LIKE 用在已有值的数据项, 如系统变量, 而TYPE叙述则是用在指定数据型态。DATA 叙述 语法: DATA value : 变量名称, 最长30个字符, 不可含有 + . , : ( ) 等字符 数据型态及长度, 如 LINE(20) TYPE C. MYNAME LIKE SY-UNAME. 初值 小数位数 COUNTER TYPE P VALUE 1, FLAG TYPE C VALUE IS INITIAL, WEIGHT TYPE P DECIMALS 2 VALUE 1.25.字段变量的宣告: BEGIN OF ADDRESS, NAME(10) TYPE
8、 C , NUMBER TYPE P, END OF ADDRESS.使用时用字段变量加上组件名称, 如 ADDRESS-NAMECONSTANTS 叙述 用来宣告常数 CONSTANTS CONSTANTS: CNAME(10) VALUE 周庆日, BIRTH_DAY TYPE D VALUE 19650201.STATICS 叙述 宣告的变量仅在目前的程序中使用, 结束后会自动释放 STATICS TABLES 叙述 用来宣告 Table Work Area 的数据, 对映至 ABAP/4 资料文件(Dictionary Object), 由SQL 指令加载所需数据 TABLES TAB
9、LES: SPFL. SELECT * FROM SPFL. WRITE: SPFL-MANDT, SPFL-CARRID,SPFL-CONNECTION. ENDSELECT. 从ABAP/4 Dictionary 的 SPFL 档载入MANDT,CARRID,CONNECTION三个字段至 SPFL 此Table Work Area 实际上TABLES 定义的是系统表的在本地的工作区,注意是工作区不是内表2.3 Outputting Data to Screen Write 叙述 ABAP/4 用来在屏幕上输出数据的指令是 Write 指令 Write 资料项 数据项可以是常数或变量, 如
10、: WRITE This is sample. COMPANY:,STFL-CARRID.对 WRITE 语句,可以 使用不同的 格式化选项 。语法WRITE . . 所有数据类 型的格式化 选项选项 用途LEFT-JUSTIFIED 输出左对齐。 CENTERED 输出居中。RIGHT-JUSTIFIED 输 出右对齐。 UNDER 输出 直接开始于 字段 下。NO-GAP 忽略字段 后的空格。 USING EDIT MASK 指定 格式模板 。USING NO EDIT MASK 撤消对ABAP/4词典中指定的格式模板 的激活。NO-ZERO 如果字段仅包含零,则用 空格代替它 们。对类型
11、 C和N字段,将自动代替前导 零。数字字段的格式化选项选项用途NO-SIGN不输出前导符号。DECIMALS 定义小数点 后的数字位 数。EXPONENT 在类 型 F 字段中,在 中定义幂数 。ROUND 用10*(-r) 乘类型P 字段,然后 取整。CURRENCY 按表 格 TCURX 中的货币 格式化。UNIT 按表 格 T006 中为类型 P 字段所指定 的单位 指定屏幕位置显示 Write AT / () 资料项 / : 先往下一列 pos : 屏幕X轴坐标 (len): 显示资料的长度 WRITE First Line . WRITE / 6 Second Line. 输出结果:
12、 First Line Second Line NUMBER TYPE I VALUE 1234567890. TEXT(10) VALUE ABCDEFGHIJ. (5) NUMBER, /(6) TEXT. *7890 ABCDEF指定显示格式 WRITE 资料项 显示格式参数: LEFT-JUSTIFIED 资料靠左显示 CENTERED 资料靠中间显示 RIGHT-JUSTIFIED 资料靠右显示 在资料项的X轴开始坐标显示 NO-GAP 紧接着显示, 不留空格 使用内嵌字符显示, 如 11:20:30 USING NO EDIT MASK 不使用内嵌字符 NO-ZERO 数字前面0
13、的部分不显示 NO-SIGN 不显示正负号 DECIMALS 显示 d 位小数字数 EXPONENT F(浮点数) exponent 的值 ROUND 四舍五入至小数位数下 r 位 CURRENCY 币别显示 DD/MM/YY 日期显示格式 MM/DD/YY DD/MM/YYYY MM/DD/YYYY DDMMYY MMDDYY YYMMDD X TYPE I VALUE 112030, A(5) VALUE ABCDE. WRITE X USING EDIT MASK _:_:_. 输出结果为 11: WRITE X USING EDIT MASK $_,_ 输出结果为 $112,030产生
14、空白列 产生 n 个空白列 SKIP WRITE PASS1. SKIP. WRITE PASS2. 输出结果为: PASS1 PASS2显示图示 可以显示R/3 系统所提供的符号或图标 WRITE AS SYMBOLicon-name AS ICON INCLUDE ICON / Phone Symbol: , SYM_PHONE AS SYMBOL. / Alarm Icon: , ICON_ALARM AS ICON. 执行结果: 要查看系统所提供有那些符号及图标, 可选择 “Edit” 下的 “Insert Statement”, 选择 “WRITE” 接下来选择要查的群组, 如SYM
15、BOL 或 ICON, 按下 “Display” 即可.跳至指定列坐标 将坐标跳至指定的Y轴列坐标 SKIP TO LINE AS CHECKBOX. FLAG1 VALUE . FLAG2 VALUE X.* / CHECK FLAG 1: , FLAG1 AS CHECKBOX. / CHECK FLAG 2: , FLAG2 AS CHECKBOX.2.4 Processing DataAssign Value MOVE TO 将F1的值存至变数 F2 中, 也可写成 F2 = F1 M_NAME = CHER.使用 Offset + TO F1(10) VALUE ABCDEFGHIJ
16、. F2(5). F2 = F1+3(5). “自第4个位置开始取出5个字符 F2 的内容会变成 DEFGH Field String 组件的复制 MOVE CORRESPONDING String2. 将Strings1中的field组件的数据复制至String2中, 仅复制相同名称的组件 BEGIN OF ADDRESS, FIRSTNAME(10) VALUE LULU, LASTNAME(10) VALUE CHOU, TEL(12) VALUE 4660570,BEGIN OF NAME, FIRSTNAME(10), LASTNAME(10), E_MAIL(30), END OF
17、 NAME. MOVE-CORRESPONDING ADDRESS TO NAME. NAME-FIRSTNAME 变成 LULU, NAME-LASTNAME 变成 CHOU, 而 NAME-E_MAIL 则不变变量 CALL BY VALUE 的使用 在变量的使用上, 可以使用类似Call By Value 的方法 WRITE () TO NAME(20) VALUE SOURCE, SOURCE(10) VALUE LILY, TARGET(10). WRITE (NAME) TO TARGET. WRITE / TARGET. 屏幕可印出 LILY清除变量内容 CLEAR 0 1 if
18、 N = 0 -1 if N 03. CEIL(N): 传回大于数值N的最小整数 WRITE CEIL(-5.65) 印出 5.00 WRITE CELL(4.54) 印出 5.004. FLOOR(N): 传回小于数值N的最大整数 WRITE FLOOR(-5.65) 印出 6.00 WRITE FLOOR(4.54) 印出 4.005. TRUNC(N): 传回数值N的整数部分 WRITE TRUNC(5.65) 印出 5.006. FRAC(N): 传回数值 N 的小数部分 WRITE FRAC(5.65) 印出 0.657. COS(A),SIN(A),TAN(A): 传回三角函数 c
19、os A, sin A, tan A 的值, A 为弪度量8.EXP(N): 传回 eN 值8. LOG(N): 传回 log eN 值9. LOG10(N): 传回 log N值10.SQRT(N): 传回 N 的平方根值日期与时间运算 1.日期数据的运算 日期数据可以直接运算, 如加法与减法的运算 Mdata TYPE D. Mdate = SY-DATUM. “ 如传回 19971015 Mdate+6(2) = 01 “ Mdate 变成 19971001 Mdate = Mdate - 1 “ Mdate 变成 19970931 2.时间数据的运算时间格式为 hhmmss, 如 21
20、2030 表 21:30Example: HOURS TYPE I, MINUTES TYPE I, T2 TYPE T VALUE 200000, T1 TYPE T VALUE 183000. HOURS = (T2 - T1) / 3600. “计算有几小时 MINUTES = (T2 T1) / 60. “计算几分钟字符串数据处理1.字符串移位 SHIFT BY PLACES : (1).空白, 字符串往左移一位 (2).LEFT, 字符串往左移 n 位 (3).RIGHT, 字符串往右移 n 位 (4).CIRCULAR: 字符串以环状方式移位 DATA STRING(10) VALUE ABCDEFGHIJ. SHIFT STRING. “得到 BCDEFGHI SHIFT STRING BY 2 PLACES RIGHT. “得到 ABCDEFGH2.取代字符串内容 REP
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1