Autor Tema: Archivo txt  (Leído 34488 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Irua

  • Novato
  • *
  • Mensajes: 13
    • Ver Perfil
Archivo txt
« en: 15 de Agosto de 2007, 08:29:25 pm »
Hola,

Necesito generar un archivo txt y luego enviarla a un servidor externo, favor si me pueden orientar para la sintaxis

gracias :)

Desconectado Nuria

  • Usuario Completo
  • ***
  • Mensajes: 90
    • Ver Perfil
Re: Archivo txt
« Respuesta #1 en: 16 de Agosto de 2007, 04:14:17 pm »
Hola Irua.

Me imagino que te refieres al bajar el fichero a UNIX, para ello puedes ver la documentación de los OPEN DATASET.

Este es un pequeño ejemplo de como se construye para que te puedas hacer una idea:



*  Abrimos el el archivo destino.
   OPEN DATASET file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.


*  Vemos si el archivo fue creado correctamente..
   IF sy-subrc NE 0.
      FORMAT COLOR 6 INTENSIFIED OFF.
      ULINE AT (80).
      WRITE: / sy-vline,
              ' No se pudo crear al archivo  : ',
              80 sy-vline.
      FORMAT COLOR 2 INTENSIFIED OFF.
      WRITE: / sy-vline,
               ' ', file,
               80 sy-vline.
      ULINE AT (80).

      EXIT.
ENDIF.



*  Recorremos la tabla que contiene las informaciones.
   LOOP AT rec.

*     Cargamos la linea que sera utilizada como buffer salida.
      linea1 = rec-campo1.
      linea2 = rec-campo2.

*     Cargamos la tabla interna con el contenido del archivo plano.
      TRANSFER linea TO file.

   ENDLOOP.


*  Cerramos el archivo ASCII plano.
   CLOSE DATASET file.



Un saludo.

Desconectado dgranja

  • Novato
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Archivo txt
« Respuesta #2 en: 16 de Agosto de 2007, 05:22:28 pm »
O utilizar la función WS_DOWNLOAD:

CALL FUNCTION 'WS_DOWNLOAD'
     EXPORTING
          FILENAME                = '\\empptm\imagen\PRESUP.txt'
          FILETYPE                = 'ASC'
      TABLES
           DATA_TAB                = it_presup
     EXCEPTIONS
          FILE_OPEN_ERROR         = 1
          FILE_WRITE_ERROR        = 2
          INVALID_FILESIZE        = 3
          INVALID_TYPE            = 4
          NO_BATCH                = 5
          UNKNOWN_ERROR           = 6
          INVALID_TABLE_WIDTH     = 7
          GUI_REFUSE_FILETRANSFER = 8
          CUSTOMER_ERROR          = 9
          OTHERS                  = 10.

Desconectado Irua

  • Novato
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Archivo txt
« Respuesta #3 en: 21 de Agosto de 2007, 04:02:15 pm »
Tengo el siguiente codigo, pero no me carga los datos en el archivo, favor si pueden ayudarme a corregir el error  ???

gracias



TABLES: ZTHR_USUA_EMPL,PA0001,PA0002,PA0032.


DATA: BEGIN OF T_DATA1 OCCURS 0,
      T_BURKS LIKE ZTHR_USUA_EMPL-BUKRS,
      T_PERNR LIKE ZTHR_USUA_EMPL-PERNR,
      T_ORGEH LIKE PA0001-ORGEH,
      T_NACHN LIKE PA0002-NACHN,
      T_VORNA LIKE PA0002-VORNA,
      T_GEBNR LIKE PA0032-GEBNR,
      T_ZIMNR LIKE PA0032-ZIMNR,
END OF T_DATA1.

DATA: BEGIN OF T_CORREO OCCURS 100,
  var type string,
END OF T_CORREO.

