Saltar al contenido principal

EXPAND

Expandir datos de origen a tabla de destino mediante tabla intermedia​

El Expand es una transformación especial que, en principio, multiplica dos tablas (Source e Intermediate) entre sí: Si la tabla de la Source contiene 10 filas y la Intermediate 5 filas, se generarán 50 filas.

Una aplicación es la valoración de una tabla con datos de volumen de ventas planificado con datos de costes de fabricación (precio de material, precio de gastos generales de material, precio de costes de fabricación). En la primera fila, el volumen de ventas debe multiplicarse por el precio de material; en la segunda fila, el volumen de ventas por el precio de gastos generales de material, y así sucesivamente. Ahora surge el problema de que los datos de volumen de ventas planificado en la Source no solo contienen un material, sino varios, y los costes de fabricación en la Intermediate no solo incluyen los costes de fabricación de un material. Por lo tanto, debe ser posible comparar los valores clave de ambas tablas y multiplicar, por cada fila, solo aquellas filas en las que el número de material de la fila sea idéntico al de las filas en la Intermediate.


Pestaña Parámetros​

En la pestaña Parámetros, se define qué Shared Memory se utilizará como Intermediate. Luego, se puede especificar qué campos de la Source y de la Intermediate se compararán entre sí. Si es necesario, esto también se puede realizar mediante una fórmula.

EXPAND Reiter Parameter

Intermediate IDIndicación del objeto Shared Memory que se utilizará para el Expand
Tipo de combinaciónSeleccione SL Selección o XF Fórmula
Seleccionar fórmula(solo con fórmula XF)
Fórmula mediante la cual se seleccionarán las filas
Con la tecla F4 se puede seleccionar una fórmula ya creada.
Con la tecla SHIFT+F2 se accede al editor de fórmulas para modificar una fórmula seleccionada o crear una nueva.

Funcionamiento de las fórmulas de selección Si el resultado de la fórmula es verdadero o "1", se adoptará la fila de la Intermediate para la fila de la Source; de lo contrario, no.

Ejemplos de fórmulas

1=1Dado que el resultado siempre es verdadero, siempre se utilizan todas las filas de la Intermediate.
SRC-BUKRS = INT-BUKRSSolo se crearán las filas de la Intermediate por cada fila de la Source en las que el campo BUKRS sea idéntico.
IF INT-GJAHR >= SRC-GJAHR THEN 1 ENDIFSolo se crearán las filas de la Intermediate por cada fila de la Source en las que el campo GJAHR sea mayor o igual al campo GJAHR en la Source.

Pestaña Asignación de Source​

En esta pestaña se define qué campo de la Source se asigna a qué campo de la Target. Esto se realiza de forma análoga a la transformación MAP_FIELDS.

EXPAND Reiter Source Mapping

OrigenCampo en la estructura de origen
DestinoCampo en la estructura de destino al que se debe asignar el campo de origen

En el origen existen 2 funciones especiales, análogas a la transformación MAP_FIELDS:

  • Valor fijo: Si el texto está entre comillas simples, por ejemplo '1', la entrada se interpreta como un valor en lugar de como un campo.
  • Offset: Si al nombre del campo le sigue un "+", por ejemplo FELDNAME+6(10), esto se interpreta como un offset y una longitud: de "KS10000000001000" se eliminan los primeros 6 caracteres y se utilizan los 10 caracteres restantes, en el ejemplo "0000001000". FELDNAME+6 utiliza todo lo que hay después del 6º carácter, FELDNAME(4) utiliza los primeros 4 caracteres.

Pestaña Asignación de Intermediate​

En esta pestaña se define qué campo de la Intermediate se asigna a qué campo de la Target. Esto se realiza de forma análoga a la transformación MAP_FIELDS.

EXPAND Reiter Intermediate Mapping

IntermediateCampo en la tabla Intermediate
DestinoCampo en la estructura de destino al que se debe asignar el campo de la Intermediate

Pestaña Asignación dinámica​

En esta pestaña se puede definir qué campo de la Source se asigna al campo de la Target en función del valor del campo en la Intermediate.

EXPAND Reiter Dyn. Mapping

Ejemplo visual

Visuelles Beispiel Dyn. Mapping

El valor de los campos VALUE_A, VALUE_B, VALUE_C se transfiere al campo VALUE. Para la fila 1 de la Intermediate se utiliza VALUE_A, para la fila 2 VALUE_B y para la fila 3 VALUE_C.


Pestaña Fórmulas​

En esta pestaña se pueden definir fórmulas cuyo resultado se escribe en un campo de la Target, por ejemplo, "Volumen de ventas x Precio de material".

A través del campo Patrón, se pueden recorrer valores, por ejemplo, del 1 al 12, para no tener que crear una fórmula propia para cada campo del Valor01 al Valor12. De esta forma, durante la ejecución, se recorre cada valor del 1 al 12 y cada vez la entrada MONTH se sustituye por el valor.

EXPAND Reiter Formeln

FórmulaCon la tecla F4 se puede seleccionar una fórmula ya creada.
Con la tecla F2 se accede al editor de fórmulas para modificar una fórmula seleccionada o crear una nueva.
DestinoCampo que se debe modificar en el destino.
Patrón (Pattern)Con la ayuda de un patrón se pueden rellenar varios campos numerados con la misma fórmula o el mismo campo de origen.
Ejemplo: Se utiliza el Patrón MONTH. En el campo de destino se puede introducir ahora VALUE_W_(MONTH) para, por ejemplo, modificar los campos VALUE_W_01 a VALUE_W_12.
Desde/HastaDesde qué valor hasta qué valor se debe recorrer el patrón. En el ejemplo, del 1 al 12.

Las fórmulas se ejecutan en el orden de su creación.

Nota Para cambiar el orden de las fórmulas, se puede mover la fila en el ALV mediante arrastrar y soltar a la posición deseada.