`
guanhuaing
  • 浏览: 1238798 次
文章分类
社区版块
存档分类
最新评论

ABAP--如何创建动态结构的报表

 
阅读更多

1、使用cl_alv_table_create=>create_dynamic_table

REPORT zmaschl_create_data_dynamic .

TYPE-POOLS: slis.

DATA: it_fcat TYPE slis_t_fieldcat_alv,
is_fcat LIKE LINE OF it_fcat.
DATA: it_fieldcat TYPE lvc_t_fcat,
is_fieldcat LIKE LINE OF it_fieldcat.
DATA: new_table TYPE REF TO data.
DATA: new_line TYPE REF TO data.
FIELD-SYMBOLS: <l_table> TYPE ANY TABLE,
<l_line> TYPE ANY,
<l_field> TYPE ANY.

* Build fieldcat
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SYST'
CHANGING
ct_fieldcat = it_fcat[].
LOOP AT it_fcat INTO is_fcat WHERE NOT reptext_ddic IS initial.
MOVE-CORRESPONDING is_fcat TO is_fieldcat.
is_fieldcat-fieldname = is_fcat-fieldname.
is_fieldcat-ref_field = is_fcat-fieldname.
is_fieldcat-ref_table = is_fcat-ref_tabname.
APPEND is_fieldcat TO it_fieldcat.
ENDLOOP.

* Create a new Table
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_fieldcat
IMPORTING
ep_table = new_table.

* Create a new Line with the same structure of the table.
ASSIGN new_table->* TO <l_table>.
CREATE DATA new_line LIKE LINE OF <l_table>.
ASSIGN new_line->* TO <l_line>.

* Test it...
DO 30 TIMES.
ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
<l_field> = sy-index.
INSERT <l_line> INTO TABLE <l_table>.
ENDDO.

LOOP AT <l_table> ASSIGNING <l_line>.
ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
WRITE <l_field>.
ENDLOOP.

2、使用动态创建临时程序 generate subroutine pool code name prog
message msg
line lin
word wrd
offset off.并调。

分享到:
评论

相关推荐

    ABAP-ALV进阶

    ALV是SAP系统中心的列表标准,可以在ABAP程序中进行报表输出。下面是ABAP-ALV进阶的知识点详解: 一、ALV概要 ALV 全称为 ABAP List Viewer,在 R/3 4.6C 之前,已经正式更名为 SAP List Viewer。ALV 提供给系统...

    SAP中文教材全系列之ABAP-BC401

    3. 报表开发:SAP ABAP的一个重要应用是报表开发,教材中应该包含了如何使用ABAP进行报表的创建,包括交互式报表、列表报表、打印报表等的开发技巧。 4. 数据访问与操作:在ABAP程序中,对数据库的访问和操作是核心...

    ABAP--ALV

    这段程序的主要功能是显示物料细节信息,包括物料编号(MATNR)、创建者(ERNAM)、创建日期(ERSDA)以及物料类别(LABOR)。 1. **数据准备**: - 首先定义了一个内部表`ITAB`,用于存储查询结果。 - 使用`...

    ABAP-OLE[借鉴].pdf

    综上所述,ABAP-OLE在SAP环境中提供了一种强大而灵活的方式,使得SAP应用程序能够与Office应用程序如Excel交互,进行数据导入导出和报表生成。这种技术对于数据分析、报告自动化以及与其他系统的集成具有重要作用。

    三月精通ABAP--快速入门

    此外,还会讲解动态编程,例如使用CALL METHOD动态调用方法,以及使用DATA和TYPES来动态定义数据结构。ABAP的对象导向编程(OOP)也会被涵盖,包括类的创建、继承和多态性等概念。同时,函数库和增强技术,如BADI...

    ABAP-SAP学习宝典进阶语法大全

    ABAP报表开发也是学习的重点,从简单的屏幕输入到复杂的报告生成,理解Report语句、内嵌的SQL查询和数据选择都是必不可少的技能。同时,ABAP的Web Dynpro和UI5技术可以让你构建现代化的用户界面,提升用户体验。 ...

    ABAP报表中加入权限判断

    首先,我们需要理解ABAP报表的基本结构。报表通常由程序头、数据声明区、选择屏幕定义、程序体和结束区组成。在程序体中,我们进行数据处理和逻辑控制,而权限判断就在这里发挥作用。 权限判断主要依赖于ABAP的数据...

    abap报表程序事例,学习报表

    首先,我们需要了解ABAP报表的基本结构。一个标准的ABAP报表由几个主要部分组成:报告头(REPORT),数据声明(DATA),选择屏幕(SELECT-OPTIONS),程序逻辑(LOOP),以及输出(WRITE)。报告头定义了报表的基本...

    ABAP-4目前最完美学习手册

    ABAP/4则是其在R/3系统中的版本,用于创建事务处理、报表和自定义功能。 2. **程序创建**: - **命名程序**:程序的命名必须遵循特定的规则,通常是有意义的缩写或描述,以便于理解和维护。 - **程序属性**:包括...

    SAP ABAP动态内表构建与例子

    在SAP ABAP中,创建动态内表通常涉及到以下几个步骤: 1. **定义表类型**:动态内表的表类型不是固定的,而是由一个结构变量(如DATA(lt_fieldname))来表示。这个结构变量通常包含字段描述符,如字段名称、长度、...

    ABAP-语法总结及实例解释.doc

    在ABAP的程序结构模块中,可以分为三个主要部分: 1. **Sequential coding within processing block**:这部分类似于大多数编程语言,包含条件语句(如IF、WHILE)等,但是ABAP中没有GOTO语句,这有助于提高代码的...

    SAP-ABAP-ALV

    总的来说,SAP ABAP ALV Grid Control是一种强大的报表工具,通过ABAP编程可以实现高度自定义的列表展示,极大地增强了SAP系统的数据呈现和用户交互能力。开发者可以根据实际需求,灵活配置字段目录,实现复杂的业务...

    ABAP 开发报表模板

    本文档主要介绍了一个简单的ABAP报表模板,通过这个模板可以快速地创建出新的报表。在实际应用中,开发者只需要对其中的三个关键部分进行定制化的修改,即读取数据、显示数据以及报表标题,就可以实现报表的定制功能...

    《ABAP开发要点---PP模块》

    为了开发上述报表,需要熟悉一些关键的数据库表结构及其使用方法: - **业务主表**:AFKO、AFPO、AUFK。这些表记录了生产订单的基本信息,如订单状态、实际下达日期等。 - **工单系统状态表**:JEST、TJ02等。这类...

    【SAP ABAP开发】 ALV报表开发教程

    通过以上步骤,您可以成功地在SAP ABAP环境中创建一个基本的ALV报表。ALV不仅提供了灵活的数据展示方式,还支持多种交互式操作,如排序、筛选和分组等功能,极大地提高了数据的可读性和可用性。掌握ALV报表开发对于...

    abap pa - BC400_Col63

    - 课程可能涵盖的主题包括但不限于:ABAP语言基础、数据类型、控制结构、函数模块、报表处理、屏幕设计等方面的知识。 ### 版权声明与免责声明 - 文件明确指出了版权所有属于SAP AG,并且对于该出版物的任何部分,...

    Abap基础学习文档100_编写ABAP4报表.doc

    ### Abap基础学习文档100_编写ABAP4报表 #### 第一章:使用逻辑数据库访问数据库表 在ABAP编程中,逻辑数据库是一种重要的技术手段,它可以帮助程序员更高效地访问SAP系统中的数据。逻辑数据库并不实际存在于...

    ABAP报表的事件介绍

    1. **REPORT(报表)**:主要用于数据查询、统计分析等场景,通过结构化查询语言SQL和内置循环等控制语句实现数据处理和展示。 2. **PROGRAM(屏幕程序)**:侧重于用户界面操作,如数据输入、编辑、确认等,常与...

    SAP BC400-ABAP基础教程(中文版).pdf

    - **事务代码 SE38**: 打开 ABAP 编辑器来创建、修改或运行 ABAP 程序。 - **事务代码 SE80**: 访问对象浏览器,查看 SAP 系统中的所有 ABAP 对象。 - **事务代码 SE93**: 跟踪 ABAP 程序执行情况。 #### 2. ABAP ...

    如何设计ABAP4Query报表

    设计ABAP/4 Query报表的过程涉及权限控制、数据源定义、用户访问控制和报表结构的定制。这些步骤确保了报表的创建既符合权限管理原则,又能满足业务需求。ABAP/4 Query的易用性和灵活性使得报表开发更为高效,尤其...

Global site tag (gtag.js) - Google Analytics