




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ABAP开发培训 提高篇 课程介绍 2 课程内容 3 ALV报表程序大纲 4 ALV列表介绍 ALV ABAPListViewerALV可以简单的认为是一个界面美观 功能强大 可以提供灵活的互动界面的报表显示 它提供了常用的按键功能 如求和 排序 导出等 如果说传统的write输出比作是一辆马车的话 那ALV可以算是一个是奔驰了 5 ALV界面的组成 6 ALV报表的界面由工具栏 标题及用于显示数据的网格控制器组成如果有需要 用户可以隐藏标题和工具栏 ALV输出的实现方法 7 方法一主要用于DIALOG程序中 方法二主要用于报表程序中本课程将主要对 调用函数模块 这一方法进行讲解 ALV输出前的数据准备 8 输出结构必须是扁平结构的内表字段目录以内表形式传入ALV 内表的每一行代表一个字段 其结构可参考slis t fieldcat alv布局控制结构以工作区形式传入ALV 其结构可参考slis layout alv除了上面三个最基本的参数之外 对于ALV事件的处理 打印设置 数据过滤等功能还将涉及到其它参数 ALV输出的六个步骤 9 代码解析1 定义ALV相关变量 10 TYPE POOLS slis 定义ALV相关变量DATA gt fieldcatalogTYPEslis t fieldcat alv gs fieldcatalogLIKELINEOFgt fieldcatalog gs layoutTYPEslis layout alv gd repidLIKEsy repid 所有与ALV相关的内表 结构 常量和变量都在SLIS这个TYPE POOL中声明gt fieldcatalog定义了ALV的字段目录 gs fieldcatalog是与之相对应的结构gs layout定义了布局控制结构gd repid为调用ALV的程序名称 代码解析2 定义并填充数据内表 11 定义输出数据DATA BEGINOFgs out box 1 land1LIKEt005t land1 landx50LIKEt005t landx50 ENDOFgs out gt outLIKESTANDARDTABLEOFgs out 填充数据内表SELECTland1landx50INTOCORRESPONDINGFIELDSOFTABLEgt outFROMt005tWHEREspras sy langu box 字段是为了在ALV列表的第一列显示可以选择一行数据的小方块待输出的数据为国家的代码 land1 及名称 landx50 代码解析3 填充字段目录 12 填充字段目录REFRESHgt fieldcatalog CLEARgs fieldcatalog gs fieldcatalog fieldname LAND1 gs fieldcatalog seltext m 国家代码 APPENDgs fieldcatalogTOgt fieldcatalog CLEARgs fieldcatalog gs fieldcatalog fieldname LANDX50 gs fieldcatalog seltext m 国家名称 APPENDgs fieldcatalogTOgt fieldcatalog 只输出国家代码及国家名称两列以上只列出了FieldCatalog的基本字段 关于FieldCatalog的其它重要字段 请见下页 FieldCatalog重要字段说明 13 FieldCatalog重要字段说明 14 X 默认高亮颜色 Cxyz 指定颜色 x 1 9 y z 0 off 1 on C 颜色 默认第一个字符为C x 颜色编码y 粗体z 颜色反转 代码解析4 填充布局控制结构 15 填充布局控制结构gs layout no input X gs layout colwidth optimize X gs layout box fieldname BOX 代码解析5 调用函数输出ALV列表 16 调用函数输出ALV列表gd repid sy repid CALLFUNCTION REUSE ALV GRID DISPLAY EXPORTINGi callback program gd repid i callback user command USER COMMAND i callback pf status set SET PF STATUS is layout gs layoutit fieldcat gt fieldcatalog is print gs prntparamsi save X it sort gt sort TABLESt outtab gt outEXCEPTIONSprogram error 1OTHERS 2 ALV函数重要参数说明 17 ALV高级功能 18 至此 我们已经可以编写程序来实现最基础的ALV报表了 然而 要让ALV实现更为强大的功能 让它更能满足我们的工作需要 我们仍需要了解ALV的一些高级功能 ALV的高级功能包括 自定义GUI状态 响应ALV功能码 实现ALV的事件及ALV打印设置等 以下我们将介绍部分内容 ALV高级功能 自定义GUI状态 19 FORMset pf statusUSINGrt extabTYPEslis t extab CLEARrt extab REFRESHrt extab APPEND ALL TOrt extab 隐藏全选按钮SETTITLEBAR TITLE ALV SETPF STATUS STANDARD EXCLUDINGrt extab ENDFORM Set pf status ALV默认的GUI状态名为 STANDARD 但可在上面这个子程序中为ALV指定其它GUI状态参数rt extab是一个内表 保存那些被隐藏的按钮的功能码例如上面的例子 所实现的功能是隐藏默认GUI状态中的全选按钮 ALV高级功能 响应ALV的功能码 20 FORMuser commandUSINGr ucommLIKEsy ucommrs selfieldTYPEslis selfield 判断功能码CASEr ucomm WHEN IC1 双击时的处理READTABLEgt outINTOgs outINDEXRS SELFIELD TABINDEX MESSAGEgs out landx50TYPE S ENDCASE ENDFORM user command 参数r ucomm存放ALV当前激活的功能码 通过对功能码进行判断 我们可以对ALV的不同动作作出不同的处理参数rs selfield存放当前光标所在位置的详细信息 ALV高级功能 响应ALV的功能码 21 FORMuser commandUSINGr ucommLIKEsy ucommrs selfieldTYPEslis selfield 判断功能码CASEr ucomm WHEN IC1 双击时的处理READTABLEgt outINTOgs outINDEXRS SELFIELD TABINDEX MESSAGEgs out landx50TYPE S ENDCASE ENDFORM user command 参数r ucomm存放ALV当前激活的功能码 通过对功能码进行判断 我们可以对ALV的不同动作作出不同的处理参数rs selfield存放当前光标所在位置的详细信息 rs selfield结构实例RS SELFIELD COL STABLE X RS SELFIELD ROW STABLE X RS SELFIELD REFRESH X 以上3行代码就实现ALV列表的自动刷新 并且使光标停留在原来的位置 程序开发技巧 1 声明内表TYPES Beginoffs XX F1 4 typec F2 2 typen F3 2 typec Endoffs xx DATA it XXtypestandard sorted hashedtableoffs XX Wa XXlikelineofit XX 用完了记得清理 包括释放空间 Refreshit xx Freeit xx 22 程序开发技巧 2 删除内表记录如果一项删除如下Loopatsource packageassigning If F1 X Deletesource package Endif Endloop 很明显 这个删除是针对整个内表操作的 不妨写成如下形式Deletesource packagewhereF1 X 有些时候 可能条件是多个 那么可以采用如下形式 DATA TEMPtypeF1 SELECT OPTIONS s F1fortemp DATA walikelineofs F1 wa sign I wa option EQ wa low ABCD appendwatos F1 wa sign I wa option EQwa low EFGH appendwatos F1 Deletesource packagewhereF1ins f1 即把条件写到一个内表中 23 程序开发技巧 3 Select系统表用到ForAllEntriesIn我们知道在数据库中可以用内联关系来显示表 那么For 语法有点类似 它把内表和系统表做了联合 当然使用之前 需要检查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深圳非住宅租赁合同范本
- 船舶运输委托协议合同书
- 渣土品回收协议合同模板
- 股权转让纠纷协议书范本
- 物业业主合作合同协议书
- 海淀区仓储配送合同范本
- 育儿嫂照顾宝宝协议合同
- 舞台租赁协议合同书模板
- 纸板线热板翻新合同范本
- 股东循环转移协议书模板
- GB/T 3683-2023橡胶软管及软管组合件油基或水基流体适用的钢丝编织增强液压型规范
- 七年级上学期历史导言课课件 ( 希沃白板课件+PPT课件)
- 医疗管理制度PDCA培训:提高医院感染管理相关制度的落实率
- 肺结核诊断和治疗指南
- 软件系统售后服务方案
- GB/T 9765-2009轮胎气门嘴螺纹
- GB/T 4623-2014环形混凝土电杆
- GB/T 23806-2009精细陶瓷断裂韧性试验方法单边预裂纹梁(SEPB)法
- GB/T 16823.3-2010紧固件扭矩-夹紧力试验
- GB/T 13785-1992棉纤维含糖程度试验方法比色法
- 食品安全相关知识考核试题题库与答案
评论
0/150
提交评论