SAP ABAP自学:OOALV对象导向ALV教程
需积分: 50 113 浏览量
更新于2024-07-18
收藏 1.02MB DOCX 举报
"ABAP OOALV是SAP ABAP编程中用于生成对象导向的ALV(ABAP List Viewer)表格的一种技术,适用于初学者学习。通过OOALV,开发者可以更加灵活地控制ALV的显示和功能。本文档记录了自学ABAP OOALV的过程和技术要点。"
在SAP ABAP开发中,ALV是一种标准的报表显示工具,而OOALV则是基于面向对象编程的概念来实现ALV的功能。以下是一些关键知识点:
1. **对象定义**:
- `DATAGS_ALVTYPEREFTOCL_GUI_ALV_GRID`: 这个数据类型引用了`CL_GUI_ALV_GRID`类,这是生成ALV的基本对象,用于处理表格的显示和交互。
- `DATAGS_PARENTTYPEREFTOCL_GUI_CUSTOM_CONTAINER`: 这个数据类型引用了`CL_GUI_CUSTOM_CONTAINER`类,它是ALV的容器,用于在屏幕上的特定区域显示ALV。
2. **构造器与实例化**:
- 构造器(Constructor)在对象实例化时使用,用来初始化对象的状态。在ABAP中,你需要实例化`CL_GUI_CUSTOM_CONTAINER`作为ALV的容器,以及`CL_GUI_ALV_GRID`作为ALV本身。
3. **数据结构**:
- `DATAGT_FIELDCATTYPELVC_T_FCAT`: 这是ALV列定义的数据结构,包含关于列名、类型、宽度等信息。
- `DATAGS_FIELDCATTYPELVC_S_FCAT`: 工作区的列定义数据结构,用于临时存储列设置。
- `DATAGS_LAYOUTTYPELVC_S_LAYO`: 表示ALV的布局设置,如行高、列宽等。
- `DATAGS_STABLETYPELVC_S_STBL`: 用于表单刷新,管理表格数据。
4. **数据获取**:
- 虽然描述中没有详细说明,但在实际应用中,你需要从数据库或其他数据源获取数据,并将其映射到ALV所需的结构中,以便正确显示。
5. **输出与屏幕处理**:
- ALV显示在屏幕0100上,因此需要在程序中创建这个屏幕并设置相关模块。
- 在`PROCESSBEFOREOUTPUT`事件中进行初始化和设置。
- `MODULEINIT_ALV`和`MODULEINIT_ALVOUTPUT`是自定义的模块,用于执行初始化和输出相关的操作。
- `PERFORM CREATE_ALV`用于实例化ALV对象,`PERFORM DISPLAY_DATA`则调用类中的方法显示数据。
- `FROMCREATE_ALV`用于实例化`CL_GUI_ALV_GRID`,并将其插入到`CL_GUI_CUSTOM_CONTAINER`中。
6. **字段分类设置**:
- FIELDCAT的设置决定了ALV中列的显示方式,这通常涉及到对`T_FCAT`结构的填充,可以通过函数模块或直接在代码中定义。
7. **宏定义**:
- 在`TOP`中定义宏可以提高代码的可读性和可维护性,例如定义宏来存储常量或常用表达式。
学习ABAP OOALV需要理解ABAP的面向对象编程概念,熟悉SAP的GUI组件,以及如何处理数据和屏幕逻辑。实践是掌握这些知识的关键,通过创建和修改实际的ALV报表,你可以更深入地了解这一技术。
2023-03-25 上传
2023-04-12 上传
2023-05-26 上传
2024-10-28 上传
2012-09-05 上传
2011-08-05 上传
了了liao
- 粉丝: 0
- 资源: 10
最新资源
- 电视查询
- redux-delete-codealong-sea01-seng-ft-060120
- GFN:用于融合图像去模糊和超分辨率的门控融合网络(BMVC 2018口腔)
- OP协议,OP协议测试工具,Open Interface,电动扳手OP测试,纯程序
- Solo_Project_Frontend
- poirot:一个展示私有仓库部署的简单仓库
- go-repo
- 致敬:向Alain deMonéys致敬。 Freecodecamp致敬页面练习
- ASP.NET动态渐变处理程序
- 华为简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- php sg11扩展 linux-64版本
- YourLife:http
- SuperfundSitesbyCollege:靠近学生PIRG和超级基金站点的校园(未经事实检查,未经作者许可不得重复使用或引用)
- GroupDocs.Merger-for-Java:GroupDocs.Merger for Java示例,插件以及展示项目和网站
- rent-receipt-generator
- pi:我的树莓派的项目代码