SAP ABAP Estructura de datos a la Tabla Interna

Soy un novato en código ABAP y SAP de programación (3 días de experiencia en realidad,primero oyó todas estas cosas los lunes). Actualmente estoy en una tarea de escribir informes utilizando el código ABAP. Esto es como mover algunos datos de una base de datos de SAP a una Inteligencia de Negocio del área de ensayo…

Llegar al tema – por Lo que el núcleo de la dificultad es que algunos datos en el servidor SAP está en el formato de diccionario de las estructuras(para ser straightfoward, los datos son de FMOIX, FMCOX, etc.) Necesito mover estos datos en las tablas internas durante el programa en tiempo de ejecución. Me dijeron que ABRA SQL no funciona en este caso.

Si usted todavía no se a lo que me refiero, puedo sugerir varias maneras, en realidad por mi supervisor. La primera es el uso de CONSEGUIR evento, dicen
OBTENER FMOIX.
SI FMOIX-zhdlt > From_dat y FMOIX-zhdlt < to_dat.
Anexar FMOIX a itab.
ENDIF.
La cosa es que aún no estoy muy claro acerca de este evento. Es sólo un controlador de eventos cosa, o puede bucle a través de los registros de datos?

Lo busqué en google para más de dos días me dan algo como
Bucle en FMOIX.
MOVER FMOIX a itab.
ENDLOOP.

Entonces, ¿cuáles son las maneras de avanzar transaccional estructura como FMOIX en tablas internas, decir el nombre de la tabla interna es ITAB?
Su respuesta será muy apreciada. A pesar de que tengo tiempo, estoy totalmente nuevo. (lo que es más, mi SAP máquina virtual está todavía me causa problemas.)
Muchas gracias.

InformationsquelleAutor Alex | 2012-06-20

2 Kommentare

  1. 2

    Si su supervisor lo que sugiere que se utilice el GET caso, significa que el programa es (o debería ser) el uso de un lógico de la base de datos – en este caso, probablemente la FMF o FMF_BCS.

    Haciendo GET FMOIX lee un conjunto de campos definidos en la base de datos lógica (como nodo). Debajo de su instrucción GET, puede utilizar FMOIX como una estructura, por ejemplo,WRITE FMOIX-field1. El programa (de forma implícita, no está claramente definido en el código como un LOOP...ENDLOOP es) de bucle a través de todas las filas devueltas de acuerdo a sus criterios de selección. Usted debe ser capaz de utilizar MOVE-CORRESPONDING para mover el contenido de cada fila en una estructura adecuada y, a continuación, APPEND que la estructura de su itab.

    Enlace rápido en LLEGAR: Biblioteca SAP

    Nota: esta respuesta es un poco de una conjetura, ya que solo he usado una base de datos lógica de una vez, y la documentación es un poco delgada en el suelo en comparación con los volúmenes que hay sobre el estándar de SELECTs y tablas internas.

    • Sí, he comprobado en la web, pero no encuentro mucho acerca de cómo lidiar con la base de datos lógica, esp la estructura. Así que quieres decir primero debo declarar una estructura intermedia en el programa, además de la FMOIX; a continuación, carga de datos en tiempo de ejecución de FMOIX en la estructura, más tarde anexar a la itab?
    • Sí, eso suena bien. De modo que los DATOS: ls_fmoix tipo fmoix, lt_fmoix tabla de tipo de fmoix (o algo así, no estoy seguro de que el diccionario de tipos en cuestión). No creo que se anexa a la LDB estructura directamente a una itab iba a funcionar (pero que podría darle una oportunidad!)
  2. 0

    Usted puede crear su tabla interna en el tipo de estructura, tales como:

    data: itab like table of fmoix with header line.
    

    Y usted puede utilizar esta tabla interna para llenar dondequiera que usted está utilizando su seleccione los códigos.
    Tales como:

    select * from ____
       into corresponding fields of itab 
       where zhdlt gt from_dat
       and   zhdlt lt to_dat.
    

    No estoy seguro de que es lo que buscas pero te puedo decir que la creación de itab en el tipo de estructura que puede ser llenado con todos los datos que vienen de tu select. Usted no puede bucle FMOIX porque no es una tabla, es una estructura. Entonces, ¿hay alguna razón específica para mantener tus datos en estructuras?

    Esperanza era útil.

    Talha

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea