cancel
Showing results for 
Search instead for 
Did you mean: 

Artículos

Former Member
0 Kudos

Colegas,

Alguien sabe cómo eliminar de la base de datos mas de 100 artículos en un sólo movimiento en vez de ir eliminando uno por uno???

Saludos

Accepted Solutions (0)

Answers (5)

Answers (5)

juan_marrero
Active Participant
0 Kudos

Estimada Weena,

Aun cuando Carlos comenta una de las posibilidades tecnicas para eliminar los items requeridos, es importante resaltar que las tablas de Business One estan enlazadas a diferentes registros en otras tablas.

La nota 631504 claramente indica :

The usage of Update, Insert or Delete SQL Statementens on a SAP Business One database is not supported.

This could create inconsistencies in customer database.

Es nuestra recomendación estudiar las alternativas ya planteadas y mantener los terminos del contrato de mantenimiento de SAP Business One.

Esperando lo anterior clarifique sus opciones.

Queda a sus gratas ordenes,

Juan Manuel Marrero

SAP Business One Forums Team

Former Member
0 Kudos

Hola Weena

Si se puede hacer pero no por SAP ni por DTW, lo puedes hacer por SQL, entra en SQL Server Management Studio, una vez ahi y que te hayas autenticado, te va a salir una ventana del lado derecho, que es donde haces los querys, escribe alli:

USE nombre de tu base de datos (Ejm: use SBODemoUs) y presiona la tecla F5

Y estas en tu base de datos, una vez alli, debes saber de que tabla quieres borrar los 100 registros, por ejemplo, imaginemos que los quieres borrar de la tabla de articulos, debes escribir la siguiente instruccion SQL:

DELETE FROM "nombre_tabla" WHERE {condición}

Donde:

nombre_tabla es la tabla de donde quieres borrar los registros (por ejemplo si quieres borrar algunos articulos, la tabla es OITM)

y

{condición} es la condicion para que elimine esos articulos, tiene que ser un campo comun a todos que no afecte a otros registros...

OJO: tienes que estar muy pendiente porque cualquier cambio que realices a nivel de SQL puede afectar el desempeño del SAP, si el DELETE lo haces bien, no habra ningun problema,

Saludos

Former Member
0 Kudos

Hola Weena

Si se puede hacer pero no por SAP ni por DTW, lo puedes hacer por SQL, entra en SQL Server Management Studio, una vez ahi y que te hayas autenticado, te va a salir una ventana del lado derecho, que es donde haces los querys, escribe alli:

USE nombre de tu base de datos (Ejm: use SBODemoUs) y presiona la tecla F5

Y estas en tu base de datos, una vez alli, debes saber de que tabla quieres borrar los 100 registros, por ejemplo, imaginemos que los quieres borrar de la tabla de articulos, debes escribir la siguiente instruccion SQL:

DELETE FROM "nombre_tabla" WHERE {condición}

Donde:

nombre_tabla es la tabla de donde quieres borrar los registros (por ejemplo si quieres borrar algunos articulos, la tabla es OITM)

y

{condición} es la condicion para que elimine esos articulos, tiene que ser un campo comun a todos que no afecte a otros registros...

OJO: tienes que estar muy pendiente porq

juan_marrero
Active Participant
0 Kudos

Saludos Weena,

Gracias por remitir su incidente al foro de SAP Business One en español.

Lo reportado no es facil de realizar puesto que existen algunas limitantes para realizar dihca limpieza en la base de datos.

Asumiendo que la opción 'Add Warehouses to New Items Automatically' esta activa (General Settings -> Stock -> Items). La eliminación de articulos estara vinculada a su respectivo almacen.

Me permito proponerles las siguientes opciones para eliminar dicha cantidad de articulos.

Opciones 1 y 2 solo funcionaran si no existen transacciones en los articulos/almacenes en la base de datos.

1.- Ir manualmente a cada item y eliminar el vinculo al almancen.

2.- De contar con acceso a un ambiente de programación/SDK desarrollar un UI API Add-on that realice la validación y borrado automaticamente.

La opción de generar una query que actualice los articulos no es solo peligrosa (posible corrupción de la base de datos), sino que adicionalmente el soporte del sistema podria ser afectado.

Aun cuando lo anterior son detalles macros, esperamos les permitan evaluar sus opciones y optar por la solución mas adecuada.

Juan Manuel Marrero

SAP Business One Forums Team

Former Member
0 Kudos

Hola..

No creo que sea posible eliminar tal cantidad de artículos en un solo procedimiento. Creo que si es una base de datos sin movimiento, una alternativa sería a través del Add On Copy Express, traspasar toda la data y todos los artículos que no deseas eliminar a una nueva base de datos (con ello dejarias al margen aquellos productos a eliminar).

Como imagino que hablas de una base con movimiento, entiendo que esto no sería viable, ya que no podrias copiar directamente las transacciones, y el remedio podría terminar siendo peor que la enfermedad.

Por otro lado, el DTW se hizo con el objetivo de cargar y actualizar registros, pero hasta donde sé, no se consideró la posibilidad de eliminar estos registros.

Espero te sea de ayuda,

Saludos Cordiales,