转载自: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.