IMPORT i_table FROM MEMORY ID vg_id

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • yagoanton
    Junior Member
    • ene
    • 15

    #1

    IMPORT i_table FROM MEMORY ID vg_id

    Buenas a tod@s.
    Estoy revisando un programa SAP y me he topado con esta sentencia.

    import i_vbpa from memory id 'VBPA'.
    export i_vbpa to memory id 'VBPA'.

    No viene muy bien explicado en la ayuda de SAP.
    Alguien me puede decir que es lo que hace esta sentencia?
    Tiene que venir el Import seguido de un export? o puede ir el import solo?
    Me da un dump en el Import (Parece ser que el error es por la diferencia de longitud...pero ¿De que?)

    La tabla está declarada de la siguiente manera:
    data: begin of i_vbpa occurs 1.
    include structure vbpavb.
    data: end of i_vbpa.

    Si alguien me puede ayudar...se lo agradeceré.
    Un saludo a todos y gracias de antemano!
  • abapconsultoria
    Senior Member
    • ene
    • 101

    #2
    Que tal.

    Te comento las sentencia import/export extraen y colocan variables en memoria respectivamente.

    La memoria donde estas intrucciones ubican los datos se denomina memoria ABAP y es una memoria comun dentro de session externa.

    Estas sirve por ejemplo para pasar datos entre programas. que se ejecutan dentro de la misma session externa.

    Con el import se sube a la memoria y con el export se recupera.

    Lo que se le pasa es una variable donde se colocan los datos a tratar y se les asigna un ID para poder identificarlos.

    Generalmente el export esta antes que el import.

    Nunca me dio un dump por ese motivo... por las dudas intenta declarar la tabla de tipo occurs 0. No creo que tenga mucho que ver pero podriamos ver que pasa. Para dar un diasnostico mas serio podrias pegar el DUMP aqui ??

    Saludos
    ABAPCONSULTORIA@GMAIL.COM

    www.consultoriaabap.blogspot.com

    Lo importante no es saber sino saber quien es el que sabe

    Comentario

    • yagoanton
      Junior Member
      • ene
      • 15

      #3
      OK!
      Intentaré declarar "OCCURS 0".
      de todas formas te adjunto el DUMP.

      Otra cosa que puede servir, es que justo antes de declarar:

      import i_vbap from memory id 'VBAP'.
      import i_vbpa from memory id 'VBPA'.
      export i_vbpa to memory id 'VBPA'.


      Como ves tenemos dos "import" a la misma memoria..puede ir por ahí los tiros?

      Bueno seguiré investigando.
      muchas gracias.
      Archivos Adjuntos

      Comentario

      • abapconsultoria
        Senior Member
        • ene
        • 101

        #4
        No hay problema con que se haga 2 veces import o export.... es lo mismo a lo sumo lo pisa o lo lee 2 veces dependiendo de que estes haciendo. Eso no proboca dump.

        Por otro lado si podes enviame el dump entero con el vuelco de memoria.

        Por otro lado veo que el problema es la longitud... con que longitud estas subiendo la estructura/tabla ??

        Si podes pasame las partes de codigo donde exportas e importas las ordenes.

        Saludos.
        ABAPCONSULTORIA@GMAIL.COM

        www.consultoriaabap.blogspot.com

        Lo importante no es saber sino saber quien es el que sabe

        Comentario

        • yagoanton
          Junior Member
          • ene
          • 15

          #5
          Buenas.
          Lo primero agradecerte la ayuda.
          Te envio el DUMP completo.
          No lo declaro antes, ese "import" es la primera llamada a esa estructura "i_vbpa".

          Si necesitas algo mas....pidelo, ok?
          Gracias de nuevo!
          Archivos Adjuntos

          Comentario

          • yagoanton
            Junior Member
            • ene
            • 15

            #6
            Ya Está Solucionado

            EL tema era que se debía llnar la memoria con valores no validos.
            Ademas de limpiarla antes de entrar en este programa "Z" se le ha puesto al import la variable ACCEPTING TRUNCATION, com muestro:
            import i_vbpa from memory id 'VBPA' ACCEPTING TRUNCATION.

            Bueno espero que esto ayude a alguien.
            Un saudo.

            Comentario

            Trabajando...