动态内表技术获取字段描述
需求是这样的:
根据物料+序列号从EQUI和EQBS 表获取对应的特殊库存状态
然后从T156C表获取对应的描述
T156C中有对应的库存状态的描述,但是它是用字段描述来分辨,
使用下图举例,如果是01+ ‘’,那么对应的会在Unrestricted-usestock这个字段打X,我们要获取的就是这一条对应的X所在的列的字段描述
代码:
FUNCTION zatj_gx_get_sobkz_txt.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IS_DATA) TYPE T156C
*" EXPORTING
*" REFERENCE(EV_TXT)
*" TABLES
*" IT_TABLE STRUCTURE DNTAB OPTIONAL
*"----------------------------------------------------------------------
DATA : lt_idetails TYPE abap_compdescr_tab WITH HEADER LINE.
DATA : lr_ref_table_des TYPE REF TO cl_abap_structdescr.
DATA:ls_table LIKE LINE OF it_table.
FIELD-SYMBOLS: <l_field> TYPE ANY.
IF it_table IS INITIAL .
CALL FUNCTION 'NAMETAB_GET'
EXPORTING
langu = sy-langu
tabname = 'T156C'
TABLES
nametab = it_table
EXCEPTIONS
no_texts_found = 1.
ENDIF.
**动态得到内表结构 ”全局结构
lr_ref_table_des ?=
cl_abap_typedescr=>describe_by_name( 'T156C' ).
lt_idetails[] = lr_ref_table_des->components[].
LOOP AT lt_idetails.
ASSIGN COMPONENT lt_idetails-name OF STRUCTURE is_data TO <l_field> .
IF sy-subrc = 0 AND <l_field> = 'X'.
READ TABLE it_table INTO ls_table
WITH KEY fieldname = lt_idetails-name.
ev_txt = ls_table-fieldtext.
EXIT.
ENDIF.
ENDLOOP.
ENDFUNCTION.
- 获取SqlServer2005表结构(字段,主键,外键,递增,描述)
- Sql Server 获取、增加、修改、删除 字段描述
- 获取SqlServer表结构(字段,主键,外键,递增,描述)
- sql 获取字段描述信息
- 动态获取上月 年月字段(yyyyMM)
- 获取SqlServer2005表结构(字段,主键,外键,递增,描述)
- Sharepoint 自定义字段(栏) 动态获取数据
- 利用fnd_flex_keyval包轻松获取关键性弹性域组合描述字段
- SQL SERVER中获取字段描述和所有扩展属性
- 【Web前端】 动态获取数据的【分页源代码】,大前端技术储备
- 如何利用动态代理技术构建一个通用的,获取代理类的简单框架?
- Java反射技术——字段的获取
- 获取数据库表字段描述 类型 大小等信息
- Sql Server 获取、增加、修改、删除 字段描述
- 病毒技术之动态获取API函数地址
- struts2原理分析之反射技术动态获取属性
- atitit。获取表格的字段注释metadata的原理以及AND 字段表格描述文档方案
- 利用fnd_flex_keyval包轻松获取关键性弹性域组合描述字段
- jqGrid动态获取列和列字段
- 获取SQL数据库中的数据库名、所有表名、所有字段名、列描述