ABAP:从例子学习ABAP

1、插入内表行:

*插入内表行:
DATA: BEGIN OF man, name(20) TYPE c, high TYPE p DECIMALS 2, weight TYPE p DECIMALS 2, END OF man. DATA: man1 LIKE TABLE OF man. man-name = '张参'. man-high = '1.68'. man-weight = 120. INSERT man INTO TABLE man1. man-name = '刘志'. man-high = '1.78'. man-weight = 160. INSERT man INTO TABLE man1. LOOP AT man1 INTO man. WRITE: / man-name,man-high,man-weight. ENDLOOP. ULINE. man-name = '钱华'. man-high = '2.22'. man-weight = 220. INSERT man INTO man1 INDEX 3. LOOP AT man1 INTO man. WRITE: / man-name,man-high,man-weight. ENDLOOP. ULINE. man-name = '钱华'. man-high = '2.22'. man-weight = 220. INSERT man INTO man1 INDEX 1. LOOP AT man1 INTO man. WRITE: / man-name,man-high,man-weight. ENDLOOP.

2、读取文件

*读放文件
DATA: BEGIN OF man, name(20) TYPE c, high TYPE p DECIMALS 2, weight TYPE p DECIMALS 2, END OF man. DATA: man1 LIKE TABLE OF man. CALL FUNCTION 'UPLOAD' EXPORTING codepage = 'test' filename = 'd:\temp\testa.txt' filetype = 'dat' item = '读取文件' TABLES data_tab = man1 EXCEPTIONS invalid_filesize = 1 invalid_table_width = 2 invalid_type = 3 no_batch = 4 unknown_error = 5 gui_refuse_filetransfer = 6 OTHERS = 7. IF sy-subrc <> 0. * message id sy-msgid type sy-msgty number sy-msgno * with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. LOOP AT man1 INTO man. WRITE: / man-name,man-high,man-weight. ENDLOOP.

3、保存文件

*保存文件
DATA: BEGIN OF man, name(20) TYPE c, high TYPE p DECIMALS 2, weight TYPE p DECIMALS 2, END OF man. DATA: man1 LIKE TABLE OF man. DATA: name TYPE rlgrap-filename, typa TYPE rlgrap-filetype. man-name = '张参'. man-high = '1.68'. man-weight = 120. INSERT man INTO TABLE man1. man-name = '刘志'. man-high = '1.78'. man-weight = 160. INSERT man INTO TABLE man1. man-name = '钱华'. man-high = '2.22'. man-weight = 220. INSERT man INTO man1 INDEX 2. name = 'd:\temp\testad.txt'. typa = 'dat'. CALL FUNCTION 'DOWNLOAD' EXPORTING codepage = 'testa' filename = name filetype = typa item = '文件测试' TABLES data_tab = man1 EXCEPTIONS invalid_filesize = 1 invalid_table_width = 2 invalid_type = 3 no_batch = 4 unknown_error = 5 gui_refuse_filetransfer =6 OTHERS = 7. IF sy-subrc <> 0. * message id sy-msgid type sy-msgty number sy-msgno * with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.

4、格式化输出

DATA wa LIKE spfli.
WRITE:/.

WRITE:10'航班承运人',40'航班连接',60'国家代码',80'起飞城市',100'起飞机场'.

5、内表排序

*内表排序
DATA: BEGIN OF man, name(20) TYPE c, high TYPE p DECIMALS 2, weight TYPE p DECIMALS 2, END OF man. DATA: man1 LIKE hashed TABLE OF man with unique key name. man-name = '张参'. man-high = '1.68'. man-weight = 120. INSERT man INTO TABLE man1. man-name = '刘志'. man-high = '1.78'. man-weight = 160. INSERT man INTO TABLE man1. man-name = '钱华'. man-high = '2.22'. man-weight = 220. INSERT man INTO table man1. LOOP AT man1 INTO man. WRITE: / man-name,man-high,man-weight. ENDLOOP. ULINE. sort man1 ascending by weight descending . skip. uline. LOOP AT man1 INTO man. WRITE: / man-name,man-high,man-weight. ENDLOOP.

6、消息

*消息
*--开始
*DATA: msg1(20) TYPE c VALUE '测试'. *DATA: msg2(20) TYPE c VALUE 'ABAP'. *DATA: msg3(20) TYPE c VALUE '消息!'. * *MESSAGE i006(ymess) WITH msg1 msg2 msg3. * *data:BEGIN OF man, * name(30) TYPE c, * high TYPE p DECIMALS 2, * weight TYPE p DECIMALS 2, *END OF man. * *FIELD-SYMBOLS <fsa> LIKE man. *DATA man1 LIKE man. * *man-name = '雨荷'. *man-high = '1.78'. *man-weight = 140. * *ASSIGN man TO <fsa>. *WRITE:/ <fsa>-name, * man-high, *<fsa>-weight. *--结束 *--开始 *DATA: msg1(20) TYPE c VALUE '测试'. *DATA: msg2(20) TYPE c VALUE 'ABAP'. *DATA: msg3(20) TYPE c VALUE '消息!'. * *MESSAGE i001(00) WITH msg1 msg2 msg3. * * *DATA: c1(2) TYPE c, * c2(2) TYPE c, * c3(2) TYPE c, * c4(2) TYPE c, * c5(20) TYPE c VALUE '91* 12*23*344445', * c9(2) TYPE c. * *c9 = '* '. *WRITE: / . *WRITE c5. *SPLIT c5 AT c9 INTO c1 c2 c3 c4 . *WRITE: / c1,c2,c3,c4. *--结束 *--开始 *DATA: msg1(20) TYPE c VALUE '测试'. *DATA: msg2(20) TYPE c VALUE 'ABAP'. *DATA: msg3(20) TYPE c VALUE '消息!'. * *MESSAGE i001(00) WITH msg1 msg2 msg3. * * *DATA: BEGIN OF man, * name(20) TYPE c, * high TYPE p DECIMALS 2, * weight TYPE p DECIMALS 2, *END OF man. * *DATA: man1 LIKE TABLE OF man WITH HEADER LINE, *man2 LIKE TABLE OF man. * *man-name = '张参'. *man-high = '1.68'. *man-weight = 120. *APPEND man TO man1. * *man-name = '刘志'. *man-high = '1.78'. *man-weight = 160. *APPEND man TO man1. * *MOVE man1[] TO man2. * * * WRITE: / man-name,man-high,man-weight. * * *LOOP AT man1. *write: / man1-name,man1-high,man1-weight. *ENDLOOP. *--结束

猜你喜欢

转载自www.cnblogs.com/miaosj/p/10384232.html