动态内表技术获取字段描述_SAP刘梦_新浪博客

需求是这样的:

根据物料 序列号 EQUI EQBS 表获取对应的特殊库存状态

然后从T156C表获取对应的描述

动态内表技术获取字段描述

T156C中有对应的库存状态的描述,但是它是用字段描述来分辨,

使用下图举例,如果是01  ‘’,那么对应的会在Unrestricted-use stock这个字段打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     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       .

    
IF sy-subrc AND  'X'.
      
READ TABLE it_table INTO ls_table
        
WITH KEY fieldname lt_idetails-name.

      ev_txt 
ls_table-fieldtext.
      
EXIT.

    
ENDIF.


  
ENDLOOP.
ENDFUNCTION.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值