va!.
Una vez ok la bapi "BAPI_ACC_DOCUMENT_POST".
IF sy-msgno = 605.
documento = tobj_key(10).
sociedad = tobj_key+10(3).
ejercicio = tobj_key+14(4).
SELECT *
FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE ti_bkpf
WHERE bukrs = sociedad
AND belnr = documento
AND gjahr = ejercicio.
SELECT *
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE ti_bseg
WHERE bukrs = sociedad
AND belnr = documento
AND gjahr = ejercicio.
SELECT *
FROM bkdf
INTO CORRESPONDING FIELDS OF TABLE ti_bkdf
WHERE bukrs = sociedad
AND belnr = documento
AND gjahr = ejercicio.
SELECT *
FROM bsec
INTO CORRESPONDING FIELDS OF TABLE ti_bsec
WHERE bukrs = sociedad
AND belnr = documento
AND gjahr = ejercicio.
SELECT *
FROM bsed
INTO CORRESPONDING FIELDS OF TABLE ti_bsed
WHERE bukrs = sociedad
AND belnr = documento
AND gjahr = ejercicio.
SELECT *
FROM bset
INTO CORRESPONDING FIELDS OF TABLE ti_bset
WHERE bukrs = sociedad
AND belnr = documento
AND gjahr = ejercicio.
* READ TABLE ti_bkpf INDEX 1.
SELECT SINGLE vrsdt
FROM bseg
INTO lv_vrsdt
WHERE belnr = bkpf-belnr
AND gjahr = bkpf-gjahr.
FIELD-SYMBOLS: <lin> LIKE ti_bseg.
LOOP AT ti_bseg ASSIGNING <lin>.
<lin>-vrsdt = lv_vrsdt.
ENDLOOP.
CALL FUNCTION 'CHANGE_DOCUMENT'
TABLES
t_bkdf = ti_bkdf
t_bkpf = ti_bkpf
t_bsec = ti_bsec
t_bsed = ti_bsed
t_bseg = ti_bseg
t_bset = ti_bset.
* t_bseg_add = ti_bseg_add.
CLEAR:
documento,
sociedad ,
ejercicio,
ti_bkpf , ti_bkpf[],
ti_bseg , ti_bseg[],
ti_bkdf , ti_bkdf[],
ti_bsec , ti_bsec[],
ti_bsed , ti_bsed[],
ti_bset , ti_bset[],
ti_bseg_add, ti_bseg_add[].
ENDIF.