¿Se debe hacer UPDATE directo a tablas estándar ?

Hola a todos.
Una consulta, he realizado un desarrollo ABAP en un programa Z en el cual incluía la actualización del campo ZLSPR de la tabla BSEG. Me comentan que no se debería hacer un UPDATE directamente sino ver otra forma. Mi consulta es: ¿Cómo puedo reemplazar la actualización? ¿Por qué no se debe hacer actualizaciones directas?

Gracias de antemano.
Saludos.

Hola @jmore21

Por favor para actualizar cualquier tabla estándar utiliza una BAPI, estos son objetos estándar de SAP que te permiten realizar el mantenimiento.

El motivo por el cual se utilizan BAPI es para proteger al sistema de inconsistencias, ya que tienen toda la lógica necesaria.

Si es una carga puedes utilizar BDC, el punto es que para tratar tablas estándar utiliza las herramientas para tales fines.

Saludos!

3 Me gusta

es por la cantidad de relaciones que existen entre las tablas, si se te va actualizar todas estas relaciones generarás inconsistencias.

exactamente como comento jmore21

las actualizaciones directas son un RIESGO, dado que a veces (la mayor parte del tiempo dentro de sistemas tan engranados) los datos son utilizados por diferentes módulos del ERP en cuestión, esto obviamente podría crear un lio completo dentro de la información que se ve reflejada en un lado u otro.
usa las
BAPI
que son Function Modules ya listas para dicho requerimiento.

2 Me gusta

Hola a todos, gracias por sus respuestas. Estoy intentando actualizar el campo ZLSPR de la tabla BSEG (Bloqueo de pago). Al ingresar a la TX FB03 este campo se encuentra inactivo para edición. ¿Aún así es posible de actualizar? ya que he encontrado FUNCIONES pero no la actualizan.

La FB03 es de visualización, usa la FB02 o la FB09 si conoces la posición a modificar.

Hay un modulo de función FI_ITEMS_MASS_CHANGE que lo mismo te sirve. Hay que pasar el campo ZLSPR a la tabla interna IT_FLDTAB, w_bseg-ZLSPR= ‘’ y la bseg del documento a IT_BUZTAB.

2 Me gusta

Hola @Salco, gracias por tu respuesta. Una consulta complementando la principal, si el campo BSEG-ZLSPR no se puede editar mediante las TX FB03, FB02 o FB09 por lo tanto ¿no se podría actualizar mediante una BAPI o FM?

Me sorprende que por la FB02 tengáis el campo no editable, pero puede ser. Cada BAPI es un mundo y es difícil saber si una bapi en concreto atenderá a las limitaciones de la dynpro para ver si puede cambiar o no el valor de un campo.

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.