Está en la página 1de 2

*&---------------------------------------------------------------------*

*& Form print_cabecera_itab


*&---------------------------------------------------------------------*
* Imprime la cabecera para una tabla interna dada
* Se obtienen los elementos de datos y de ellos la denominación
* mediana y la descripción como tooltip
*----------------------------------------------------------------------*
* -->pi_wa_datos text
* -->pi_ancho ancho de la lista
*----------------------------------------------------------------------*
FORM print_cabecera_itab USING pi_wa_datos type ANY
pi_ancho type I.
FIELD-SYMBOLS <fs_campo>.

DATA: TD TYPE SYDES_DESC,


wa_NAME TYPE SYDES_NAMEINFO,
wa_TYPE TYPE SYDES_TYPEINFO,
lv_denom TYPE SCRTEXT_M,
lv_descr TYPE AS4TEXT,
lv_ancho TYPE I.

NEW-LINE.
ULINE AT (pi_ancho).
NEW-LINE.
FORMAT COLOR COL_HEADING INTENSIFIED.
DO.
ASSIGN COMPONENT SY-INDEX OF STRUCTURE pi_wa_datos TO <fs_campo>.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
CLEAR TD.
DESCRIBE FIELD <fs_campo> INTO TD.
READ TABLE TD-NAMES
INTO wa_NAME
INDEX 2. " nombre del campo
* no se muestra el material
CHECK wa_NAME-NAME <> 'MATNR'.
READ TABLE TD-TYPES
INTO wa_TYPE
INDEX 1. " tipo del campo
if wa_TYPE-length > ct_ancho_col_min.
lv_ancho = wa_TYPE-length.
else.
lv_ancho = ct_ancho_col_min.
endif.

SELECT SINGLE SCRTEXT_M DDTEXT " scrtext_s


INTO (lv_denom,lv_descr)
FROM DD04T
WHERE ROLLNAME = wa_NAME-NAME
AND DDLANGUAGE = sy-langu.

WRITE AT: (1) sy-vline,


(lv_ancho) lv_denom
QUICKINFO lv_descr.
ENDDO.
WRITE AT: pi_ancho(1) sy-vline.
NEW-LINE.
ULINE AT (pi_ancho).
NEW-LINE.
FORMAT COLOR OFF.
ENDFORM. " print_cabecera_itab

También podría gustarte