Funcion KCD_EXCEL_OLE_TO_INT_CONVERT

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • marialeqd
    Senior Member
    • jun
    • 188

    #1

    Funcion KCD_EXCEL_OLE_TO_INT_CONVERT

    Hola foro!!
    Estoy utilizando la funcion KCD_EXCEL_OLE_TO_INT_CONVERT para subir un
    archivo Excel a una tabla interna … y me esta dando la EXCEPTIONS 2 …
    no se que pueda ser alguien tiene idea, o bien ah usado esta función,
    Gracias de antemano por ya ayuda,
    Saludo
    Mary,
    Mariale
  • oarranzli
    Senior Member
    • jun
    • 373

    #2
    Hola:

    ¿Podría ser que tienes abierto el fichero Excel que quieres descargar? A veces estas funciones de descarga no funcionan porque el fichero está abierto.

    Óscar
    Óscar
    http://www.blogdesap.com

    Comentario

    • marialeqd
      Senior Member
      • jun
      • 188

      #3
      hola oscar gracias por tu respuesta , no no tengo el fichero abierto ... sabes tengo dudas con respecto a est afuncion sabes lo que pasa es que la e utilizado anteriormente pero en otra version de sap, ahora estoy en 4.6 y los parametros cambiaron anter era:

      CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
      EXPORTING
      FILENAME = P_FILE
      RANGE_BEGIN = 'A1'
      RANGE_END = 'I65536'
      TABLES
      INTERN = int_tab
      EXCEPTIONS
      OTHERS = 1.
      y ahora es :

      CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
      EXPORTING
      FILENAME = P_FILE
      I_BEGIN_COL = L_BEGIN_COL
      I_BEGIN_ROW = L_BEGIN_ROW
      I_END_COL = L_END_COL
      I_END_ROW = L_END_ROW
      TABLES
      INTERN = INT_TAB
      EXCEPTIONS
      INCONSISTENT_PARAMETERS = 1
      UPLOAD_OLE = 2
      OTHERS = 3.
      en un programa estandar vi que manejan el llenado de los parametros de entrada con FIELD-SYMBOLS pero aun asi lo hago y nada ... tambien declare la tabla:
      TYPE KCDE_INTERN_STRUC OCCURS 0 WITH HEADER LINE. pero igual no me funciona .... por fa si alguien a trabajado con esta funcion que me de alguna idea...
      Mariale

      Comentario

      • oarranzli
        Senior Member
        • jun
        • 373

        #4
        Hola marialeqd:

        No conozco esa función. ¿Por qué no pruebas con la función ALSM_EXCEL_TO_INTERNAL_TABLE?

        call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        exporting
        filename = (fichero_excel_origen)
        i_begin_col = (columna_inicial)
        i_begin_row = (fila_inicial)
        i_end_col = (columna_final)
        i_end_row = (fila_final)
        tables
        intern = (tu_tabla_interna_destino)
        exceptions
        inconsistent_parameters = 1
        upload_ole = 2
        others = 3.

        Ésta no creo que te dé problemas.

        Saludos,
        Óscar
        Óscar
        http://www.blogdesap.com

        Comentario

        • marialeqd
          Senior Member
          • jun
          • 188

          #5
          buenos dias oscar, gracias lo voy a intentar con esa funcion...
          Mariale

          Comentario

          • marialeqd
            Senior Member
            • jun
            • 188

            #6
            hola oscar .. pues nada eda bapi no existe en la version en la que estoy....
            Mariale

            Comentario

            • oarranzli
              Senior Member
              • jun
              • 373

              #7
              HOLA MARIALEQD

              no es una BAPI, es un módulo de funciones.
              Óscar
              http://www.blogdesap.com

              Comentario

              • LouieBoy
                Member
                • ago
                • 86

                #8
                Hola,
                Prueba la funcion GUI_UPLOAD, por lo que he leido la función KCD_EXCEL_OLE_TO_INT_CONVERT está en deshuso, por algo será, aunque a mi personalmente nunca me ha dado problemas...

                Prueba de pasarle la tabla interna con este formato, a mi me funciona

                DATA: BEGIN OF EXCEL_TAB OCCURS 0,
                ROW LIKE KCDE_CELLS-ROW,
                COL LIKE KCDE_CELLS-COL,
                VALUE LIKE KCDE_CELLS-VALUE.
                DATA: END OF EXCEL_TAB.

                La ruta tambien te puede dar problemas, o si el fichero tiene algun tipo de protección...

                Espero haber sido de ayuda.

                Un saludo,

                LouieBoy.

                Comentario

                • marialeqd
                  Senior Member
                  • jun
                  • 188

                  #9
                  hola, gracias por la respuesta, sabes la GUI_UPLOAD tampoco exixste en la version en la que estoy... .
                  una pregunta que parametros le pasas a KCD_EXCEL_OLE_TO_INT_CONVERT yo le estoy pasando asi:
                  L_BEGIN_COL = '9999'.
                  L_BEGIN_ROW = '9999'.
                  L_END_COL = '0000'.
                  L_END_ROW = '0000'.


                  DATA: L_INTERN TYPE KCDE_INTERN.

                  CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
                  EXPORTING
                  FILENAME = P_FILE
                  I_BEGIN_COL = L_BEGIN_COL
                  I_BEGIN_ROW = L_BEGIN_ROW
                  I_END_COL = L_END_COL
                  I_END_ROW = L_END_ROW
                  TABLES
                  INTERN = L_INTERN "INT_TAB
                  EXCEPTIONS
                  INCONSISTENT_PARAMETERS = 1
                  UPLOAD_OLE = 2
                  OTHERS = 3.

                  me puedes dar una pista
                  Mariale

                  Comentario

                  • Gregoryg
                    Senior Member
                    • abr
                    • 115

                    #10
                    Hola

                    pasale a la funcion los valores que te indico a continuacion:

                    L_BEGIN_COL = '1'.
                    L_BEGIN_ROW = '1'.
                    L_END_COL = '256'.
                    L_END_ROW = '65536'.

                    El campo L_END_COL no puede tomar un valor por encima de 256 ya que estas son el numero de columnas maximas que puede contener una hoja excel.

                    Igual pasa con el Campo L_END_ROW, que es el numero de fila maximas que puede contener una hoja de excel

                    Si le colocas valores por encima de esos te de una exceptions.

                    Muy importante ninguno de los campos debe ser inicial, ya que sidejas alguno el balnco no funciona la función...

                    Espero que sea de tu ayuda

                    Saludos
                    GregoryG

                    Comentario

                    • oarranzli
                      Senior Member
                      • jun
                      • 373

                      #11
                      Hola Marialeqd:

                      ¿Qué transacción estás utilizando para buscar los módulos de funciones? Supongo que es la SE37 y no la tx BAPI.

                      Saludos,
                      Óscar
                      http://www.blogdesap.com

                      Comentario

                      • LouieBoy
                        Member
                        • ago
                        • 86

                        #12
                        Buenas, pues vaya putada.... yo he utilizado estos parametros en mi ultimo report
                        CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
                        EXPORTING
                        FILENAME = p_ruta
                        I_BEGIN_COL = 1
                        I_BEGIN_ROW = 2
                        I_END_COL = 9
                        (depende de la cantidad de columas que tenga el excel, yo lo ajustaría a esto, si es q todos los excels q vas a importar tienen la misma estructura, claro)
                        I_END_ROW = C_NUM_REGS (esto vale 1000)
                        TABLES
                        INTERN = int_tab
                        EXCEPTIONS
                        INCONSISTENT_PARAMETERS = 1
                        UPLOAD_OLE = 2
                        OTHERS = 3.

                        A ver si ahora funciona....

                        Saludos

                        LouieBoy
                        Editado por última vez por LouieBoy; 01/09/2006, 07:17:25.

                        Comentario

                        • marialeqd
                          Senior Member
                          • jun
                          • 188

                          #13
                          Gracias chicos.... por fin funciona

                          hola chiquillos.. por fin funciona .. efectivamente mi querido gregory era el rango que le estaba pasando a los parametros..
                          Oarranliz.. si estaba buscando por la se37 y el modulo de funcion que me dices no existe .. pero esta ya funciono.. de todas maneras gracias,
                          LouieBoy ... gracias por la ayuda.
                          besos a todos
                          Mariale

                          Comentario

                          • LouieBoy
                            Member
                            • ago
                            • 86

                            #14
                            Me alegro q lo hayas "solusionao"

                            Un saludo.

                            LouieBoy

                            Comentario

                            Trabajando...