Problemas al extraer información de la memoria ABAP

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Junior Member
    • dic
    • 21

    #1

    Problemas al extraer información de la memoria ABAP

    Buen día tengan todos.

    Estoy creando un reporte donde realizo una llamada a un programa estándar y a una query para exportar la información a memoria y luego extraerla.

    Utilizo un SUBMIT enviando el nombre del programa y variante a utilizar con USING SELECTION-SET y luego EXPORTING LIST TO MEMORY AND RETURN.
    Luego extraigo con LIST_FROM_MEMORY.
    Y convierto a ascii con LIST_TO_ASCI.

    Del reporte estándar obtengo la información sin problemas.
    Sin embargo, cuando se ejecuta el programa de la query, al llegar a la función LIST_FROM_MEMORY no obtengo nada, pero he ejecutado el reporte query con la variante y sí tiene información. El SY-SUBRC es igual a 2 y sinceramente no sé de qué manera interpretar o manejar el error.

    Por otro lado, he intentado con la función RSAQ_QUERY_CALL la cual tiene un parámetro para enviar a memoria, pero no sé cómo extraer la información (con LIST_FROM_MEMORY tampoco me funciona). La función tiene una tabla que contiene toda la información que necesito pero no respeta el layout de la variante que le envío.

    Agradecería cualquier apoyo/comentario.
    Saludos.
  • Junior Member
    • dic
    • 21

    #2
    Re: Problemas al extraer información de la memoria ABAP

    He utilizado la función RSAQ_QUERY_CALL, la tabla que devuelve la función (la que contiene toda la información sin respetar el layout) la he guardado en una tabla TYPE REF TO DATA para luego hacerle ASSIGN a un FIELD SYMBOL TYPE TABLE.
    Recorrí con un LOOP ese FIELD SYMBOL y asigné a otro FIELD SYMBOL TYPE ANY solo los campos que necesitaba para luego guardarlo en los campos de una estructura que creé. De esta manera:

    LOOP AT <fs_table_typetable> ASSIGNING <fs_struct_typeany>.

    ASSIGN COMPONENT 'field1_name' OF STRUCTURE <fs_struct_typeany> TO <fs_field_typeany>.
    wa_qrydata-pernr = <fs_field_typeany>.
    UNASSIGN <fs_field_typeany>.
    ASSIGN COMPONENT 'field2_name' OF STRUCTURE <fs_struct_typeany> TO <fs_field_typeany>.
    wa_qrydata-ename = <fs_field_typeany>.
    UNASSIGN <fs_field_typeany>.
    (...)

    APPEND wa_qrydata TO it_qrydata.

    ENDLOOP.

    wa_qrydata es la estructura que creé y que contiene solo los campos que necesito.
    Todo esto me funcionó; sin embargo, sigo sin comprender por qué el EXPORT TO MEMORY no me funcionaba.

    Saludos.

    Comentario

    • Junior Member
      • ene
      • 1

      #3
      Re: Problemas al extraer información de la memoria ABAP

      Como usas la función RSAQ_QUERY_CALL???
      Yo me estoy volviendo loco.... y no consigo que me devuelva una tabla con los datos que necesito...
      Si uso la función RSAQ_REMOTE_QUERY_CALL si que me devuelve los datos, pero en un string todos seguidos separados por : o , o ;

      Puedes ayudarme??

      Gracias!

      Originalmente publicado por Ijezk-el
      He utilizado la función RSAQ_QUERY_CALL, la tabla que devuelve la función (la que contiene toda la información sin respetar el layout) la he guardado en una tabla TYPE REF TO DATA para luego hacerle ASSIGN a un FIELD SYMBOL TYPE TABLE.
      Recorrí con un LOOP ese FIELD SYMBOL y asigné a otro FIELD SYMBOL TYPE ANY solo los campos que necesitaba para luego guardarlo en los campos de una estructura que creé. De esta manera:

      LOOP AT <fs_table_typetable> ASSIGNING <fs_struct_typeany>.

      ASSIGN COMPONENT 'field1_name' OF STRUCTURE <fs_struct_typeany> TO <fs_field_typeany>.
      wa_qrydata-pernr = <fs_field_typeany>.
      UNASSIGN <fs_field_typeany>.
      ASSIGN COMPONENT 'field2_name' OF STRUCTURE <fs_struct_typeany> TO <fs_field_typeany>.
      wa_qrydata-ename = <fs_field_typeany>.
      UNASSIGN <fs_field_typeany>.
      (...)

      APPEND wa_qrydata TO it_qrydata.

      ENDLOOP.

      wa_qrydata es la estructura que creé y que contiene solo los campos que necesito.
      Todo esto me funcionó; sin embargo, sigo sin comprender por qué el EXPORT TO MEMORY no me funcionaba.

      Saludos.

      Comentario

      Trabajando...