Archivo

Posts Tagged ‘SAP NOTE 487722’

BAPI_ACC_DOCUMENT_POST – Actualizar campo REBZG

Caso: Al querer modificar los campos REBZG, REBZZ, REBZJ, la BAPI_ACC_DOCUMENT_POST no tiene disponibles los campos.

Solución: Se debe revisar la nota SAP 487722, en la cual indica en la segunda opción (la que utilicé yo) la creación de una BTE por la FIBF.

Pasos:

1. Por lo pronto, se debe hacer la llamada a la BAPI BAPI BAPI_ACC_DOCUMENT_POST con la tabla EXTENSION1 (no agrego todo el código para no aburrir)

DATA:it_bapiacextc TYPE TABLE OF bapiacextc.

DATA lwa_bapiacextc TYPE bapiacextc.

CLEAR lwa_bapiacextc.

lwa_bapiacextc-field1 = lv_posnr.

lwa_bapiacextc-field2 = lwa_out-belnr. ” Nro. documento factura

lwa_bapiacextc-field3 = lwa_out-gjahr. ” Ejercicio doc.factura

lwa_bapiacextc-field4 = ‘001’. ” Posición doc.factura (siempre 001)

APPEND lwa_bapiacextc TO it_bapiacextc.

CALL FUNCTION ‘BAPI_ACC_DOCUMENT_POST’

EXPORTING

documentheader = lwa_header

TABLES

accountgl = lit_accountgl

currencyamount = lit_curr

extension1 = it_bapiacextc ” Se habilita esta tabla para enviar el doc.ref.fact

return = lit_return

extension2 = it_bapiparex.

2. Luego por la SE37, copiamos el módulo de función SAMPLE_INTERFACE_RWBAPI01 (en mi caso la copié al módulo ZACT_DOC_REF_FACT_RWBAPI01), en donde vamos a agregar el código para actualizar los campos. Se crea entonces el módulo de funciones: ZACT_DOC_REF_FACT_RWBAPI01.

3. Modificamos la función para modificar los campos

DATA: lw_bapiacextc TYPE bapiacextc.

LOOP AT extension.

MOVE extension TO lw_bapiacextc.

LOOP AT it_accit WHERE posnr = lw_bapiacextc-field1.

it_accit-rebzg = lw_bapiacextc-field2.

it_accit-rebzj = lw_bapiacextc-field3.

it_accit-rebzz = lw_bapiacextc-field4.

modify it_accit.

ENDLOOP.

ENDLOOP.

4. Luego ingresamos a la transacción FIBF para crear una BTE:

5. Finalmente al ejecutar la BAPI, vemos que se actualizan los campos requeridos

Anuncios