Inicio del área de contenido

Documentación conceptual Reglas sintácticas antiguas para expresiones booleanas Localizar documento en árbol de navegación

Cuando se crean reglas en el Release 4.0A introduciendo la expresión booleana directamente (es decir, sin utilizar Formula Builder), deben utilizarse las reglas sintácticas antiguas que se usaron en releases anteriores al 4.0A.

Nota

Cuando se introducen expresiones en validaciones y sustituciones ya sea directamente o utilizando el modo de experto de Formula Builder, deben utilizarse las reglas sintácticas nuevas del Release 4.0A. Para más información, véase Reglas sintácticas para expresiones booleanas.

A la hora de introducir una expresión directamente en una regla, utilice las siguientes reglas sintácticas:

  1. Defina primero el nombre de la tabla de la expresión.
  2. Una expresión siempre debe referirse a un nombre de tabla. Esta tabla contendrá las dimensiones que se utilicen en la expresión.

    Ponga el nombre de tabla entre corchetes.

    Ejemplo

    <GLT0>

    <GLT1>

    <COBL>

    Dentro de una expresión, el nombre de tabla es válido hasta que se introduzca una tabla nueva. En una expresión es posible remitirse a más de una tabla.

    Nota

    Cuando introduzca una regla en una expresión, no es necesario introducir un nombre de tabla para la regla; el nombre de tabla que la regla utiliza debe haberse introducido cuando se definió la regla. Para más información sobre reglas, véase Introducción a las reglas.

    En sets básicos y unidimensionales, no es necesario introducir un nombre de tabla para el set de la expresión.

  3. Separe los elementos de la expresión dejando al menos un espacio.
  4. Introduzca el signo $ y el nombre de campo a utilizar en la expresión.
  5. El nombre de campo es la dimensión que contiene los valores a los que el usuario se remite en la expresión.

    Ejemplo

    <GLT1> $RACCT

    <COBL> $BLART

    El sistema verifica si un valor(es) se encuentra(n) en la dimensión introducida delante del valor. Si el valor se encuentra en la dimensión, la expresión es TRUE; si el valor no se encuentra en la dimensión, la expresión es FALSE.

    También se puede instruir el sistema para que verifique sólo parte de un valor de campo. Para introducir este tipo de instrucción, debe introducirse el símbolo $ , el nombre de campo, dos puntos ( :), los dígitos que se desea que se verifiquen en el nombre de campo, y a continuación dos puntos (:). 1 siempre representa el primer dígito del campo. (El número que se introduce no representa un valor, sino la posición de un valor dentro del string de campo.)

    Ejemplo

    · <GLT1> $RACCT:1-3:

    El sistema verifica sólo los tres primeros dígitos del campo Cuenta para determinar si una condición es true.

    · <GLT1> $RACCT:5-7:

    El sistema verifica los dígitos 5, 6 y 7 del campo Cuenta para determinar si una condición es TRUE.

    · <GLT1> $RACCT:2-:

    El sistema verifica del dígito 2 hasta el final del campo Cuenta para determinar si una condición es TRUE.

  6. Utilice comillas simples ( ' ) para delimitar valores constantes.
  7. Si utiliza un set en una expresión, no introduzca comillas simples delimitando el nombre del set.

    Ejemplo

    <GLT1> $RACCT = '500000'
    <COBL> $BLART = 'SA'

  8. Introduzca los nombres de set como se indica a continuación:
  9. a) La palabra clave IN

    b) El nombre de set

    Nota

    El sistema también permite introducir la tabla que utiliza el set antes del nombre de set (IN <table_name> set_name).

    Ejemplo

    El siguiente ejemplo utiliza el set básico de ACCOUNTS creado para la tabla GLT1.

    EN CUENTAS

    EN <GLT1> CUENTAS (el nombre de tabla es opcional)

  10. Utilice paréntesis para compactar partes independientes de la expresión.
  11. Ejemplo

    <COBL> ($HKONT = '500000' AND $HKONT = '600000') OR $KOSTL = '100'

  12. Utilice comillas dobles ( " ) para delimitar cualquier nota existente en la expresión.
  13. El sistema no procesa el texto entre comillas dobles; éste sólo se utiliza para describir la expresión.

  14. Utilice los operadores de lógica booleana NOT, AND, OR, NAND, NOR, ® y « .
  15. El operador NOT goza de la máxima prioridad y es el primero de la expresión en procesarse, excepto cuando se utilizan paréntesis dentro de la expresión.

    Ejemplo

    NOT (A OR B)

    En este ejemplo, la expresión dentro del paréntesis se procesa primero. Los otros operadores se procesan en el orden en que aparecen en la expresión.

    Para más información, véase Uso de operadores booleanos en tablas verdadero-falso.

  16. Utilice los operadores matemáticos estándar de la siguiente tabla.
  17. Operador

    Definición

    <

    Menor que

    >

    Mayor que

    <>

    Distinto a

    =

    Igual a

    <=

    Menor que o igual a

    >=

    Mayor que o igual a

     

  18. Si introduce un exit de usuario en una expresión:
  19. a) Introduzca =

    b) Introduzca el carácter u (para un exit de usuario de definición propia) o s (para un exit de usuario estándar SAP).

    c) Introduzca el exit de usuario (tres dígitos) (por ejemplo, =U123) .

    Nota

    El nombre de pool de formulario que contiene exits de usuario de la tabla de exits dependientes del mandante (tabla T80D) del Customizing de Ledgers especiales se configura seleccionando Opciones básicas ® Exits de usuario ® Actualizar exits de usuario dependientes del mandante. El nombre del pool de formulario debe ajustarse a la convención de nombres del deudor (empezando con la letra Z ) para evitar así sobrescribir cuando se instale la próxima versión de SAP.

  20. Si utiliza un proceso matemático en una expresión:
  21. a) Introduzca la palabra clave MATHS (delante de la expresión matemática).

    b) Introduzca paréntesis después de la expresión matemática.

    c) Utilice los operadores matemáticos de la siguiente tabla.

    Símbolo

    Operación

    +

    Suma

    -

    Resta

    *

    Multiplicación

    /

    División

     

    d) Deben utilizarse paréntesis para definir el orden en que las expresiones matemáticas serán evaluadas.

    Si se está creando una validación o sustitución de matriz, también se pueden utilizar los operadores de la siguiente tabla a la hora de validar o sustituir partidas individuales en un documento.

    Operador

    Descripción

    SUM( )

    Todo el documento

    AVG( )

    Suma media del documento

    MAX( )

    Valor máximo de todas las líneas del documento

    MIN( )

    Valor mínimo de todas las líneas del documento

    GROUP BY

    Compara un grupo de totales con otro.

     

    Ejemplo

    MATHS( SUM( $HSL ) < 50000 )

    En este ejemplo, para un documento dado, el usuario no puede contabilizar un importe superior a 50000, en moneda local.

    MATHS( AVG( $CAMPO1 ) GROUP BY $RYEAR $RVERS = AVG( $CAMPO2 ) GROUP BY $RYEAR $RVERS )

    En este ejemplo, la expresión es verdadera si el valor medio de cada combinación year/version (año/versión) para FIELD1 es la misma que el valor medio de la combinación year/version (año/versión) para FIELD2.

    También se pueden utilizar reglas dentro de una expresión que use procesos matemáticos.

    Ejemplo

    MATHS( SUM( $DMBTR ) WHERE &RULE_1 < SUM( $DMBTR ) WHERE &RULE_2 )

    En este ejemplo el sistema calcula el total de moneda local (DMBTR) de las posiciones de documento en las que la RULE1 es verdadera. A continuación el sistema calcula el total de moneda local de las posiciones de documento en las que la RULE2 es verdadera. La expresión es TRUE si el primer total es inferior al segundo.

  22. Para introducir una expresión como verdadera o falsa, se puede introducir TRUE o FALSE.
  23. Para introducir tipos de moneda en una expresión booleana, ponga el indicador de moneda entre paréntesis.

Cuando el importe de moneda consta de más de dos decimales o de menos debe especificarse el indicador de moneda en la expresión booleana.

Ejemplo

<BSEG> $DMBTR < ‘10000 (BEF)’

 

 

Fin del área de contenido