¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo descargar un archivo de Excel con macros desde el servidor sin errores de asignación

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 92 Vistas
0
Cargando...

Hola,

Busqué en el foro una respuesta pero no encontré ninguna...

Así que aquí está mi pregunta:

Tengo un archivo de Excel con macros y quiero descargarlo desde el servidor.

El uso de gui_download crea un archivo que no puede ser leído por Excel.

HACER.

LEER DATASET makro_rag EN downtab.

SI sy-subrc > 0. SALIR. FIN-SI.

rec_len = STRLEN( downtab-tab ).

AGREGAR downtab.

FINHACER.

CERRAR DATASET makro_rag.

DESCRIBIR LA TABLA downtab LÍNEAS rec_cnt.

LLAMAR FUNCIÓN 'GUI_DOWNLOAD'

EXPORTANDO

filename = makro_rag_down

filetype = 'BIN'

IMPORTANDO

filelength = rec_len

TABLAS

data_tab = downtab

EXCEPCIONES

file_open_error = 1

file_write_error = 2.

Al usar cl_gui_frontend_services=>gui_download obtuve errores debido a asignaciones incorrectas.

HACER.

LEER DATASET makro_rag EN downtab.

SI sy-subrc > 0. SALIR. FIN-SI.

rec_len = STRLEN( downtab-tab ).

wa_heading-line = downtab-tab.

AGREGAR wa_heading a g_heading.

FINHACER.

cerrar dataset makro_rag.

LLAMAR MÉTODO cl_gui_frontend_services=>gui_download

EXPORTANDO

BIN_FILESIZE = rec_len

filename = 'c: empmakro_rag.xls'

FILETYPE = 'BIN'

cambiando

data_tab = g_heading

¿Alguien tiene alguna idea de qué está saliendo mal allí?

Gracias de antemano,

Sebastián

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Prueba revisando el módulo de función <b>TEXT_CONVERT_XLS_TO_SAP</b>.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Becker,

Prueba las siguientes transacciones: CG3Y o CG3Z.

Esto puede ayudar.

Ashven

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

hi,

use la función de módulo TEXT_CONVERT_XLS_TO_SAP para obtener valores directamente del archivo EXCEL a tu tabla interna.

REPORT  zupload_excel_to_itab.
 
TYPE-POOLS: truxs.
 
PARAMETERS: p_file TYPE  rlgrap-filename.
 
TYPES: BEGIN OF t_datatab,
      col1(30)    TYPE c,
      col2(30)    TYPE c,
      col3(30)    TYPE c,
      END OF t_datatab.
DATA: it_datatab type standard table of t_datatab,
      wa_datatab type t_datatab.
 
DATA: it_raw TYPE truxs_t_text_data.
 
* En la pantalla de selección
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      field_name = 'P_FILE'
    IMPORTING
      file_name  = p_file.
 
 
***********************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.
 
  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR        =
      i_line_header            =  'X'
      i_tab_raw_data           =  it_raw       " WORK TABLE
      i_filename               =  p_file
    TABLES
      i_tab_converted_data     = it_datatab[]    "ACTUAL DATA
   EXCEPTIONS
      conversion_failed        = 1
      OTHERS                   = 2.
 
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
 
 
***********************************************************************
* END-OF-SELECTION.
END-OF
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

Utiliza la función del módulo TEXT_CONVERT_XLS_TO_SAP para obtener valores directamente del archivo EXCEL a tu tabla interna.

REPORT  zupload_excel_to_itab.
 
TYPE-POOLS: truxs.
 
PARAMETERS: p_file TYPE  rlgrap-filename.
 
TYPES: BEGIN OF t_datatab,
      col1(30)    TYPE c,
      col2(30)    TYPE c,
      col3(30)    TYPE c,
      END OF t_datatab.
DATA: it_datatab TYPE standard table of t_datatab,
      wa_datatab TYPE t_datatab.
 
DATA: it_raw TYPE truxs_t_text_data.
 
* En pantalla de selección
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      field_name = 'P_FILE'
    IMPORTING
      file_name  = p_file.
 
 
***********************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.
 
  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR        =
      i_line_header            =  'X'
      i_tab_raw_data           =  it_raw       " WORK TABLE
      i_filename               =  p_file
    TABLES
      i_tab_converted_data     = it_datatab[]    "ACTUAL DATA
   EXCEPTIONS
      conversion_failed        = 1
      OTHERS                   = 2.
 
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
 
 
***********************************************************************
* END-OF-SELECTION.
END-
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?