Expresiones: ejemplo detallado

En este ejemplo detallado se ilustra más ampliamente cómo usar el creador de expresiones para crear la lógica empresarial personalizada.

Consulte los siguientes tutoriales para obtener más información sobre el creador de expresiones:

En este ejemplo, deseamos arrastrar nodos de una dimensión Cuenta en una aplicación General Ledger de Oracle Financials Cloud a una dimensión Account en una aplicación Corporate Planning. Para ello, hemos configurado un conversor de tipo de nodo entre los tipos de nodo de cada aplicación. (Para obtener más información sobre la conversión de tipos de nodo, consulte Trabajo con conversores de tipo de nodo). Crearemos la siguiente expresión para transformar la propiedad Tipo de cuenta en la aplicación de Planning:

Si el tipo de cuenta de la aplicación General Ledger de Oracle Financials Cloud es "Activo", "Pasivo" o "Patrimonio propio", queremos que la propiedad de tipo de cuenta de la aplicación Corporate Planning sea "Gasto". Si es algún otro tipo de cuenta, queremos que la propiedad de tipo de cuenta de Corporate Planning sea "No gasto".

En primer lugar, veamos las propiedades del conversor de tipo de nodo que hemos configurado:

  1. En Tipo de nodo, haga clic en el tipo de nodo Cuenta de Corporate Planning para abrirlo en el inspector.
  2. Haga clic en el separador Conversores.
  3. En el panel Propiedades a copiar, localice la propiedad Tipo de cuenta en la columna Destino.
  4. Haga clic en Editar.
  5. En la columna Operación, seleccione Transformar en el menú desplegable.
  6. En la columna Origen, haga clic en Definir expresión definir expresión.
    inspector de tipo de nodo con las expresiones Transformar y Definir resaltadas
    .

    Aparecerá el creador de expresiones.

A continuación crearemos la expresión para transformar el tipo de cuenta.

Creación de la expresión

Para crear la expresión de transformación:

  1. En la paleta, en Sentencias, arrastre la sentencia IF hasta la flecha azul situada en la parte superior del editor.
    creador de expresiones con sentencia IF arrastrada hasta el editor
  2. En Operadores, arrastre dos operadores OR hasta la condición IF en el editor.
    editor con tres sentencias IF separadas por operadores OR

    Observe que cada una de las sentencias IF y el bloque de sentencia tienen contornos de color rojo a su alrededor. Esto significa que no son válidos. Cada sentencia IF tiene una condición que se espera que sea del tipo booleana, y se espera que cada bloque de sentencia contenga una sentencia return. El creador de expresiones evalúa la expresión en tiempo real mientras se crea, y estos errores de validación se resolverán a medida que se siguen agregando campos a la expresión.

  3. En la primera condición IF, haga clic en Elegir término de expresión y seleccione a continuación sourceNode en el menú desplegable.
    se muestra la sentencia IF con Elegir término de expresión y sourceNode resaltados
  4. Haga clic en el punto situado junto a sourceNode y seleccione properties en el menú desplegable.
    condición IF con sourceNode, el punto para hacer clic en él y propiedades

    Nota:

    Cuando se hace clic en el punto situado junto a un campo en una expresión, el menú desplegable solo muestra los objetos, los métodos y los atributos que son aplicables al campo.
  5. Haga clic en el punto situado junto a properties y seleccione FCGL.Account Type en el menú desplegable.
    menú desplegable de propiedades que muestra todas las propiedades correspondientes

    Nota:

    Al mostrar las propiedades para las transformaciones de propiedades, debido a que el tipo de nodo de origen es conocido, solo se mostrarán las propiedades para ese tipo de nodo. Sin embargo, al mostrar las propiedades de las propiedades derivadas, debido a que se desconoce el tipo de nodo, se muestran todas las propiedades que sean válidas para la aplicación.
  6. Seleccione el punto situado junto a FCGL.Account Type y seleccione equals en el menú desplegable.
    la expresión If ahora muestra sourceNode, properties, FCGL Account Type y equals

    Observe que el borde rojo de validación ya no aparece en la primera condición IF. Esto se debe a que al agregar una sentencia equals, la condición ahora contiene el valor booleano necesario.

  7. En el campo de texto de literal, introduzca "A" (de Activo).
    El campo de literal muestra que se ha introducido A
  8. Repita los pasos 3-7 para agregar condiciones IF de FCGL.Account Type es igual a "P" (de Pasivo) y "P" (de Patrimonio propio).
    la sentencia IF muestra las tres condiciones detalladas en el paso

    Todas las condiciones IF contienen ahora valores booleanos y, por tanto, ya no muestran bordes de color rojo que indican problemas de validación. Sin embargo, el bloque de sentencia aún no contiene una sentencia return. Por ello, sigue teniendo un borde rojo que indica un error de validación.

  9. En el bloque de sentencia, haga clic en Insertar sentencia y seleccione a continuación return en el menú desplegable.
    bloque de sentencia con sentencia de devolución resaltada

    Observe que, después de agregar la sentencia de devolución, el borde rojo de validación ya no aparece alrededor del bloque de sentencia.

  10. En el bloque de devolución, introduzca "Gasto".
    la sentencia de devolución muestra Gasto introducido en el campo de texto
  11. En el bloque de devolución inferior, introduzca "No gasto".
    el segundo bloque de devolución muestra No gasto

    Nota:

    No es necesario introducir manualmente una sentencia Else If después de la primera sentencia IF. Si una sentencia IF no se evalúa como true, la lógica continuará automáticamente hasta la siguiente sentencia.
  12. Haga clic en Aplicar.

    Se cerrará el creador de expresiones y se mostrará el inspector de tipos de nodo.