Ver Mensaje Individual
  #2  
Viejo 19/02/18, 22:18:41
Avatar de Drako
Drako Drako is offline
Member
 
Fecha de Ingreso: nov 2006
Localización: Monterrey, NL
Mensajes: 60
Cool Modificacion de datos LFB1

Hola, tal vez ya es muy tarde para responder este post pero aun asi quiero compartir mi solucion a un escenario similar ya que yo necesitaba actualizar un campo de la LFB1, les dejo el codigo que me sirvio para ello.

REPORT zpruebas.

DATA: w_lfa1 TYPE lfa1,
w_lfb1 TYPE lfb1,
w_lfm1 TYPE lfm1,
w_lfb1_update TYPE lfb1.
DATA: t_xlfas TYPE STANDARD TABLE OF flfas,
t_xlfb5 TYPE STANDARD TABLE OF flfb5,
t_xlfbk TYPE STANDARD TABLE OF flfbk,
t_xlfza TYPE STANDARD TABLE OF flfza,
t_ylfas TYPE STANDARD TABLE OF flfas,
t_ylfb5 TYPE STANDARD TABLE OF flfb5,
t_ylfbk TYPE STANDARD TABLE OF flfbk,
t_ylfza TYPE STANDARD TABLE OF flfza,
t_xknvk TYPE STANDARD TABLE OF fknvk,
t_yknvk TYPE STANDARD TABLE OF fknvk.
DATA: t_tvarv TYPE STANDARD TABLE OF tvarvc,
w_tvarv TYPE tvarvc.

PARAMETERS p_lifnr TYPE lifnr." #Proveedor/Acreedor

START-OF-SELECTION.

CALL FUNCTION 'VENDOR_READ'
EXPORTING
i_bukrs = '1000' " Sociedad
i_lifnr = p_lifnr " Proveedor capturado
IMPORTING
e_lfa1 = w_lfa1
e_lfb1 = w_lfb1
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc EQ 0.

w_lfb1_update = w_lfb1.
w_lfb1_update-zahls = 'P'." Dato a actualizar

CALL FUNCTION 'VENDOR_UPDATE' IN UPDATE TASK
EXPORTING
i_lfa1 = w_lfa1 " Datos nuevos
i_lfb1 = w_lfb1_update " Datos nuevos
i_lfm1 = w_lfm1" Datos nuevos
i_ylfa1 = w_lfa1 " Datos anteriores
i_ylfb1 = w_lfb1 " Datos anteriores
i_ylfm1 = w_lfm1 " Datos anteriores
TABLES " Las tablas las envio vacias
t_xlfas = t_xlfas
t_xlfb5 = t_xlfb5
t_xlfbk = t_xlfbk
t_xlfza = t_xlfza
t_ylfas = t_ylfas
t_ylfb5 = t_ylfb5
t_ylfbk = t_ylfbk
t_ylfza = t_ylfza
* T_XKNVK =
* T_YKNVK =
.
IF sy-subrc EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
IF sy-subrc EQ 0.
WRITE 'Proveedor actualizado'.
ENDIF.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
ENDIF.
__________________
Drako
Responder Con Cita