Hola todos!
Quisiera hacer una contribucion al sitio ya que se me hizo un tanto dificil buscar una documentacion clara sobre como utilizar la BAPI BAPI_ACC_PYMNTBLK_UPDATE_POST para el bloquedo de pagos para procesos automaticos de pago, de manera que no tengamos que recurir a la la modificacion directa de las tablas , ya sea REGUP u otras que involucren este proceso.
Definicion de BAPI_ACC_PYMNTBLK_UPDATE_POST:
"Accounting: Post Changes to Payment Block for Open Items
CALL FUNCTION 'BAPI_ACC_PYMNTBLK_UPDATE_POST'
EXPORTING
referenceinv = " bapiacpmblk Reference Information for Changing the Payment Block"
TABLES
return = " bapiret2 Return Parameters. "
Estructura de BAPIACPMBLK:
OBJ_TYPE Type AWTYP Operación de referencia
OBJ_KEY Type AWKEY Clave de referencia
OBJ_SYS Type AWSYS Sistema lógico documento de origen
COMP_CODE Type BUKRS Sociedad
DSCT_DAYSOFF Type DZBDTOFF Offset día descuento
Para obtener el valor de los campos OBJ_TYPE , OBJ_KEY , OBJ_SYS, se refiere en este caso a los campos BKPF-AWTYP, BKPF-AWKEY, BKPF-AWSYS, respectivametne, y COMP_CODE a numero de la sociedad.
Estos datos se referencia entre la table REGUP y BKPF por el numero de documento : REGUP-BELNR <-> BKPF-BELNR.
ejemplo:
DATA:
it_return TYPE STANDARD TABLE OF BAPIRET2,"tables param
wa_return LIKE LINE OF it_return .
DATA ld_referenceinv TYPE BAPIACPMBLK;
MOVE IT_BKFP-AWKEY TO ld_referenceinv-OBJ_KEY.
MOVE IT_BKFP-AWTYP TO ld_referenceinv-OBJ_TYPE.
MOVE IT_BKFP-AWSYS TO ld_referenceinv-OBJ_SYS.
MOVE IT_BKFP-BUKRS TO ld_referenceinv-COMP_CODE.
CALL FUNCTION 'BAPI_ACC_PYMNTBLK_UPDATE_POST'
EXPORTING
referenceinv = ld_referenceinv
TABLES
return = it_return .
IF SY-SUBRC EQ 0.
"All OK"
ENDIF.