Open Dataset

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • nys
    Junior Member
    • ene
    • 2

    #1

    Open Dataset

    Hola a todos.

    Estoy transfiriendo una tabla interna con muchos campos y al hacer el open dataset y el transfer parece que lo hace bien.
    Cuando voy a ver lo que me ha grabado a la al11 solo hay unos campos, no todos.

    Tiene limite? Alguna idea de lo que pasa?
  • larmadovr
    Member
    • ene
    • 77

    #2
    Que tal.

    Respecto al límite es posible que tenga, por que alguna vez me paso igual.

    No se si cuando haces tu open dataset estes pasando lo siguiente

    campo1,campo2,campo3,campo4, ... campo n

    En caso de que lo estes haciendo así, intenta lo siguiente

    concatenate campo1 campo2 campo3 campo4 campon
    into it_table-reg.

    y despues lo mandas como si fuera un solo registro.

    Si no te sirve, prueba esta funcion:

    path = 'ruta del servidor'

    CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
    filename = path
    filetype = 'DAT'
    TABLES
    data_tab = ti_salida
    EXCEPTIONS
    file_open_error = 1
    fiel_write_error = 2
    invalid_filesize = 3
    invalid_table_width = 4
    invalid_type = 5
    no_batch = 6
    unknown_error = 7
    OTHERS = 8.

    IF sy-subrc EQ 0.
    MESSAGE s010(ad) WITH 'Archivo' path 'Creado'.
    ELSE.
    MESSAGE i010(ad) WITH 'El archivo no se pudo crear'.
    ENDIF.


    Espero te sirva cualquiera de estas 2 opciones.

    Saludos.
    I.S.C.T. Luis Armando Valdez Rodríguez
    Consultor ABAP
    correo: larmandovr@hotmail.com
    cel: (045) 5537406023

    "La vida premia la acción"

    Comentario

    • DavidXD_XD
      Moderator
      • ago
      • 1255

      #3
      Hola, ahora que lo comenta Larvadomr a mi tambien me paso algo similar, no se me visualizaban campos .... lo resolvi mandando al directorio una tabla con una linea de caracteres, x ejemplo mi tabla interna tenia unos 62 campos, contando los caracteres salia algo de 2500 caracteres, entonces hice esto:

      DATA: BEGIN OF t_itab OCCURS 0,
      line(2500),
      END OF t_itab.
      DATA: l_itab(2500).
      * Mi tabla interna con los 62 campos se llamaba ti_det2
      * Paso todos los registros a t_itab
      t_itab[] = ti_det2[].
      * En v_ruta_fin concatene la ruta del directorio incluido
      * con el nombre del archivo
      OPEN DATASET V_RUTA_FIN FOR OUTPUT IN TEXT MODE.

      LOOP AT t_itab INTO l_itab.

      TRANSFER l_itab TO v_ruta_fin LENGTH 2500.

      IF sy-subrc <> 0.
      MESSAGE ID 'SU' TYPE 'I' NUMBER '000'
      WITH 'No se pudo subir el archivo de proceso al servidor'.
      EXIT.
      ENDIF.

      ENDLOOP.

      CLOSE DATASET V_RUTA_FIN.

      Espero te sirva
      David Carballido Córdova

      Comentario

      Trabajando...