Exit usuario en validaciones/sustituciones/reglas 

Los exits de usuario son rutinas FORM definidas por el usuario, utilizadas para calcular y/o reemplazar valores dentro de una validación, sustitución o regla.

Un exit de usuario tiene el siguiente formato:

El nombre del pool de formulario del exit de usuario se puede configurar y debe guardarse en la tabla de exits de usuario no válida para todos los mandantes (T80D), del Customizing. La tabla T80D contiene los nombres de pool de formulario para los exits de usuario que se utilizan en validaciones, sustituciones y reglas. Todos los pools de formulario de una validación/sustitución dependen del mandante. Para más información, consulte la actividad Actualizar exits de usuario dependientes del mandante en la guía de implementación (IMG) para Ledgers especiales.

Ejemplos de pools de formulario RGGBS000 y RGGBR000 para el mandante 000 se suministran junto con el Sistema R/3 de SAP. Debe copiar estos pools de formularios y configurarlos en T80D. El nombre del nuevo pool de formulario deberá respetar las convenciones de la definición de nombres del mandante (empezando con la letra Z ) para evitar que se sobrescriba, al instalar la próxima versión de SAP (por ejemplo, ZGGBR000).

Ejemplo de rutina FORM para exit de sustitución 001 (U001).

No se deben declarar las tablas ni las estructuras en la rutina FORM para que los contenidos puedan ser utilizados junto con la operación de llamada.

Los exits SAP son rutinas FORM que han sido programadas por SAP. El nombre del pool de formulario para los exits SAP es SAPFGBEB.

Si aún almacena las reglas en la tabla T890 (reglas interpretadas), no podrá utilizar exits de usuario en la definición de la regla. Se recomienda utilizar el programa de informe RGUGBR10 para convertir reglas interpretadas en reglas generadas y así poder utilizar la función de actualización de reglas en el Customizing. Para obtener más información, véase Utilización de informes del gestor de reglas.

La siguiente tabla muestra los tipos de exits de usuario que pueden utilizarse en validaciones, sustituciones y reglas:

Tipo de exit de usuario

Descripción

Aplicación

Ejemplo

1

No hay parámetros definidos para el exit de usuario.

Reglas, validaciones y sustituciones (condición previa)

Véase pool de formulario RGGBR000, tipo de parámetro C_EXIT_PARAM_NONE

2

Igual que tipo 1 de exit de usuario, excepto un parámetro (el campo a sustituir) definido en el exit de usuario. Por ejemplo, se puede crear una rutina de sustitución que analice el centro de coste, independientemente del campo utilizado.

Sustitución

Véase pool de formulario RGGBS000, tipo de parámetro C_EXIT_PARAM_FIELD

3

Todos los datos pasan como un sólo parámetro; este tipo de exit sólo se puede utilizar en validaciones y sustituciones de matriz.

Reglas, validaciones y sustituciones (condición previa)

Véase pool de formulario RGGBR000, tipo de parámetro C_EXIT_PARAM_CLASS

 

Validaciones y reglas utilizan los números de exit 1 y 3 de la tabla de arriba.

Las sustituciones utilizan todos los números de exit de la tabla anterior.

En las sustituciones, también se pueden crear exits de usuario que acepten un campo como parámetro y, a continuación, reasignar el valor modificado en este parámetro. Esto le permite crear un exit de usuario que se puede utilizar independientemente del nombre del campo y de la tabla. Este tipo de exit de usuario no se puede utilizar como entrada en el campo de Sólo exit en la lista de valores a sustituir; sólo se puede usar este tipo de exit en conjunción con un nombre de campo. En el pool de formulario RGGBS000 se muestra un ejemplo de este tipo de exit de usuario.

Si desea definir un parámetro para su exit de usuario que sea diferente del resultado de una validación (B_RESULT), debe introducir una entrada para su exit de usuario en la rutina FORM GET_EXIT_TITLES del pool de formulario que haya definido. Se recomienda copiar el ejemplo SAP de pool de formulario RGGBR000 para exits de validaciones o el RGGBS000 para exits de sustituciones. Estos ejemplos de pools de formulario ya contienen entradas en la rutina FORM GET_EXIT_TITLES para los ejemplos incluidos en SAP.