SAP ABAP自学:OOALV对象导向ALV教程

需积分: 50 10 下载量 62 浏览量 更新于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报表,你可以更深入地了解这一技术。