viernes, 20 de octubre de 2017

ACTUALIZAR TABLA ESTANDARD (CUIDADO)

http://www.mundosap.com/foro/showthread.php?t=29522

hice lo siguiente:

DATA: it_bseg TYPE TABLE OF bseg,
wa_bseg TYPE bseg.

IF BSEG-ZFBDT IS INITIAL.

* si el campo es vacio que no haga nada, de lo contrario me modifica el
* campo y lo guarda vacio.

ELSE.

SELECT SINGLE * 
FROM bseg
INTO wa_bseg "selecciono la posicion a modificar segun las condiciones
WHERE bukrs = payr-zbukr
AND belnr = payr-vblnr
AND gjahr = payr-gjahr
AND bschl = '39'
AND umskz = 'R'.

IF sy-subrc = 0.

wa_bseg-zfbdt = BSEG-ZFBDT. "copio de la screen a la WA
MODIFY bseg FROM wa_bseg. "grabo los cambios a la tabla BSEG

ENDIF.
ENDIF.

Para en caso sea mas de un registro, si quieres actualizar toda una tabla del registro
cambias el select...

INTO TABLE it_bseg


y en el modify usas el FROM TABLE
MODIFY bseg FROM TABLE it_bseg.

habiendo ya hecho los cambios a los campos de esa tabla it_bseg