MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 08/08/08, 16:58:43
aldape aldape is offline
Senior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 204
Tabla con columnas dinamicas

Es posible crear en ABAP una tabla que tenga un numero variable de columnas???

Esto seria lo mas comodo para los usuarios.. espero que me puedan ayudar..

saludos!
Responder Con Cita
  #2  
Viejo 08/08/08, 17:00:41
aldape aldape is offline
Senior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 204
pero que cosa! jejeje

es el primer registro en aparecer en el google.com





Saludos!!
Responder Con Cita
  #3  
Viejo 08/08/08, 17:36:04
aldape aldape is offline
Senior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 204
De todas formas me dice que el tipo global no existe... cl_salv_table...
alguna idea?
Responder Con Cita
  #4  
Viejo 08/08/08, 18:00:59
aldape aldape is offline
Senior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 204
encontre un ejemplo muy bueno con una amiga mia...

BCALV_TABLE_CREATE


es un ejemplo de programa que viene ya en el SAP... ejecutenlo con la se38

espero que a alguien le sirva!!!
saludos
Responder Con Cita
  #5  
Viejo 08/08/08, 19:12:23
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola Aldape, esa clase no existe por problemas de version ... me paso algo similar cuando queria crear un archivo con extension .zip, me salio en el ECC 6.0 pero en el 4.6 no
__________________
David Carballido Córdova
Responder Con Cita
  #6  
Viejo 08/08/08, 20:25:55
Avatar de frankmerlos
frankmerlos frankmerlos is offline
Member
 
Fecha de Ingreso: oct 2006
Localización: San Salvador, El Salvador
Mensajes: 51
Hola ALDAPE.

Te copio un ejemplo de como crear una tabla dinamica.

Pero igual necesitas un numero finito de columnas.

Espero te sirva.

Saludos.

*&---------------------------------------------------------------------*
*& Report ZSVPRUEBAS95
*&---------------------------------------------------------------------*

REPORT ZSVPRUEBAS95.

************************************************************************
* TABLAS DEL SISTEMA.
TABLES: GLT0, SKAT, BSEG, BKPF, T001, BSIS, BSAS, T880.

DATA : BEGIN OF TI_CUENTAS_INTER2 OCCURS 0.
DATA TIPO(1).
DATA CNTRY LIKE T880-CNTRY.
DATA BUKRS LIKE BSIS-BUKRS.
DATA VBUND LIKE BSIS-VBUND.
DATA DMBTR LIKE BSIS-DMBTR.
DATA : END OF TI_CUENTAS_INTER2.

************************************************************************

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.
DATA: POS TYPE I.

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

* Build fieldcat
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'BSIS'
CHANGING
CT_FIELDCAT = IT_FCAT[].


POS = 1.

IS_FIELDCAT-COL_POS = POS.
IS_FIELDCAT-FIELDNAME = 'TIPO'.
IS_FIELDCAT-REF_FIELD = ''.
IS_FIELDCAT-REF_TABLE = ''.
APPEND IS_FIELDCAT TO IT_FIELDCAT.

POS = 2.

IS_FIELDCAT-COL_POS = POS.
IS_FIELDCAT-FIELDNAME = 'CNTRY'.
IS_FIELDCAT-REF_FIELD = ''.
IS_FIELDCAT-REF_TABLE = ''.
APPEND IS_FIELDCAT TO IT_FIELDCAT.

POS = 3.

LOOP AT IT_FCAT INTO IS_FCAT WHERE NOT REPTEXT_DDIC IS INITIAL.
IF IS_FCAT-FIELDNAME = 'BUKRS' OR
IS_FCAT-FIELDNAME = 'VBUND' OR
IS_FCAT-FIELDNAME = 'DMBTR'.
MOVE-CORRESPONDING IS_FCAT TO IS_FIELDCAT.
IS_FIELDCAT-COL_POS = POS.
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.
POS = POS + 1.
ENDIF.
ENDLOOP.

BREAK FMERLOS.

* Create a new Table
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
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 'BUKRS' 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.
Responder Con Cita
  #7  
Viejo 08/08/08, 21:23:41
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola de nuevo ... aqui he mejorado un poco el codigo que encontró Aldape, pero creo q funciona con una version superior a la 4.6, una tabla interna que me da hasta 80 campos ...

__________________
David Carballido Córdova
Responder Con Cita
  #8  
Viejo 11/08/08, 15:59:21
aldape aldape is offline
Senior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 204
Hola! muchas gracias por su apoyo!..

problema resuelto :P (Next!!!)


saludos!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 07:18:11.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web