Foro -Documentación -Código fuente -Contacto -Empleo

Buscar

Traducir

Amazon

Z_CREATE_TABLE PDF Imprimir E-mail
Usar puntuación: / 0
MaloBueno 
Código fuente - Ejemplos
Sábado, 05 de Junio de 2004 02:11
Crear tabla interna en tiempo de ejecución
REPORT YVOL_DYNATAB.

 TYPE-POOLS:  SLIS.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
       IS_FCAT LIKE LINE OF IT_FCAT.

DATA: IT_FIELDCAT TYPE LVC_T_FCAT,
       IS_FIELDCAT LIKE LINE OF IT_FIELDCAT.

DATA: NEW_TABLE TYPE REF TO DATA.
DATA: NEW_LINE TYPE REF TO DATA.

 FIELD-SYMBOLS:  <L_TABLE> TYPE ANY TABLE,
                <L_LINE> TYPE ANY,
                <L_FIELD> TYPE ANY.

DATA: BEGIN OF itab OCCURS 0,
       N1 LIKE MARA-MATNR,
       n2 LIKE MARA-MATNR,
       n3 LIKE MARA-MATNR,
       n4 LIKE MARA-MATNR,
      END OF itab.

 break-point.
* Build fieldcat
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' 
  EXPORTING
     I_STRUCTURE_NAME = 'SYST' 
  CHANGING
     CT_FIELDCAT = IT_FCAT[].

LOOP AT IT_FCAT INTO IS_FCAT WHERE NOT REPTEXT_DDIC IS INITIAL.
  MOVE-CORRESPONDING IS_FCAT TO IS_FIELDCAT.
   IS_FIELDCAT-FIELDNAME = IS_FCAT-FIELDNAME.
   IS_FIELDCAT-REF_FIELD = IS_FCAT-FIELDNAME.
   IS_FIELDCAT-REF_TABLE = IS_FCAT-REF_TABNAME.
  APPEND IS_FIELDCAT TO IT_FIELDCAT.
ENDLOOP.


* Create a new Table
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
  EXPORTING
*    IT_OUTTAB       = itab
     IT_FIELDCATALOG = IT_FIELDCAT
  IMPORTING
     EP_TABLE = NEW_TABLE.
* Create a new Line with the same structure of the table.
 ASSIGN NEW_TABLE->* TO <L_TABLE>.
 CREATE DATA NEW_LINE LIKE LINE OF <L_TABLE>.
 ASSIGN NEW_LINE->* TO <L_LINE>.
* Test it...
DO 30 TIMES.
   ASSIGN COMPONENT 'SUBRC'  OF STRUCTURE <L_LINE> TO <L_FIELD>.
   <L_FIELD> = SY-INDEX.
   INSERT <L_LINE> INTO TABLE <L_TABLE>.
ENDDO.
LOOP AT <L_TABLE> ASSIGNING <L_LINE>.
   ASSIGN COMPONENT 'SUBRC'  OF STRUCTURE <L_LINE> TO <L_FIELD>.
  WRITE <L_FIELD>.
ENDLOOP.

Comentarios
Buscar
¡Sólo los usuarios registrados pueden escribir comentarios!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
home search