从实例学SAP ABAP编程119章代码15章.docx

上传人:b****3 文档编号:4740754 上传时间:2023-05-07 格式:DOCX 页数:21 大小:18.30KB
下载 相关 举报
从实例学SAP ABAP编程119章代码15章.docx_第1页
第1页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第2页
第2页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第3页
第3页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第4页
第4页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第5页
第5页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第6页
第6页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第7页
第7页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第8页
第8页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第9页
第9页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第10页
第10页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第11页
第11页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第12页
第12页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第13页
第13页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第14页
第14页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第15页
第15页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第16页
第16页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第17页
第17页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第18页
第18页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第19页
第19页 / 共21页
从实例学SAP ABAP编程119章代码15章.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

从实例学SAP ABAP编程119章代码15章.docx

《从实例学SAP ABAP编程119章代码15章.docx》由会员分享,可在线阅读,更多相关《从实例学SAP ABAP编程119章代码15章.docx(21页珍藏版)》请在冰点文库上搜索。

从实例学SAP ABAP编程119章代码15章.docx

从实例学SAPABAP编程119章代码15章

插入内表行:

DATA:

BEGINOFman,

name(20)TYPEc,

highTYPEpDECIMALS2,

weightTYPEpDECIMALS2,

ENDOFman.

DATA:

man1LIKETABLEOFman.

man-name='张参'.

man-high='1.68'.

man-weight=120.

INSERTmanINTOTABLEman1.

man-name='刘志'.

man-high='1.78'.

man-weight=160.

INSERTmanINTOTABLEman1.

LOOPATman1INTOman.

WRITE:

/man-name,man-high,man-weight.

ENDLOOP.

ULINE.

man-name='钱华'.

man-high='2.22'.

man-weight=220.

INSERTmanINTOman1INDEX3.

LOOPATman1INTOman.

WRITE:

/man-name,man-high,man-weight.

ENDLOOP.

读放文件

DATA:

BEGINOFman,

name(20)TYPEc,

highTYPEpDECIMALS2,

weightTYPEpDECIMALS2,

ENDOFman.

DATA:

man1LIKETABLEOFman.

*name='c:

\temp\testa.txt'.

*typa='dat'.

CALLFUNCTION'UPLOAD'

EXPORTING

codepage='test'

filename='c:

\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.

IFsy-subrc<>0.

*messageidsy-msgidtypesy-msgtynumbersy-msgno

*withsy-msgv1sy-msgv2sy-msgv3sy-msgv4.

ENDIF.

LOOPATman1INTOman.

WRITE:

/man-name,man-high,man-weight.

ENDLOOP.

格式化输出

DATAwaLIKEspfli.

WRITE:

/.

WRITE:

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

SELECT*INTOwaFROMspfli.

WRITE:

/wa-carridUNDER'航班承运人',

wa-connidUNDER'航班连接',

wa-countryfrUNDER'国家代码',

wa-cityfromUNDER'起飞城市',

wa-airpfromUNDER'起飞机场'.

ENDSELECT.

内表排序

DATA:

BEGINOFman,

name(20)TYPEc,

highTYPEpDECIMALS2,

weightTYPEpDECIMALS2,

ENDOFman.

DATA:

man1LIKEhashedTABLEOFmanwithuniquekeyname.

man-name='张参'.

man-high='1.68'.

man-weight=120.

INSERTmanINTOTABLEman1.

man-name='刘志'.

man-high='1.78'.

man-weight=160.

INSERTmanINTOTABLEman1.

man-name='钱华'.

man-high='2.22'.

man-weight=220.

INSERTmanINTOtableman1.

LOOPATman1INTOman.

WRITE:

/man-name,man-high,man-weight.

ENDLOOP.

ULINE.

sortman1ascendingbyweightdescending.

skip.

uline.

LOOPATman1INTOman.

WRITE:

/man-name,man-high,man-weight.

ENDLOOP.

内部数据存有文档

DATA:

BEGINOFman,

