cancel
Showing results for 
Search instead for 
Did you mean: 

Maximo de Campos de Usuario?

former_member203638
Active Contributor
0 Kudos

Alguien sabe el limite de campos de campos que puede haber?

Tengo 48 campos y si quiero crear mas, me sale un mensaje en rojo "Se ha producido un Error Interno"

SAP Business One 2005 A PL: 51

Gracias.

Alessandro.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Alessandro

Hay un error con la creacion de campos de usuario en SBO2005 pero cuando usas SQL SERVER 2000. Si es ese tu caso entonces, pasa de SQL Server 2000 a SQL Server 2005, con eso debe de solucionar el problema de la creacion de campos de usuario. Yo tambien tuve el mismo error.

Saludos

George

former_member203638
Active Contributor
0 Kudos

George, muchas garcias por tu respuesta, voy a investigar un poco mas del tema de SQL 2005, es muy complicada la migracion?

Gracias y Saludos.

Alessandro.

Humberto_Neira
Product and Topic Expert
Product and Topic Expert
0 Kudos

Estimados,

Les voy a aclarar el problema para que se entienda el error que se recupera en Business One.

A nivel de BD, un registro de datos tiene un largo definido por la suma de los largos de cada uno de los campos individuales.

Supongamos que un registro de datos es como una linea en una hoja de un cuaderno.

Una hoja de un cuaderno tiene un ANCHO FIJO en el que las personas escriben palabras con distintos largos hasta que ya no queda espacio en la linea.

Cuando no queda espacio en la linea, se escribe en la linea siguiente.

En el caso del SQL Server, una TABLA es como un hoja pero en su VERTICAL, pero sin el limite de tener un tamaño, por lo que las TABLAS crecen en nro de registros sin problemas y solo tienen como limite el espacio fisico de un disco duro.

En el caso del HORIZONTAL, el SQL SERVER define un registro, donde se definen CAMPOS. Cada CAMPO tiene largos diferentes dependiendo del tipo de dato CHAR, NUMERIC, TEXT y otros.

En el HORIZONTAL, en el SQL SERVER 2000, existe un LIMITE para el espacio que se quiere ocupar para CAMPOS. Por ejemplo: si el tamaño fijo de un registro fuera de 1000 caracteres podrias crear:

-. 1000 campos de 1 caracter de tamaño, o

-. 1 campo de 1000 caracteres de tamaño.

El problema surge cuando sobrepasas el limite definido por el SQL Server 2000, pues en ese punto no hay más espacio HORIZONTAL para permitir más campos en los registros y es en ese momento donde el SQL Server no puede seguir creciendo en el HORIZONTAL y esa condición provoca el que no se puedan crear más campos de usuario. Lamentablemente ese limite no es paramétrico por lo que es algo que solo el propio SQL SERVER puede resolver.

El SQL Server 2005 resuelve este problema, de una forma que no pasa por ampliar el limite sino que aparece el concepto de PAGINACION en el HORIZONTAL para asi lograr más espacio y asi romper el limite del SQL 2000. Esta solución resuelve el problema del limite en los largos de campos, pero abre otro concepto que muchas veces se descuida, y esto es que ahora el SQL SERVER hace más paginación que antes, lo que implica la necesidad de hacer un mejor TUNNING del servidor para asi dar más recursos para esta tarea.

Esto ultimo lo pueden ver reflejado en que al cambiar al SQL 2005 pueden verse degradados algunos temas de performance, pero es explicable por este tipo de cambios, donde se requiren TUNNING de la BD y revisión del servidor dado el nuevo escenario.

Tal vez sea buen momento para revisar si los largos definidos en los campos de usuario corresponden a la realidad o si tal vez fueron SOBRE-EVALUADOS.

En resumen:

-. El problema no está en la cantidad máxima de campos de usuario, sino que en los largos de cada uno de los campos, pues la suma de estos largos provoca que se llegue al limite del SQL SERVER.

-. Llamo a pensar por un momento en que es lo que ha llevado a tener TANTOS campos de usuario que provoquen llegar a estos limites. Como siempre, el llamado es a usar las herramientas adecuadamente, pues el abusar de los campos de usuario también puede llevar a problemas de performance mucho más graves, aún cuando la cantidad de registros es baja.

saludos

former_member203638
Active Contributor
0 Kudos

Muchas Gracias, Es cosa de SQL Server 2000.

Saludos

Answers (0)