ABAP获取表或结构信息 NAMETAB_GET(被DDIF_FIELDINFO_GET替代)

 

转载自:http://blog.itpub.net/178931/viewspace-428179/

DATA: BEGIN OF GT_FLD_VBUP OCCURS 0.
        INCLUDE STRUCTURE DNTAB.
DATA: END OF GT_FLD_VBUP.
CALL FUNCTION 'NAMETAB_GET'
       EXPORTING
            TABNAME             = 'VBUP'
       TABLES
            NAMETAB             = GT_FLD_VBUP
       EXCEPTIONS
            INTERNAL_ERROR      = 0
            TABLE_HAS_NO_FIELDS = 0
            TABLE_NOT_ACTIV     = 0
            NO_TEXTS_FOUND      = 0
            OTHERS              = 0.

实例

如果用到字段长度信息,请注意如下情况

所以使用长度时进行如下判断

IF DDLEN = INTLEN.
    OUTPUTLEN = DDLEN / 2.
ELSE.
    OUTPUTLEN = DDLEN.
ENDIF.

 

  DATA: lv_tabname TYPE dntab-tabname,
        lt_nametab TYPE STANDARD TABLE OF dntab,
        ls_nametab TYPE dntab,
        lv_text    TYPE dd03p-scrtext_l.

  CALL FUNCTION 'NAMETAB_GET'
    EXPORTING
      tabname             = 'ZSRPP001'
    TABLES
      nametab             = lt_nametab
    EXCEPTIONS
      internal_error      = 1
      table_has_no_fields = 2
      table_not_activ     = 3
      no_texts_found      = 4
      OTHERS              = 5.

  LOOP AT lt_nametab INTO ls_nametab WHERE fieldname <> 'DELKZ'
                                     AND   fieldname <> 'ERNAM'.
    lv_text = ls_nametab-fieldtext.
    PERFORM frm_set_fieldcat_attr USING ls_nametab-fieldname lv_text.
  ENDLOOP.
*&---------------------------------------------------------------------*
*&      Form  FRM_SET_FIELDCAT_ATTR
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_0410   text
*----------------------------------------------------------------------*
FORM frm_set_fieldcat_attr       USING   p_fieldname TYPE slis_fieldcat_alv-fieldname
                                          p_seltext_l TYPE slis_fieldcat_alv-seltext_l
                                         .
  CLEAR gw_fieldcat.
  gw_fieldcat-fieldname = p_fieldname.
  gw_fieldcat-seltext_s = p_seltext_l.
  gw_fieldcat-seltext_m = p_seltext_l.
  gw_fieldcat-seltext_l = p_seltext_l.
  gw_fieldcat-no_zero   = 'X'.

  IF p_fieldname = 'BOX'.
    gw_fieldcat-checkbox = 'X'.
    gw_fieldcat-edit = 'X'.
  ENDIF.

  APPEND gw_fieldcat TO gt_fieldcat.

ENDFORM.

 

 

 

 

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值