name(20)TYPEc,

highTYPEpDECIMALS2,

weightTYPEpDECIMALS2,

ENDOFman.

DATA:

man1LIKETABLEOFman.

DATA:

nameTYPErlgrap-filename,typaTYPErlgrap-filetype.

man-name='张参'.

man-high='1.68'.

man-weight=120.

INSERTmanINTOTABLEman1.

man-name='刘志'.

man-high='1.78'.

man-weight=160.

INSERTmanINTOTABLEman1.

man-name='钱华'.

man-high='2.22'.

man-weight=220.

INSERTmanINTOman1INDEX2.

name='c:

\temp\testa.txt'.

typa='dat'.

CALLFUNCTION'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.

*messageidsy-msgidtypesy-msgtynumbersy-msgno

*withsy-msgv1sy-msgv2sy-msgv3sy-msgv4.

ENDIF.

消息

REPORTyth_helloworld.

DATA:

msg1(20)TYPEcVALUE'测试'.

DATA:

msg2(20)TYPEcVALUE'ABAP'.

DATA:

msg3(20)TYPEcVALUE'消息!

'.

MESSAGEi006(ymess)WITHmsg1msg2msg3.

data:

BEGINOFman,

name(30)TYPEc,

highTYPEpDECIMALS2,

weightTYPEpDECIMALS2,

ENDOFman.

FIELD-SYMBOLSLIKEman.

DATAman1LIKEman.

man-name='雨荷'.

man-high='1.78'.

man-weight=140.

ASSIGNmanTO.

WRITE:

/-name,

man-high,

-weight.

DATA:

msg1(20)TYPEcVALUE'测试'.

DATA:

msg2(20)TYPEcVALUE'ABAP'.

DATA:

msg3(20)TYPEcVALUE'消息!

'.

MESSAGEi001(00)WITHmsg1msg2msg3.

DATA:

c1

(2)TYPEc,

c2

(2)TYPEc,

c3

(2)TYPEc,

c4

(2)TYPEc,

c5(20)TYPEcVALUE'91*12*23*344445',

c9

(2)TYPEc.

c9='*'.

WRITE:

/.

WRITEc5.

SPLITc5ATc9INTOc1c2c3c4.

WRITE:

/c1,c2,c3,c4.

DATA:

msg1(20)TYPEcVALUE'测试'.

DATA:

msg2(20)TYPEcVALUE'ABAP'.

DATA:

msg3(20)TYPEcVALUE'消息!

'.

MESSAGEi001(00)WITHmsg1msg2msg3.

DATA:

BEGINOFman,

name(20)TYPEc,

highTYPEpDECIMALS2,

weightTYPEpDECIMALS2,

ENDOFman.

DATA:

man1LIKETABLEOFmanWITHHEADERLINE,

man2LIKETABLEOFman.

man-name='张参'.

man-high='1.68'.

man-weight=120.

APPENDmanTOman1.

man-name='刘志'.

man-high='1.78'.

man-weight=160.

APPENDmanTOman1.

MOVEman1[]TOman2.

WRITE:

/man-name,man-high,man-weight.

LOOPATman1.

write:

/man1-name,man1-high,man1-weight.

ENDLOOP.

直接读取文件

DATA:

BEGINOFman,

name(20)TYPEc,

highTYPEpDECIMALS2,

weightTYPEpDECIMALS2,

ENDOFman.

DATA:

man1LIKETABLEOFman.

CALLFUNCTION'WS_UPLOAD'

EXPORTING

codepage='test'

filename='c:

\temp\testa.txt'

filetype='dat'

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.

IFsy-subrc<>0.

*messageidsy-msgidtypesy-msgtynumbersy-msgno

*withsy-msgv1sy-msgv2sy-msgv3sy-msgv4.

ENDIF.

LOOPATman1INTOman.

WRITE:

/man-name,man-high,man-weight.

ENDLOOP.

字符串替换

DATA:

str1(10)TYPEcVALUE'AABBCCDDEE'.

WRITE/'接着的字符串______________将被替换.'.

WRITEAT14(10)str1.

读取数据表

*定义工作区

DATAa_spfliTYPEspfli.

*定义内表,请注意有Headerline

DATAta_spfliTYPETABLEOFspfliWITHHEADERLINE.

*分隔线

ULINE.

WRITE/'使用工作区'.

ULINE.

*将数据表逐行转移至工作区,只读前5行

SELECT*INTOCORRESPONDINGFIELDSOF

a_spfliFROMspfliUPTO5ROWS.

WRITE:

/a_spfli-connid,a_spfli-carrid,a_spfli-cityfrom,

a_spfli-cityto.

ENDSELECT.

ULINE.

WRITE/'使用内表'.

ULINE.

SELECT*INTOCORRESPONDINGFIELDSOF

TABLEta_spfliFROMspfliUPTO5ROWS.

*从数据表读数据至内表,直接从内表输出

*如果TA_SPFLI没有定义Headerline,会出错

LOOPATta_spfli.

WRITE:

/a_spfli-connid,a_spfli-carrid,a_spfli-cityfrom,

a_spfli-cityto.

ENDLOOP.

ULINE.

WRITE/'将内表数据转移至工作区'.

ULINE.

LOOPATta_spfliINTOa_spfli.

WRITE:

/a_spfli-connid,a_spfli-carrid,a_spfli-cityfrom,

a_spfli-cityto.

ENDLOOP.

内连接和外连接

*定义结构

DATA:

BEGINOFarcd,

carridTYPEspfli-carrid,

connidTYPEspfli-connid,

fldateTYPEsflight-fldate,

ENDOFarcd.

*工作区

DATAarcd1LIKEarcd.

*关联数据表,读取前10条记录,写入工作区,并输出

SELECTspfli~carridspfli~connidsflight~fldateINTOarcd1FROMspfli

INNERJOINsflightONspfli~carrid=sflight~carrid

ANDspfli~connid=sflight~connidUPTO10ROWS.

WRITE:

/arcd1-carrid,arcd1-connid,arcd1-fldate.

ENDSELECT.

使用packagesize读取数据

*定义内表,请注意有Headerline

DATAwa_spfliTYPETABLEOFspfliWITHHEADERLINE.

*分隔线

ULINE.

*以每次读取5条记录,直到读取所有数据

SELECT*INTOTABLEwa_spfliFROMspfliPACKAGESIZE5.

*输出内表记录

LOOPATwa_spfli.

WRITE:

/wa_spfli-connid,wa_spfli-carrid,wa_spfli-cityfrom,

wa_spfli-cityto.

ENDLOOP.

*输出5条记录后输出一条横线

ULINE.

ENDSELECT.

交互式列表

START-OF-SELECTION.

WRITE:

'初如列表,sy-lsind=',sy-lsind.

ATLINE-SELECTION.

IFsy-lsind=1.

WRITE:

'第二列表,sy-lsind=',sy-lsind.

ENDIF.

列表颜色

*数据库表spfli相关

TABLESspfli.

SKIP.

*输出表头,背景灰蓝

FORMATCOLORCOL_HEADING.

ULINEAT/(91).

WRITE:

/sy-vline,(15)'航线承运人',sy-vline,(15)'航班连接',sy-vline,

(15)'国家代码',sy-vline,(15)'起飞城市',sy-vline,

(15)'起飞机场',sy-vline.

ULINEAT/(91).

FORMATCOLOROFF.

*输出内容,输出关键值为‘LH’为红色

SELECT*FROMspfli.

IFspfli-carrid='LH'.

FORMATCOLORCOL_NEGATIVE.

ELSE.

FORMATCOLOROFF.

ENDIF.

WRITE:

/sy-vline,(15)spfli-carrid,sy-vline,(15)spfli-connid,sy-vline,

(15)spfli-countryto,sy-vline,(15)spfli-cityfrom,sy-vline,(15)

