Ver Mensaje Individual
  #3  
Viejo 23/11/07, 12:58:51
Avatar de Daniela Gutierrez
Daniela Gutierrez Daniela Gutierrez is offline
Junior Member
 
Fecha de Ingreso: ene 2007
Localización: Venezuela
Mensajes: 11
Question Problemas con Modify

Si, toda mi tabla dinamica y work area corre perfectamente, lo que pasa es que no te copie todo el codigo, te lo pongo abajo, el problema esta es cuando quiero modificar mi tabla transparente de mi work area, fijate:

REPORT z5_convert_tabla.

TYPE-POOLS: slis.

TABLES: dd03p.

DATA: it_fcat TYPE slis_t_fieldcat_alv,
is_fcat LIKE LINE OF it_fcat,
nametab TYPE slis_tabname.

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,
<monto> TYPE ANY,
<campo> TYPE ANY,
<l_field> TYPE ANY.

*//Pantallas.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_tabla TYPE tabname16.
SELECT-OPTIONS: s_campos FOR dd03p-fieldname NO INTERVALS.
SELECTION-SCREEN END OF BLOCK b1.

*// Catalogo
nametab = p_tabla.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = nametab
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.

break dgutierrez.

*// Crear tabla interna dinámica.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_fieldcat
IMPORTING
ep_table = new_table.


*// Crear area de trabajo de la estrcutura de la misma tabla.
ASSIGN new_table->* TO <l_table>.
CREATE DATA new_line LIKE LINE OF <l_table>.
ASSIGN new_line->* TO <l_line>.



*//Busqueda de datos a convertir.
SELECT * FROM (p_tabla)
INTO CORRESPONDING FIELDS OF TABLE <l_table>.
break dgutierrez.
break atravascio.

DATA: var(100),
cal(15) TYPE c.


*//Conversión de datos.
LOOP AT <l_table> INTO <l_line>.
LOOP AT s_campos.
ASSIGN COMPONENT s_campos-low OF STRUCTURE <l_line> TO <l_field>.
<l_field> = <l_field> / 1000.
MODIFY (nametab) from <l_field>.
ENDLOOP.
ENDLOOP.

Esto me da un error en tiempo de ejecución (dump) : SAPSQL_WA_TOO_SMALL
__________________
Daniela Gutierrez
Consultor ABAP

Venezuela
Responder Con Cita