




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ABAP创建选择屏幕的详细介绍选择屏幕读者从ABAP开发帮助文档能了解选择屏幕的使用,有本英文教材是,同样本书的目的是让有一定程序基础的读者在三个月内成为ABAP顾问,故本书重点将放在实际业务分析上,因此在此只是汇总下选择屏幕的使用.下面是一个典型的选择屏幕的典型例子.1.设置选择屏幕参数.*begin(end) of block使用屏幕元素逻辑块.SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TITLE1.*定义选择标准,比如那些屏幕子段使用范围,设置为必选或使用内存ID等.SELECT-OPTIONS FOR DEFAULTNO INTERVALSOBLIGATORYNO-DISPLAYMEMORYID.*要在选择屏幕上书写文本使用屏幕注释并在屏幕初始化时赋值.SELECTION-SCREEN COMMENT .*在屏幕上画线.SELECTION-SCREEN ULINE .*Begind(end)of line包含的屏幕参数将在同一条直线上.SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN END OF LINE.*设置屏幕位置.SELECTION-SCREEN POSITION.*在应用工具条上创建按钮响应事件SELECTION-SCREEN FUNCTION KEY.*在屏幕上创建按钮.SELECTION SCREEN PUSHBUTTON .SELECTION-SCREEN END OF BLOCK BK1.INITIALIZATION.*初始化屏幕参数,类似VB的Form_load事件*AT SELECTION-SCREEN .*系统选择屏幕时的过程处理,比如需要判断一些屏幕字段的条件限制如为某些值则*显示error message,程序没有必要浪费时间继续执行下去.*on help-request 可为屏幕字段显示自定义帮助*on value-request可显示建议列表值*可这样理解AT selection-screen相当于 PBO.*PERFORM sub_validate_FieldXXX .*选屏后按Enter或F8运行时都会执行.START-OF-SELECTION .*设置内表值,处理没有附加关键字的所有语句.*通常包含在此的Form是在按F8后才开始执行.END-OF_SELECTION .AT USER-COMMAND.*处理用户请求事件,如报表使用ALV格式,通常在call function exporting* I_CALLBACK_USER_COMMAND = USER_COMMAND*再建立一个子程序form USER_COMMAND USING UCOMM LIKE SY-UCOMMAT LINE-SELECTION.*通常此事件在报表显示后用户在列表中在选择行时触发.如报表使用的是write*就可使用此事件.* SET PARAMETER ID XXX FIELD XXX.* call transACtion XXX AND SKIP FIRST SCREEN.TOP-OF-PAGE.* 显示数据,使用TOP-OF-PAGE是在分页时可将定义的页头页尾在每页显示.* PERFORM write_page_header(page header在每页都显示).* PERFORM DISPLAY_ALV_DATA.END-OF-PAGE.下面一个简单的会计凭证显示的实例说明选择屏幕的使用.*这程序只是做演示用,但是包含了常用的选择屏幕技术.将下面的程序copy就可跑.REPORT ZSELECTION NO STANDARD PAGE HEADINGMESSAGE-ID zFIMSG MEssage ClassLINE-SIZE 255LINE-COUNT 32(3).tables :BKPF,BSEG,S070.DATA:ZBKPF like bkpf occurs 0 ,zwa_bkpf like bkpf.CONSTANTS:P_variant(2) TYPE c VALUE WL.*下面这些屏幕参数和事件没有关系,只是参数集而已.SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE Cond1.SELECT-OPTIONS S_bukrs FOR bkpf-bukrs MEMORY ID BUK.SELECT-OPTIONS S_blart FOR bkpf-blart NO INTERVALS .SELECT-OPTIONS S_belnr FOR bkpf-belnr .SELECT-OPTIONS S_budat FOR bkpf-budat DEFAULT sy-datum.SELECT-OPTIONS S_bldat FOR bkpf-bldat NO INTERVALS NO-EXTENSION.SELECT-OPTIONS S_gjahr FOR bkpf-gjahr MEMORY ID GJR DEFAULT sy-datum(4).SELECT-OPTIONS weekran for s070-SPBUP NO-EXTENSION .SELECTION-SCREEN END OF BLOCK bk1.SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE Cond2.SELECTION-SCREEN COMMENT /1(30) COMM1 . 使用屏幕注释SELECTION-SCREEN BEGIN OF LINE .两单选框将在同一条线上.PARAMETERS pnor RADIOBUTTON GROUP grp1 DEFAULT X.Print normal docPARAMETERS ppark RADIOBUTTON GROUP grp1. Print parked docSELECTION-SCREEN END OF LINE .SELECTION-SCREEN END OF BLOCK bk2.*1 初始化参数.INITIALIZATION.Cond1 = 【Condition】.Cond2 = 【Normal DocParked Doc】.COMM1 = Choose Doc. Type:. 注释赋初值.*初始公司值,这在有些需要后台跑的程序非常有用,除了使用variant外,在此也可赋初*下面的例子在初始化后公司代码选择了1000和3000排除了2000S_bukrs-low = 1000.S_bukrs-sign = I. I-包含,E-排除S_bukrs-option = EQ. NEAPPEND S_bukrs.S_bukrs-low = 2000.S_bukrs-sign = E.S_bukrs-option = EQ.APPEND S_bukrs.S_bukrs-low = 3000.S_bukrs-sign = E.S_bukrs-option = EQ.APPEND S_bukrs.*初始化doc range 从0100000000到1000000000s_belnr-low = 0100000000.s_belnr-high = 1000000000.s_belnr-sign = I .s_belnr-option = BT.append s_belnr.*2 使用sug_get_week后得到所选日期的当前周数,在选择weekrag字段时才触发.*当你选择weekran字段时.AT SELECTION-SCREEN ON VALUE-REQUEST FOR weekran-low.PERFORM sub_get_week CHANGING weekran-low.AT SELECTION-SCREEN.*判断所选择的公司代码是否有效,通常并不是必须的.*当然你也可将此步省略,直接在START-OF-SELECTION判断.*根据需要可做很多vaid字段的判断.PERFORM SUB_VALIDATE_COMP.*3开始选屏START-OF-SELECTION.Perform SUB_GET_DOC.PERFORM SUB_WRT_DOC.END-OF-SELECTION.*4.分页时显示page header或page footer.TOP-OF-PAGE.perform sub_WRT_HEADER.end-of-page.*5.当点击行并且是点到Document NO.CAll FB03.AT line-selection.Perform sub_line_response.form sub_line_response.Data: ZFLDNAME like DD01L-DOMNAME,ZFLDVALUE like TTREET-TEXT,zwa_bkpf like bkpf.GET CURSOR FIELD ZFLDNAME VALUE ZFLDVALUE .if ZFLDNAME = ZWA_BKPF-BELNR .* READ TABLE Zbkpf into zwa_bkpf WITH KEY BELNR = ZFLDVALUE.* SET PARAMETER ID BUK FIELD zwa_bkpf-BUKRS.* SET PARAMETER ID GJR FIELD zwa_bkpf-GJAHR.* SET PARAMETER ID BLN FIELD zwa_bkpf-BELNR.SET PARAMETER ID BLN FIELD ZFLDVALUE .CALL TRANSACTION FB03 AND SKIP FIRST SCREEN.endif.endform .FORM SUB_GET_DOC.refresh zbkpf .SELECT * FROM bkpf into table ZbkpfWHERE bukrs IN s_bukrsAND belnr IN s_belnrAND gjahr IN s_gjahrAND budat IN s_budat.endform.form sub_wrt_header.FORMAT INTENSIFIED COLOR = 6.WRITE AT: /01 Finaincial Document List:(h07).FORMAT COLOR COL_NORMAL ON.FORMAT COLOR COL_HEADING ON.WRITE AT:/01(48) sy-uline.FORMAT COLOR COL_HEADING OFF.FORMAT COLOR OFF.endform.form sub_wrt_doc.uline /1(41).loop at zbkpf into zwa_bkpf.write:/ ,zwa_bkpf-bukrs,zwa_bkpf-belnr,zwa_bkpf-gjahr,zwa_bkpf-budat,.uline /1(41).endloop.endform.FORM SUB_VALIDATE_COMP.data itab_bukrs like bkpf-bukrs occurs 0 .select bukrs into table itab_bukrsfrom T001where BUKRS in S_bukrs .if itab_bukrs IS INITIAL.Message e002(00) .endif.endform.FORM sub_get_week CHANGING wkran LIKE s070-SPBUP.DATA: l_date LIKE workflds-gkday,l_period LIKE t009b-poper,l_year LIKE t009b-bdatj.*根据选择日期得到当前周数CALL FUNCTION F4_DATEEXPORTINGdate_for_first_month = sy-datumdisplay = IMPORTINGselect_date = l_dateEXCEPTIONScalendar_buffer_not_loadable = 1date_after_range = 2date_before_range = 3date_invalid = 4factory_calendar_not_found = 5holiday_calendar_not_found = 6parameter_conflict = 7OTHERS = 8.CALL FUNCTION G_PERIOD_GETEXPORTINGdate = l_date*使用WL variant得到的period是周/年,空则是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 强化训练-人教版8年级数学上册《分式》专项练习试题
- 员工关系培训体系构建
- 江苏省苏州昆山、太仓市2026届九年级化学第一学期期中教学质量检测模拟试题含解析
- 军训培训班级汇报
- 2026届山东省滨州市邹平双语学校化学九年级第一学期期中经典试题含解析
- 湖北省恩施土家族苗族自治州利川市2026届英语九年级第一学期期末检测试题含解析
- 西宁市重点中学2026届化学九年级第一学期期中联考模拟试题含解析
- 2026届河北省唐山市名校九年级英语第一学期期末达标检测试题含解析
- 广西壮族自治区桂平市2026届九上化学期中综合测试试题含解析
- 2026届江西省九江市修水县英语九上期末监测试题含解析
- 燕子矶水厂改建工程(净水厂工程)环评报告表
- 仁爱版英语九年级上下册单词(含音标)
- 植物生理学实验指导
- 人教部编版七年级上册 1《春》 课后提升训练试卷
- T-CPQS C010-2024 鉴赏收藏用潮流玩偶及类似用途产品
- NBT 47013.11-2015 承压设备无损检测 第11部分:X射线数字成像检测
- 人教版六年级上册数学第三单元分数除法教学设计
- 无人机驾驶培训合同
- 外发清单模板
- 档案分类和保管期限表
- 2024年初中升学考试九年级数学专题复习新课标要求-中考33讲
评论
0/150
提交评论