spfli-airpfrom,sy-vline.

ULINEAT/(91).

ENDSELECT.

输出热点

start-of-selection.

write'请按'.

formathotspotoncolor5inverseon.

write'热点'.

formathotspotoffcoloroff.

atline-selection.

write'welcome!

'.

为列表定义工具条和菜单

START-OF-SELECTION.

*设置已使用的状态条

SETPF-STATUS'STA1'.

WRITE:

'测试工具条按钮'.

ATUSER-COMMAND.

*当单击按钮时输出

CASEsy-ucomm.

WHEN'OWNSEL'.

WRITE:

'已选择!

'.

ENDCASE.

在弹出式窗口中显示列表

START-OF-SELECTION.

*设置已使用的状态条

SETPF-STATUS'STA1'.

WRITE:

'测试工具条按钮'.

ATUSER-COMMAND.

*当单击按钮时输出

CASEsy-ucomm.

WHEN'OWNSEL'.

IFsy-lsind=1.

SETPF-STATUS'STA6'.

*定义子窗口并输出

WINDOWSTARTINGAT1010ENDINGAT3020.

WRITE'在子窗口输出!

'.

WRITE:

'请注意!

'.

ENDIF.

ENDCASE.

隐藏字段技术

*数据库表spfli相关

TABLES:

spfli,sflight.

START-OF-SELECTION.

SKIP.

*输出

ULINEAT/(91).

WRITE:

/sy-vline,(15)'航线承运人',sy-vline,(15)'航班连接',sy-vline,

(15)'国家代码',sy-vline,(15)'起飞城市',sy-vline,

(15)'起飞机场',sy-vline.

ULINEAT/(91).

*输出

SELECT*FROMspfli.

WRITE:

/sy-vline,(15)spfli-carrid,sy-vline,

(15)spfli-connid,sy-vline,

(15)spfli-countryto,sy-vline,

(15)spfli-cityfrom,sy-vline,

(15)spfli-airpfrom,sy-vline.

*隐藏关键字

HIDE:

spfli-carrid,spfli-connid.

ULINEAT/(91).

ENDSELECT.

ATLINE-SELECTION.

*只输出第一页

IFsy-lsind=1.

*根据隐藏字段读取并打印从表

SELECT*FROMsflight

WHEREcarrid=spfli-carridANDconnid=spfli-connid.

WRITE:

/sflight-carrid,sy-vline,sflight-connid,

sy-vline,sflight-fldate,sy-vline,sflight-price.

ENDSELECT.

ENDIF.

使用hide技术从列表读取行

*数据库表spfli相关

TABLES:

spfli.

DATA:

sela

(1)TYPEc,

num1TYPEi.

START-OF-SELECTION.

SKIP.

*输出

ULINEAT/(95).

WRITE:

/sy-vline,'',sy-vline,(15)'航线承运人',sy-vline,(15)

'航班连接',sy-vline,(15)'国家代码',sy-vline,(15)

'起飞城市',sy-vline,(15)'起飞机场',sy-vline.

ULINEAT/(95).

*输出

SELECT*FROMspfli.

WRITE:

/sy-vline,selaASCHECKBOX,sy-vline,(15)spfli-carrid,

sy-vline,(15)spfli-connid,sy-vline,(15)spfli-countryto,

sy-vline,(15)spfli-cityfrom,sy-vline,

(15)spfli-airpfrom,sy-vline.

*隐藏关键字

HIDE:

spfli-carrid,spfli-connid,spfli-countryto,

spfli-cityfrom,spfli-airpfrom.

ULINEAT/(95).

*隐藏选择框,使表格行不会选择

HIDEsela.

ENDSELECT.

END-OF-SELECTION.

num1=sy-lsind-1.

ATLINE-SELECTION.

*只输出第一页

IFsy-lsind=1.

DOnum1TIMES.

*读取行

READLINEsy-indexFIELDVALUEsela.

*如果checked,输出隐含字段

IFsela

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2