Avalados por :
Para la publicación F-47, solo se publica en 1 ítem de línea, mientras que BAPI "BAPI_ACC_DOCUMENT_POST" debe publicar en 2 líneas para equilibrar la cuenta. Aquí están los pasos para realizar la publicación F-47 (Solicitud de pago anticipado) a través de BAPI y BTE con 1 ítem de línea:
1) Cree un nuevo grupo de funciones utilizando el código de transacción SE80.
2) Copie el módulo de función estándar de BTE "SAMPLE_INTERFACE_RWBAPI01" a un módulo de función Z, por ejemplo, "ZSAMPLE_INTERFACE_RWBAPI01"
3) Vaya a la transacción FIBF para crear el BTE para el proceso "RWBAPI01".
Consulte el enlace en la sesión de configuración - Evento de Transacción Comercial - RWBAPI01 - Para la Interfaz de Documento Contable - Desarrollo ABAP - SCN W...
4) Antes de llamar al BAPI "BAPI_ACC_DOCUMENT_POST", prepare la tabla de extensión1 como se muestra a continuación:
DEFINE mac_assign_extension.
clear lv_string.
concatenate &1 &2
into lv_string.
concatenate &3 lv_string
into &3
separated by ';'.
END-OF-DEFINITION.
*-> preparar extensión
CONCATENATE '0001' ls_accountpayable-itemno_acc
INTO ls_extension1-field1. " 0001 => número de ejecución para un propósito diferente para activar BTE "RWBAPI01"
CONCATENATE 'BSTAT' 'S' INTO ls_extension1-field2.
mac_assign_extension 'BSCHL' '39' ls_extension1-field2.
mac_assign_extension 'UMSKZ' 'F' ls_extension1-field2.
mac_assign_extension 'ZUMSK' 'Z' ls_extension1-field2.
mac_assign_extension 'SHKZG' 'H' ls_extension1-field2.
APPEND ls_extension1 TO lt_extension1.
5) En el módulo de función "ZSAMPLE_INTERFACE_RWBAPI01" , lea la tabla de extensión1 y llene el campo en la tabla IT_ACCIT.
TIPOS : INICIO DE ty_extension,
campo TIPO char50,
FIN DE ty_extension.
TIPOS : tty_extension TIPO TABLA ESTÁNDAR DE ty_extension.
DATOS : ls_extension TIPO bapiacextc,
ws_extension TIPO ty_extension,
lt_extension TIPO tty_extension,
lv_tabix TIPO sytabix,
lv_len TIPO i.
DATOS : lv_bstat TIPO char01,
lv_bschl TIPO char01,
lv_umskz TIPO char01,
lv_zumsk TIPO char01,
lv_shkzg TIPO char01.
DEFINE mac_assign_value.
clear lv_len.
if &4 is initial.
find first occurrence of &1 in &2 match length lv_len.
if sy-subrc = 0.
&3 = &2+lv_len.
&4 = 'X'.
endif.
endif.
END-OF-DEFINITION.
LOOP AT extension INTO ls_extension.
CASE ls_extension-field1(4).
WHEN '0001'. "Para solicitud de pago anticipado
MOVE 'RFST' TO document_header-glvor.
READ TABLE it_accit WITH KEY posnr = ls_extension-field1+4(10).
IF sy-subrc = 0.
lv_tabix = sy-tabix.
SPLIT ls_extension-field2 AT ';'
INTO TABLE lt_extension
IN CHARACTER MODE.
LOOP AT lt_extension INTO ws_extension.
mac_assign_value 'BSTAT' ws_extension
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute