Reglas sintácticas para expresiones booleanas
Al introducir una expresión de lógica booleana en el componente de aplicación FI-SL, deben seguirse determinadas reglas sintácticas. Esta sección explica las reglas sintácticas a seguir para crear una expresión para el componente de aplicación FI-SL.
Las reglas sintácticas que se describen en esta sección son válidas para expresiones de validación y sustitución que se introducen directamente y para expresiones que se introducen utilizando el editor de fórmulas en el release 4.0A. No son válidas para expresiones que se introducen en las reglas directamente.
A la hora de introducir una expresión en FI-SL, utilice las siguientes reglas sintácticas:
Para introducir el nombre de tabla y el nombre de campo debe utilizarse el siguiente formato:
nombre_tabla-nombre_campo
El nombre de tabla y el nombre de campo deben separarse con un guión.
GLT1-RACCT
CCSS-KSTAR
El sistema verifica si uno o varios valores se encuentran en la dimensión introducida enfrente 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 indicar al sistema que verifique sólo parte de un valor del campo. Para realizar esta clase de indicación, introduzca lo siguiente:
·
El nombre de tabla y el nombre de campo ( nombre_tabla-nombre_campo)·
Un espacio en blancoEs importante insertar un espacio en blanco antes de los primeros dos puntos.
·
Dos puntos ( :)·
Los dígitos que se desee que se verifiquen en el nombre de campo·
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 registro de campos.)
·
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.
GLT1-RACCT = '500000'
COBL-BLART = 'SA'
Para obtener más información sobre los tipos de valores a los que es posible remitirse en una expresión, véase
Clases de expresiones FI-SL.Para los sets básicos y unidimensionales, introduzca el set con el siguiente formato:
a) El nombre de tabla y el nombre de campo del set (
nombre_tabla-nombre_campo )b) La palabra clave
INc) El nombre de set
GLT1-RACCT EN CUENTAS
Para los sets multidimensionales, introduzca el set con el siguiente formato:
a) La palabra clave
INb) El nombre de set
EN ACCTSCNTRS
El sistema no procesa el texto entre comillas dobles; éste sólo se utiliza para describir la expresión.
Cuando se introduzca la expresión directamente o se utilice el modo de experto del editor de fórmulas, debe introducirse el texto de la nota antes de introducir la expresión.
No se pueden utilizar espacios en blanco en el texto de la nota cuando se introduce el texto directamente en la expresión. El texto no puede contener más de 58 caracteres. Si se desea introducir una nota cuyo texto es superior a 58 caracteres, deben introducirse dos sets de notas y separar cada uno mediante un espacio en blanco.
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.
NOT (A OR B)
En este ejemplo, la expresión incluida dentro del paréntesis se procesa primero. Los otros operadores se procesan en el orden en que aparecen en la expresión.
Para obtener más información, véase
Utilización de operadores booleanos en tablas verdadero-falso.
Operador |
Definición |
< |
Menor que |
> |
Mayor que |
<> |
Distinto a |
= |
Igual a |
<= |
Menor que o igual a |
>= |
Mayor que o igual a |
a) Introduzca el carácter
u (para un exit de usuario propio del cliente) o s (para un exit de usuario estándar SAP).b) Introduzca el exit de usuario (tres dígitos) (por ejemplo,
U123) .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 Parametrizaciones 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 del Sistema R/3 de SAP.a) Utilice los operadores matemáticos de la tabla siguiente.
Símbolo |
Operación |
+ |
Suma |
- |
Resta |
* |
Multiplicación |
/ |
División |
b) 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 una 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.
Se debe introducirse un espacio en blanco después de la palabra clave e inmediatamente antes de abrir el paréntesis.
Operador |
Descripción |
SUM ( ) |
Total del 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. |
SUM ( BSEG-DMBTR ) < 50000
En este ejemplo, para un documento concreto, el usuario no puede contabilizar un importe superior a 50.000 en moneda local.
AVG ( TABLA-CAMPO1 ) GROUP_BY TABLA-RYEAR TABLA-RVERS = AVG ( TABLA-CAMPO2 ) GROUP_BY TABLA-RYEAR TABLA-RVERS
En este ejemplo, la expresión es verdadera si el valor medio de cada combinación año/versión para FIELD1 es la misma que el valor medio de la combinación año/versión para FIELD2.
También se pueden utilizar reglas dentro de una expresión que utilice procesos matemáticos.
SUM ( BSEG-DMBTR ) WHERE RULE_1 < SUM ( BSEG-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.
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.
Sólo se pueden introducir tipos de moneda en una expresión booleana cuando se introduce la expresión directamente o utilizando el modo de experto del editor de fórmulas.
BSEG-DMBTR < ‘10000(BEF)’
Véase también:
Ejemplo de expresiones booleanas