有时候我们要在程序运行的时候取得某个内表或者某个结构它的属性或者它的字段的属性,可能通过类CL_ABAP_TYPEDESCR和它的子类取得指定内表的属性。
类CL_ABAP_TYPEDESCR和它的子类的结构图
CL_ABAP_TYPEDESCR
|
|--CL_ABAP_DATADESCR
| |
| |--CL_ABAP_ELEMDESCR
| |--CL_ABAP_REFDESCR
| |--CL_ABAP_COMPLEXDESCR
| |
| |--CL_ABAP_STRUCTDESCR
| |--CL_ABAP_TABLEDESCR
|
|--CL_ABAP_OBJECTDESCR
|
|--CL_ABAP_CLASSDESCR
|--CL_ABAP_INTFDESCR
例子1:
TYPES:
BEGIN OF TYP_DEPT,
ID(10) TYPE N,
NAME(10) TYPE C,
END OF TYP_DEPT.
DATA:
WA_DEPT TYPE TYP_DEPT,
DESCR_REF TYPE REF TO CL_ABAP_STRUCTDESCR.
FIELD-SYMBOLS:
<fs_dept> TYPE ABAP_COMPDESCR.
************************************************************************
* START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
DESCR_REF ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_DATA( WA_DEPT ).
LOOP AT DESCR_REF->COMPONENTS ASSIGNING <fs_dept>.
WRITE: / <fs_dept>-NAME.
ENDLOOP.
例子2:
TYPES:
my_table TYPE HASHED TABLE OF i WITH UNIQUE KEY TABLE LINE.
DATA:
descr_ref TYPE ref to cl_abap_tabledescr.
FIELD-SYMBOLS:
<key_comp_wa> TYPE abap_keydescr.
START-OF-SELECTION.
descr_ref ?= cl_abap_typedescr=>describe_by_name( 'MY_TABLE' ).
WRITE: / 'Typename :', descr_ref->absolute_name.
WRITE: / 'Kind :', descr_ref->type_kind.
WRITE: / 'Length :', descr_ref->length.
WRITE: / 'Decimals :', descr_ref->decimals.
WRITE: / 'Table Kind :', descr_ref->table_kind.
WRITE: / 'Initial Size :', descr_ref->initial_size.
WRITE: / 'Key Def Kind :', descr_ref->key_defkind.
WRITE: / 'Has Unique Key:', descr_ref->has_unique_key.
WRITE: / 'Key Components:'.
LOOP AT descr_ref->key ASSIGNING <key_comp_wa>.
WRITE <key_comp_wa>-name.
ENDLOOP.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lhx20/archive/2008/10/23/3128295.aspx</key_comp_wa></key_comp_wa></key_comp_wa></fs_dept></fs_dept></fs_dept>
分享到:
相关推荐
标题中的"ZUI2_JSON2_/UI2/CL_JSON_ui2/cl_json_abap_Ui2_cl_json_zui2_json_源"可能指的是一个与ZUI2相关的项目,它利用了ABAP类/UI2/CL_JSON来解析和生成JSON数据。描述中提到,我们需要用到这个类来将JSON格式的...
- 使用`cl_abap_typedescr`类和`cl_abap_structdescr`类来描述动态内表的结构。 - 使用`cl_abap_tabledescr`类创建动态内表的描述符,并通过`cl_abap_table_descr=>create`方法生成内表。 在进行动态更新时,需要...
ABAP(Allgemeiner Berichtsaufbereitungsprozessor)是一种专为SAP系统设计的编程语言,起源于20世纪80年代,起初作为报表语言用于SAP R/2系统,后来成为SAP R/3平台的核心开发语言。它引入了逻辑数据库的概念,...
本压缩包中的" SAP_ABAP_4.7.CHM "文件是一部关于SAP ABAP 4.7版本的开发手册,对于深入理解并掌握SAP ABAP编程技术具有极高的价值。 1. SAP ABAP简介: SAP ABAP是一种面向过程的编程语言,主要应用于SAP ...
标题中的"ZDE_HTML.rar_abap_abap html_abap html"表明这是一个关于ABAP(一种用于SAP系统的编程语言)与HTML交互的资源压缩包。这个压缩包可能包含了将ABAP程序产生的数据转换为HTML格式的相关教程或代码示例。 ...
标题“abap-ALV.rar_ABAP系统ALV_abap_abap开发alv”暗示我们将深入探讨ABAP ALV的使用,特别是在ABAP系统中的应用以及如何进行开发。 描述中提到“ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用”,...
### SAP-ABAP-OO 实现 CL-SALV-TABLE 的关键知识点 #### 1. ABAP 面向对象的 ALV 显示方法 在 SAP 的 ABAP 环境中,ALV (Application List Viewer) 是一种非常常用的技术,用于在屏幕上以表格的形式展示数据。传统...
i_has_headers = abap_true CHANGING t_table = lt_data ). ``` 4. **设置事件处理**:你可以定义各种ALV事件的处理程序,如行选择、双击等。这使得ALV具有交互性,允许用户与数据进行交互。例如,添加行选择...
这是实战SAP程序开发_从实例学SAP_ABAP编程的清晰版本
CALL METHOD cl_salv_table=>get_interface( EXPORTING r_salv_table = rt_salv_table ) IMPORTING e_salv_table = lo_salv_table. lo_salv_table->set_edit_mask( EXPORTING iv_table_name = iv_table_name iv_...
ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。...
标题中的"Schedule-of-the-contract.rar_The Contract_abap_abap hr"暗示了这是一个与SAP HR模块相关的项目,特别是涉及到合同的详细信息管理和报告。在这个项目中,开发者使用ABAP(Advanced Business Application ...
标题中的"SAP_ABAP.rar"表明这是一个与SAP ABAP相关的压缩文件,可能包含了关于SAP ABAP开发的文档或代码示例。ERP SAP ABAP指的是SAP企业资源规划系统中的ABAP编程语言,它是SAP系统核心开发的重要工具。"ERP_SAP...
这个文档集包含了ABAP的所有核心概念、语法、函数模块、类库、表单以及报告编写等多方面的内容,旨在帮助用户理解和掌握ABAP编程。 在ABAP DOCU HTML中,你可以找到以下几个重要的知识领域: 1. **ABAP基本语法**...
SAP_ABAP_BADI SAP_ABAP_BADI 是 SAP 系统中的一种业务增强工具,BADi 全称为 Business Add-In,意为业务增强接口。它允许开发者对 SAP 系统进行业务增强和定制,使得系统更加灵活和实用。 从标题"SAP_ABAP_BADI...
abap编程手册.doc ABAP开发规范及命名规则V20.doc
### SAP_BC_ABAP_Programming 知识点详解 #### ABAP编程简介 根据文档标题“SAP_BC_ABAP_Programming”以及描述中的同样内容,可以推断出本资料主要涉及SAP环境下ABAP(Advanced Business Application Programming...
sap abap 编写的 BOM拆分程序
根据提供的文件信息,我们可以归纳出以下关于SAP_ABAP_PA的相关知识点: ### 一、SAP_ABAP_PA 教材及视频概述 SAP(System, Applications, and Products in Data Processing)是全球领先的企业管理软件之一,广泛...
ABAP4,全称为Advanced Business Application Programming,是SAP R/3系统中主要的编程语言,也是SAP软件开发的核心工具。它属于第四代编程语言(4GL),其语法结构与Visual Basic和JAVA有相似之处,但与传统的C、...