Anuncio

Colapsar
No hay anuncio todavía.

Conversion a Excel (FicheroLocal -> Hoja Calculo Coste)

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Conversion a Excel (FicheroLocal -> Hoja Calculo Coste)

    Hola amigos.

    He desarrollado un reporte de rendimientos de productos para usarios de PP y casi lo tengo listo si no fuese por un detallito que se me ha presentado.
    Al convertir a excel el reporte ALV, la columna de rendimientos se está quedanto en este proceso de conversión. Si copio la linea/fila de ese ALV y lo pego a excel si se refleja.

    He buscado ayuda en estos foros y encontré que se pudiera tratar de:
    -Tipos de Datos (Los cuales ya he revisado con detenimiento).
    -Posible parshe de saplogin (se le recomendaba al compañero del foro actualizar el 15 y él se fue al 6 y nada, el problema persistía).

    Todas las operaciones aritméticas las dejo del lado de la variante de visualización, excepto una que si hago desde el código alterando el contenido de esta operación aritmética (rendimiento).

    El Alv está así:



    P.Entrada CantDia_SE P.Salida CantDia_PT %Rendimiento
    A 100 A1 35
    A2 40
    A3 20
    Totales=> 100 95 95.00

    B 200 B1 100
    B2 60
    Totales => 200 160 80.00

    Total Final 300 255 85.00

    Cuando convierto a excel el 95.00 y 80.00 no se reflejan.



    A continuació parte del código en donde calculo los rendimientos.

    *Cargamos el Grid de datos del ALV. Además de los totales de las 2 columnas
    * de cantidades, tambien en la variante se suman la columna de rendimiento
    * con el fin de poder cargar ese dato de la linea de subtotales y totales y
    * luego poder manipularlo. En este caso hacer una división.

    CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
    e_grid = lo_grid.

    "Cargamos las Lineas de Totales del ALV.
    CALL METHOD lo_grid->get_subtotals
    IMPORTING
    ep_collect00 = it_00 " Total general
    ep_collect01 = it_01 " Subtotal por Producto SemiElaborado
    *
    *Para el caso de muestra, tomaremos la linea de totales SemiElaborado
    * (P.Entrada). De la misma forma hago con el Rendimiento Total (Total
    * general it_00)
    *
    ASSIGN it_01->* TO <ft_tab>.

    " Recorremos el subtotal por Producto SemiElaborado,
    " previamente cargado (it_01 to <ft_tab>. Habran tantos sub-totales
    " como productos semielaborados hayan.

    LOOP AT <ft_tab> ASSIGNING <fs_tab>.
    ASSIGN COMPONENT 'CANTDIA_SE' OF STRUCTURE <fs_tab> TO <ff_field>.
    cantDia_se = <ff_field>.
    UNASSIGN <ff_field>.
    ASSIGN COMPONENT 'CANTDIA_PT' OF STRUCTURE <fs_tab> TO <ff_field>.
    cantDia_pt = <ff_field>.
    UNASSIGN <ff_field>.

    IF cantDia_se IS NOT INITIAL.
    ASSIGN COMPONENT 'RENDI_DIA' OF STRUCTURE <fs_tab> TO <ff_field>.
    <ff_field> = ( cantDia_pt / cantDia_se ) * 100 .
    UNASSIGN <ff_field>.
    Endif.

    Endloop.

    * Refresh the table display
    CALL METHOD lo_grid->refresh_table_display
    EXPORTING
    i_soft_refresh = 'X'.


    Bueno amigos, espero haber sido un poco claro con el problemilla.
    Todo comentario es bien recibido.

    Saludos desde Panamá y eque estén muy bien.
    Archivos Adjuntos

  • #2
    Hola,

    ese error te aparece cuando quieres exporta a Excel desde la opción exportar a fichero local?
    porque si no es así te recomiendo que utilices esa opción y lo almacenes como texto plano y seleccionas la opción .CSV y tendrías el problema solucionado.

    Comentario


    • #3
      Hola

      Si el icono de exportar a fichero local con el arxhivo tipo excel, puedes crear un botón con la opción de exportar tu tabla interna de datos utilizando la función :

      CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT_COL'
      EXPORTING
      file_name = p_path
      create_pivot = ' '
      data_sheet_name = ' '
      pivot_sheet_name = ' '
      password = ' '
      password_option = 0
      TABLES
      pivot_field_tab = f_pivot
      data_tab = ti_excel
      fieldnames = f_campos
      EXCEPTIONS
      file_not_exist = 1
      filename_expected = 2
      communication_error = 3
      ole_object_method_error = 4
      ole_object_property_error = 5
      invalid_filename = 6
      invalid_pivot_fields = 7
      download_problem = 8
      OTHERS = 9.

      Comentario


      • #4
        Gracias Esteban / Irman.

        Bueno veré el tema de poner un botón y llamar a la función que comenta Esteban. Se me olvidaba comentarles que al final el usuario optó por hacer un copy - paste dell contenido del ALV y funcionó, ya tiene una plantilla que le ha dejao los titulos y encabezados y le pega el contenido del ALV (unos cuantos pasos mas pero funciona).

        Me comprometo a aplicar la opción que me sugieren y tan pronto la prueba, les comento

        Gracias a ambos y que esten muy bien.

        Comentario


        • #5
          Este tipo de cosas solo pasan cuando el campo del ALV no se encuentra bien referenciado en el catalogo de campos. Intenta referenciar correctamente los datos al rellenar la tabla del Catalogo de Campos.

          Un Saludo.
          SAP solo es el medio a través del cual se expresa nuestra imaginación.

          Comentario

          Trabajando...
          X