MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   excel, leer campos,.... (foro/showthread.php?t=10571)

Mar_83 28/01/08 10:40:46

excel, leer campos,....
 
Hola!
tengo ke hacer que desde una tabla "excel"
me leen fila a fila y columna a columna los datos que yo introduzca.
se que se hace con un loop y creo ke tengo que utilizar un sy-tabix xo eske no se como se utiliza.
alguien me puede ayudar?
gracias de antemano.

ibecerra 28/01/08 20:44:55

q tal, como q no esta claro tu pregunta..
pero lo que deseas es que cada vez q insertes un registro en excel se cargue en sap?
o lo que deseas es cargar un archivo de excel a sap?

jflinaj 31/01/08 09:39:09

hola si lo que necesitas es leer una hoja Excel en tu programa, yo te pongo una forma para leer datos de una Excel y almacenarla en una tabla interna, no se si es lo que buscas pero yo te lo pongo:D :

DATA: i_excel TYPE alsmex_tabline OCCURS 0 WITH HEADER LINE. -> en esta tabla se cargaran los datos de la tabla excel.

DATA: BEGIN OF i_interna OCCURS 0, -> almacenaremos los datos de la i_excel
clave TYPE char3,
compania TYPE char3,
idvuelo TYPE char3,
precio TYPE char3,
ciu_sal TYPE char3,
ciu_lleg TYPE char3.
DATA: END OF i_interna.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_fich
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '6' -> numero de columnas de la hoja excel
i_end_row = '3' -> numero de filas de la hoja excel
TABLES
intern = i_excel . -> la tabla interna para la excel.
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
EXIT.
ENDIF.

IF i_excel[] IS INITIAL.
EXIT.
ENDIF.

con esta funcion rellenamos la tabla i_excel que recoge los datos de la escel.

LOOP AT i_excel. -> cargaremos los datos de la hoja excel a nuestra tabla iterna.

IF i_excel-col EQ 1. -> uno por cada columna
MOVE i_excel-value TO i_interna-clave. -> insertamos el valor de la cabecera de la i_excel en la cabecera de la tabla i_interna.
ENDIF.
copiaremos esto tantas veces como columnas tenga la Excel
….
AT END OF row.
APPEND i_interna. -> insertamos lo que hay en la cabecera en la i_interna.
ENDAT.
ENDLOOP.

si no era esto lo que buscabas seguro que te puede servir en otra situacion :p , y si era esto y tienes algun problema no dudes en comentarmelo :)
un saludo y espero haberte ayudado

Sergious 16/04/08 10:38:38

Excel a tabla interna
 
Buenas, estoy utilizando la función 'ALSM_EXCEL_TO_INTERNAL_TABLE'
para leer un .csv en una interfase de entrada, ahora...

funciona bien, pero el problema que tengo es que al ejecutar la interfase en proceso de fondo, este se cancela por el error en la carga del fichero...

Error al hacer el import del contenido del portapapeles
( message A037(ALSMEX). )

Alguien puede decirme algo al respecto?, necesito ejecutar la interfase en proceso de fondo...

Gracias.


Husos Horarios son GMT. La hora en este momento es 04:47:03.

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