User Defined Fields – UDF
Los campos de usuarios son una herramienta de personalización que tiene un impacto directo en la estructura del esquema de la base de datos de la empresa. Cada UDF creado automáticamente se crea también a nivel de base de datos de la empresa. Es decir, que pueden ser utilizados en vistas, procedimientos almacenados, desarrollos, etc.
El objetivo de los UDF es almacenar datos o atributos dentro de una tabla estándar de SAP o de tablas de usuarios. Estos nuevos campos se crean con el prefijo U_.
Al momento de crear un campo de usuario debemos definir obligatoriamente un nombre y una descripción. Posteriormente asignar el tipo y la estructura que tendrá el campo, y por último definir la vinculación (vinculación con UDT, UDO u otros objetos de SAP), valor por defecto si tuviese y validación del campo.
Tipos y estructuras de UDF’s
Al momento de crear un campo de usuario debemos definir obligatoriamente un tipo. Cada tipo de campo tiene una estructura que debemos definir.

A continuación, detallaremos todos los tipos de UDF y sus posibles estructuras:
- Alfanumérico: estos campos se utilizan para ingresar valores de tipo texto o con caracteres variables. Los tipos de estructura posibles son:
- Regular: Permite definir la longitud que tendrá el campo.
- Texto: Campo con una ampliación de longitud mucho mayor. Este tipo de campos pueden guardar hasta 2GB en cabeceras y hasta 255KB en líneas de detalles.
- Direcciones: Este tipo de campo tomará las características que poseen otros campos de direcciones de SAP. Además, puede tomar la configuración de los formatos de direcciones definidos.
- Telefónico.: Este tipo de campo toma las características que poseen otros campos de teléfonos en SAP.
*Los campos alfanuméricos se los puede vincular con otros objetos de SAP y se les puede aplicar validaciones.
- Numérico: estos campos se utilizan para el ingreso de valores enteros y no poseen tipos de estructuras.
*Los campos numéricos se les puede aplicar validaciones.
- Fecha/Hora: estos campos poseen dos tipos de estructuras:
- Fecha
- Hora
*A este tipo de campos y se les puede aplicar validaciones.
- Unidades y Totales: son campos útiles para ingresar valores de cantidades, porcentajes, importes o precios, etc. De acuerdo a la estructura del campo se determinará la cantidad de decimales que tendrá, tomando la configuración de parametrizaciones generales.

Los tipos de estructura de estos campos son los siguientes:
- Tipo de cambio/Tasas: campos para vincular una tasa o alícuota.
- Importe: es el campo más utilizado para valores o totales.
- Precio: similar al campo importe, pero incluye la moneda dentro del campo.
- Cantidad: campo para representar cantidades con o sin decimales.
- Medida: estos campos tomarán el formato de los campos con unidades de medición (peso, volumen, longitud, etc.).
- Porcentajes: se utilizan para representar porcentajes.
- General: son campos especiales que se pueden incluir para guardar las siguientes estructuras de datos:
- Vínculos: adjuntar un archivo dentro del campo. El campo guarda una ruta de donde se encuentra el archivo seleccionado.
- Imágenes. Se utiliza para guardar campos con formato de imagen.
Creación de UDF en UDT
Para crear un campo dentro de una tabla de usuarios debemos ir a herramientas de customizing > campos definidos por el usuario: gestión. Dirigirnos al final de la lista, desplegando Tablas de Usuarios. Al desplegar, observaremos todas las tablas definidas, debemos seleccionar la indicada y presionar el botón Añadir.

Creación de UDF en tablas estándares de SAP
Para crear un campo dentro de una tabla estándar de SAP Business One debemos ir a herramientas de customizing > campos definidos por el usuario: gestión. Seleccionar la sección o módulo en donde queremos incluir el campo. y presionar el botón Añadir.

Al crear un campo en tablas estándares debemos tener en cuenta que hay dos tipos de campos dependiendo donde se creen:
- Campos de cabecera: campos que se aplican directamente a tablas de cabeceras. Ejemplos: campos de cabecera o totales de facturas.
- Campos de apuntes o de líneas: campos que se crearán en el detalle de los diferentes documentos. Ejemplo: campos de líneas de facturas.
IMPORTANTE: cuando se crea un campo en documentos de marketing automáticamente se crea en todas las tablas de SAP que representan los documentos de marketing de compra y venta (OINV, ODLN, OPCH, ORIN, etc.). Esto mismo pasa con los campos de apuntes INV1, DLN1, PCH1, RIN1, etc.)
Vinculación de campos con otros objetos
Para vincular campos de usuario a distintas entidades de SAP o a otras tablas de usuarios debemos crear el campo asignando uno de estos tipos de vinculación:
Vinculado a Objetos de SAP:

- UDT Vinculada:

- UDO Vinculado:

Validación de campos de usuarios
Cuando creamos un campo de usuario podemos indicar validaciones avanzadas u hacer obligatorio el campo. A continuación, detallamos cada posibilidad (estas posibilidades se pueden combinar):
- Campo Obligatorio: si queremos que el campo se registre obligatoriamente por el usuario, debemos tildar esta opción.
- Validaciones avanzadas: realizar validaciones de control sobre lo que se ingresa en el campo. cuando el usuario ingrese datos sobre el campo se ejecutarán las validaciones.

Además, podemos trabajar con valores validos posibles, asignando una tabla de valores seleccionables a dicho campo.

Eliminación de un UDF
La eliminación de un UDF eliminará toda la información que el campo contenía. No se podrá realizar la eliminación si este tiene asignada una Búsqueda Formateada o Valores Posibles Asignados al campo. Para eliminar se debe seleccionar el campo y presionar el botón Eliminar.

Curso SAP B1 Herramientas de Personalización
Accede al curso en Udemy…