SELECT
         ZTHR_USUA_EMPL~BUKRS
         ZTHR_USUA_EMPL~PERNR
         PA0001~ORGEH
         PA0002~NACHN
         PA0002~VORNA
         PA0032~GEBNR
         PA0032~ZIMNR
    INTO TABLE T_DATA1
    FROM ZTHR_USUA_EMPL
    INNER JOIN PA0001 ON
        ZTHR_USUA_EMPL~PERNR = PA0001~PERNR
        AND endda ='99991231'
    INNER JOIN PA0002 ON
        ZTHR_USUA_EMPL~PERNR = PA0002~PERNR
        AND PA0002~endda ='99991231'
    INNER JOIN PA0032 ON
        ZTHR_USUA_EMPL~PERNR = PA0032~PERNR
        AND PA0032~endda ='99991231'.
*    *WHERE  ZTHR_USUA_EMPL~BUKRS IN S_TSOC
*        AND ZTHR_USUA_EMPL~PERNR IN S_TEMPL.

CONCATENATE T_DATA1-T_ORGEH T_DATA1-T_NACHN T_DATA1-T_PERNR INTO T_CORREO-VAR.

CALL FUNCTION 'DOWNLOAD'
 EXPORTING
*   BIN_FILESIZE                  = ' '
*   CODEPAGE                      = ' '
   FILENAME                      =  'D:\Users\Ialcala\My Documents\Irua\txt\prueba.txt'
   FILETYPE                      = 'ASC'
*   ITEM                          = ' '
*   MODE                          = ' '
*   WK1_N_FORMAT                  = ' '
*   WK1_N_SIZE                    = ' '
*   WK1_T_FORMAT                  = ' '
*   WK1_T_SIZE                    = ' '
*   FILEMASK_MASK                 = ' '
*   FILEMASK_TEXT                 = ' '
*   FILETYPE_NO_CHANGE            = ' '
*   FILEMASK_ALL                  = ' '
*   FILETYPE_NO_SHOW              = ' '
*   SILENT                        = 'S'
*   COL_SELECT                    = ' '
*   COL_SELECTMASK                = ' '
*   NO_AUTH_CHECK                 = ' '
* IMPORTING
*   ACT_FILENAME                  =
*   ACT_FILETYPE                  =
*   FILESIZE                      =
*   CANCEL                        =
  TABLES
    DATA_TAB                      = t_correo
*   FIELDNAMES                    =
* EXCEPTIONS
*   INVALID_FILESIZE              = 1
*   INVALID_TABLE_WIDTH           = 2
*   INVALID_TYPE                  = 3
*   NO_BATCH                      = 4
*   UNKNOWN_ERROR                 = 5
*   GUI_REFUSE_FILETRANSFER       = 6
*   OTHERS                        = 7
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Desconectado tgfch

  • Novato
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Archivo txt
« Respuesta #4 en: 24 de Agosto de 2007, 03:02:44 pm »
Hola, disculpa has probado con la función 'GUI_DOWNLOAD'
Saludos
tgfch

Desconectado AndresJG

  • Novato
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Archivo txt
« Respuesta #5 en: 24 de Agosto de 2007, 09:50:53 pm »
 ;D HOla Irua!

Te recomiendo que le pongas un BREAK "nombre del usuario que usas".   antes de la CALL FUNCTION 'DOWNLOAD'   y veas la tabla t_correo si tiene datos.  Si quieres te puedo pasar un ejemplo.

Suerte!!!

Saludos.  ;)

Desconectado AlfredoDegano

  • Novato
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Archivo txt
« Respuesta #6 en: 24 de Septiembre de 2007, 04:19:39 pm »
Por la práctica que he tenido, te recomiendo que utilices para ficheros que van hacer bajados en un servidor OPEN DATASET y para bajar localmente gui_download.
Saludos.

Desconectado Irua

  • Novato
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Archivo txt
« Respuesta #7 en: 24 de Septiembre de 2007, 05:43:59 pm »
Listo funciono con el OpendataSet

gracias a todos ;)