Ver Mensaje Individual
  #5  
Viejo 26/10/06, 08:01:19
Avatar de davidsap
davidsap davidsap is offline
Member
 
Fecha de Ingreso: abr 2006
Mensajes: 85
Ok, lo he probado y funciona perfecto, aunque tenía dos errores (al menos en mi PC):

Antes de la función WS_DOWNLOAD tenías puesto DATA: W_SIZE TYPE I. que ya estaba declarada con anterioridad y en la propia función WS_DOWNLOAD hay que descomentar la línea de BIN_FILESIZE = W_SIZE.

En mi caso la tabla MARA tiene 4000 registros, y al ejecutar el programa se queda colgado. Yo lo he solucionado poniendo el siguiente código justo después del select:
LOOP AT I_IDOC2.
IF SY-TABIX > 20.
DELETE I_IDOC2 INDEX SY-TABIX.
ENDIF.
ENDLOOP.

De esta foma dejo la tabla interna sólo con 20 registros y me funciona perfectamente.

Por cierto, añadiendo al final del todo (o antes del WS_DOWNLOAD) el siguiente código:

CALL FUNCTION 'SDIXML_DOM_TO_SCREEN'
EXPORTING
document = M_DOCUMENT
EXCEPTIONS
others = 01.

Hacemos que se muestre por pantalla el código del fichero XML de la misma forma que si lo estuvieramos visualizando por pantalla, contrayendo y expandiendo los nodos. Igual no tiene demasiada utilidad pero bueno, yo lo pongo por si os sirve.

Muchas gracias por tu ayuda y un saludo a todos
Responder Con Cita