ABAP开发如何动态的实现任意表的ALV显示
在ABAP开发中如何动态的实现任意表的ALV的显示,以下是具体操作步骤:
第一部分:程序框架
REPORT ZALV_20090304_EVENT.
INCLUDE ZALV_DATA_INTI.
INCLUDE ZALV_EVENT_F01.
START-OF-SELECTION.
PERFORM SUB_ALV_DATA_GET.
第二部分:INCLUDE ZALV_DATA_INTI.
TYPE-POOLS:ABAP.
PARAMETERS P_NAME TYPE OBJNAME.
DATA LT_TABLE TYPE TABLE OF DFIES.
DATA LS_TABLE TYPE DFIES.
CALL FUNCTION 'DDIF_NAMETAB_GET'
EXPORTING
TABNAME = P_NAME
TABLES
* X031L_TAB =
DFIES_TAB = LT_TABLE
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DATA LR_STRUC TYPE REF TO CL_ABAP_STRUCTDESCR.
DATA LR_TABLE TYPE REF TO CL_ABAP_TABLEDESCR.
DATA LR_TYPE TYPE REF TO CL_ABAP_TYPEDESCR.
DATA LR_DATA TYPE REF TO CL_ABAP_DATADESCR.
DATA L_STRING TYPE STRING.
DATA LT_COMP TYPE ABAP_COMPONENT_TAB.
DATA LS_COMP LIKE LINE OF LT_COMP.
DATA E_WA TYPE REF TO DATA.
DATA E_TABLE TYPE REF TO DATA.
FIELD-SYMBOLS TYPE STANDARD TABLE.
FIELD-SYMBOLS TYPE ANY.
LOOP AT LT_TABLE INTO LS_TABLE.
CONCATENATE LS_TABLE-TABNAME '-' LS_TABLE-FIELDNAME INTO L_STRING.
* L_STRING = LS_COMP-NAME.
LS_COMP-NAME = LS_TABLE-FIELDNAME.
CALL METHOD CL_ABAP_DATADESCR=>DESCRIBE_BY_NAME
EXPORTING
P_NAME = L_STRING
RECEIVING
P_DESCR_REF = LR_TYPE
EXCEPTIONS
TYPE_NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LS_COMP-TYPE ?= LR_TYPE.
APPEND LS_COMP TO LT_COMP.
CLEAR LS_COMP.
ENDLOOP.
CALL METHOD CL_ABAP_STRUCTDESCR=>CREATE
EXPORTING
P_COMPONENTS = LT_COMP
RECEIVING
P_RESULT = LR_STRUC
.
CALL METHOD CL_ABAP_TABLEDESCR=>CREATE
EXPORTING
P_LINE_TYPE = LR_STRUC
RECEIVING
P_RESULT = LR_TABLE
.
CREATE DATA E_WA TYPE HANDLE LR_STRUC.
CREATE DATA E_TABLE TYPE HANDLE LR_TABLE.
ASSIGN E_WA->* TO .
ASSIGN E_TABLE->* TO .
第三部分:INCLUDE ZALV_EVENT_F01.
FORM SUB_ALV_DATA_GET .
SELECT * INTO CORRESPONDING FIELDS OF TABLE FROM (P_NAME).
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME = P_NAME
TABLES
T_OUTTAB =
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " SUB_ALV_DATA_GET
ABAP开发如何动态的实现任意表的ALV显示相关推荐
- ABAP 动态的实现任意表的ALV显示
程序没有什么实用性,就是把一个表的内容全部显示出来了,仅用于看看数据都是什么样子的,但是其中的动态的方法还是值得研究学习的.这些方法是从我的前辈身上学到的,我小小的实践了一下,本来认为在编写程序的可以 ...
- [SAP ABAP开发技术总结]动态语句、动态程序
在ABAP中写动态的程序,灵活的程序,一定要知道的 1.13. 动态语句 1.13.1. 内表动态访问 1.13.2. 动态类型 1.13.3. 动态SQL 1 ...
- abap 帮助文档 中文_一个13年ABAP老兵的建议:了解这些知识对ABAP开发有百利而无一害...
在Jerry之前的图片推送中,我提到了SAP社区上这样一篇博客: Proof of Concept: Deploying ABAP in Kubernetes https://blogs.sap.co ...
- ABAP开发学习总结之一:ABAP入门基本要点
原文出处: http://hi.baidu.com/samson_wu/blog/item/fda82f133acdea3fdd5401b4.html ABAP开发学习总结之一:ABAP入门基本要点 ...
- 一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害
在Jerry之前的图片推送中,我提到了SAP社区上这样一篇博客: Proof of Concept: Deploying ABAP in Kubernetes https://blogs.sap.co ...
- ABAP开发 扫雷小游戏
ABAP语言主要是服务于SAP的业务开发,虽然和JAVA类似,但是局限性比较大,开发游戏这类逻辑复杂的项目的话,相对比较繁琐 闲时尝试着拿ABAP开发一款Windows的扫雷小游戏,打发无聊...直接 ...
- 视频教程-SAP ABAP 开发入门-其他
SAP ABAP 开发入门 16年IT行业从业经验,本科学机械工程及自动化专业,毕业后转行IT行业至今:期间取得北航软件学院软件工程专业硕士学位:工作期间主要从事过项目实施,软件开发工作:擅长系统架构 ...
- 一个15年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害
在笔者之前的文章里,曾经提到了 SAP社区上这样一篇博客:Proof of Concept: Deploying ABAP in Kubernetes 里面介绍了SAP Linux实验室的工程师们将A ...
- SAP 至今为止的ABAP开发经历总结
从2019年下半年到2021年上半年,即写这篇文章为止,我已做了一年多半的ABAP开发. 从ERP是干什么都不懂的小白到熟悉开发和业务流程,这是一个曲折上升的过程.幸运的是刚入职就碰上S4/HANA升 ...
最新文章
- mysql 两张表合并查询_mysql中的分区表和合并表详解(一个常见知识点)
- MVVM Template
- 一个 IT 青年北漂四年的感悟
- 下一站,人到三十而立之年有感!
- HBase数据模型解析和基本的表设计分析
- C++multiset集合
- 如何恢复计算机隐藏的文件夹,隐藏文件夹,小编教你电脑隐藏文件夹怎么恢复...
- ARM7-LPC213x(五)UART0 和 UART1
- 基于WASAPI的录音播音系统
- 终于有人把XGBoost 和 LightGBM 讲明白了,项目中最主流的集成算法!
- 树莓派系统安装和调试 总结整理篇
- 2015年6月9日晨_学习
- 喧喧发布 2.5.1 版本,支持移动版和桌面端同时登录
- 【涂鸦物联网足迹】涂鸦云平台接口列表—智能门锁
- 网络七层协议具体是什么?
- 如何快速全选文件夹内的文件
- 率先完成息安全产品百万级装车应用,为辰信安完成新一轮融资
- 电脑端多开微信及其原理分析
- Uniapp 应用未读角标插件 Ba-Shortcut-Badge
- 5款电子书阅读APP,看小说的必备神器