1. 引用类型z_ref数据对象myref在程序中的声明方式:
DATA myref TYPE z_ref.
CREATE DATA myref TYPE z_ref.
2. 参照数据字典中的表类型生成内表对象或结构体:
DATA mytable TYPE z_table,”数据字典表类型,声明内表.
myline TYPE LINE OF z_table.”表类型的行结构,声明结构体.
3. 取系统日期:SY-DATUM,
4. 取系统时间:SY-UZEIT.0
5. 系统字段定位:SY-FDPOS.字符比较结果为真时,此字段将给出偏移量信息.
6. 系统字段SY-FDPOS给出字符的位置信息.(P109)
7. 系统字段SY-INDEX记录循环语句中的循环次数
8. 操作内表行结束后系统字段SY-TABIX返回该行索引.对于所有行操作,如果操作成功,系统变量SY-SUBRC返回0,否则返回非0值.
9. 系统用户名:SY-UNAME.
10. SY-HOST?屏幕序号:sy-dynnr.
11. OK代码:SY-UCOMM或SYST-UCOMM
12. 屏幕组ID:SY-DYNGR.
13. 常量声明:CONSTANT const(len) TYPE type|LIKE dobj [DECIMALS dec] [VALUE val].
14. 确定数据对象属性ESCRIBE FIELD f [LENGTH l] [TYPE t [CONPONENTS n]] [OUTPUT-LENGTH o] [DECIMALS d] [EDIT MASK m] [HELP-ID h].
15. 数据赋值:MOVE source TO destination.或destination = source.
16. 设定初始值:CLEAR F.
17. 检查字段是否为初始值:f IS INITIAL….
18. 检查字段是否被分配:fs IS ASSIGNED…..
19. 检查过程中的参数是否被实参填充:p IS [SUPPLIED|REQUESTED]….
20. 检查数据对象的值是否属于某范围之间:f1 BETWEEN f2 AND f3…..
21. 检查数据对象f的内容是否遵从某个选择表的逻辑条件:f in seltab….
22. WRITE: /10 g,”在10个空格后输出变量g
/(8) time using edit mask ‘__:__:__’.”输出的变量time保持8位的长度.
23. 将光标移动到下一行:SKIP.
24. 强制结束循环:EXIT,STOP或REJECT.
25. 循环的中止:CONTINUE无条件中止当前循环并开始下一轮循环,CHECK条件为真时循环,为假时结束本次循环并开始下一轮循环,EXIT无条件中止并退出整个循环.
26. 将字符串左移:SHIFT string.
27. 连接字符串:CONCATENATE s1 s2 …..sn INTO s_dest [SEPARATED BY sep].如果结果出现被截断的情况,将SY-SUBRC返回4,否则返回0.符号&用于在字字符串换行时的连接.
28. 根据分隔符sep拆分字符串:SPLIT s_source AT sep INTO s1 s2 ……sn.使用内表操作可以避免被截断的情况:SPLIT s_source AT sep INTO TABLE itab.此语句根据子串数目生成n行的内表.
29. 循环输出内表的每一行数据OOP AT itab INTO text.ENDLOOP.
30. 替换字段内容:REPLACE str1 WITH str2 INTO s_dest [LENGTH len]. 字段SY-SUBRC的返回值为0时表示己成功替换.
31. 确定字段长度:[COMPUTE] n = STRLEN( str ).
32. 删除字符串中的多余空格:CONDENSE
33. 字符转换,如将ABC转换为abc:TRANSLATE
34. 创建一个可以排序的格式:CONVERT TEXT.
35. 用一个字符串覆盖另一个字符串:OVERLAY
36. WRITE TO赋值时将忽略数据对象的类型,而将其视为字符类型数据.
37. 字符串比较中的换码字符:#,用于转换比较时使用的通配符:*或+.及进行区分大小写,空格的比较,如#A表示比较大写的A.
38. 定位操作子串:strName[+0][(1)].
39. 字段符号,数据引用:动态数据对象.
40. 子过程定义:FORM subroutine_name USING parameters1 parameters2…. ….ENDFORM.
41. 子程序调用ERFORM subroutine_name USING actual_parameters1 p2…. (其中USING可换成CHANGING)
42. ULINE.输出下划线.
43. 错误查看:ST22
44. 程序打包release:SE01:找到对应的程序,点开后点上面小汽车,再选中上面的后再点小汽车.点check.程序修改后需要重新打包.
45. 制作T-CODE:SE93,TCODE应按顺序编号:ZMF+流水号,我的程序名
46. 创建table:t-code:se11,attributeselivery class:C.开发类别:ZFI,当自定义Field type时,名称需为Z+…..格式.->设置技术属性(Technical Setting)ogical storage parameters中Data class:APPL1,Size category:4à创建function group:SE80,创建好后将创建的TABLE挂接到function grouph上去:用se11查出table,点utilites->table maintenance generator:Authorization groups:&NC&,Function group中填刚才创建的功能组名称->one step->overview screen中必须填未使用的number,此处screen number与table是一一对应的关系,也可让点系统上面的按钮:find screen number来自动搜索适合的scr. Number.->create,成功后,找到对应的function group中的screen number双击即可看到生成的代码.需要修改域名可在function group中的element list或layout中.–>se93创建t-code,start object选transaction with parameters(parameter transaction)->default values for->transantion:SM30->Default Values->name of screen field:viewname\update,value:table name\X.
47. field-sign:,field—option:,field-low:表示选择条件中起始值
48. 在where子句中如果只有一个表的话,可以不用指定表名.
49. 获取用户IP地址及用户名:
call function ‘TH_USER_INFO’ ” Get user IP,hostname
importing
hostaddr = iporg”转化前的IP地址
terminal = host”计算机名
exceptions
others = 1.
“Conv.IP addr to format ‘xxx.xxx.xxx.xxx’
call function ‘ZGJ_IPADR2STRING’ “Conv.IP addr
exporting
ipadr = iporg”转化前的IP地址
importing
string = ipdec.”转化后的最终需要的IP地址
50.删除内表中数据完全相同的行,只保留一行: delete adjacent duplicates from itab1 COMPARING / COMPARING ALL FIELDS.
51. spro:后台设定
52. 输出选择框write:/ itab1-flag as checkbox