Buenas tardes comunidad!
Les consulto acerca de la BAPI BAPI_ACC_DOCUMENT_REV_POST / BAPI_ACC_INVOICE_REV_POST
Para anulación de un documento invocando a la BAPI desde un sistema externo.
No me está dejando que finalice por la nota 1799990
Alguien se ha topado con este problema?
Necesito pedir la anulación de un documento desde afuera y que anule el documento como si ejecutara la FB08
Les dejo lo que pude encontrar al respecto.
Hay una validación que hace la bapi acerca del Sistema Lógico y la Operacion de Referencia. Si la regla no se cumple no pasa la contabilización por bapi y de esas dos bapis SAP recomienda usar la INVOICE en lugar de la DOCUMENT.
Al final tuve que hacer una call transaction para poder contabilizar.
Si tienen mas dudas me avisan y se los detallo
Saludos
Entiendo que te enfrentas a un problema al intentar anular un documento desde un sistema externo utilizando las BAPIs BAPI_ACC_DOCUMENT_REV_POST y BAPI_ACC_INVOICE_REV_POST, y te encuentras con la restricción de la nota 1799990.
La nota SAP 1799990 indica una limitación o una configuración que necesita ser verificada para poder utilizar estas BAPIs correctamente. Aquí te dejo algunos pasos y consideraciones para abordar este problema:
Consideraciones Generales
Verificar la Nota SAP:
Revisa detalladamente la nota SAP 1799990 para entender las restricciones y las recomendaciones que SAP proporciona para el uso de estas BAPIs. Asegúrate de seguir cualquier configuración específica que la nota mencione.
Sistema Lógico y Operación de Referencia:
Asegúrate de que el sistema lógico y la operación de referencia estén configurados correctamente. Las BAPIs requieren que estos campos estén correctamente definidos para validar y permitir la operación.
Uso de BAPI_ACC_INVOICE_REV_POST:
SAP recomienda usar BAPI_ACC_INVOICE_REV_POST en lugar de BAPI_ACC_DOCUMENT_REV_POST para la anulación de documentos. Asegúrate de estar utilizando la BAPI correcta.
Procedimiento Paso a Paso
Paso 1: Configuración de Sistema Lógico
Asegúrate de que el sistema desde el cual estás invocando la BAPI esté correctamente definido en la tabla de sistemas lógicos (puedes revisar esto en la transacción BD54).
Paso 2: Validación de la BAPI
Verifica que todos los parámetros requeridos por la BAPI están siendo proporcionados correctamente. Esto incluye la identificación correcta del documento y los datos del sistema lógico.
Paso 3: Ejecución de la BAPI
Si estás invocando la BAPI desde un sistema externo, asegúrate de que el usuario que se utiliza tenga los permisos adecuados para ejecutar la anulación.
Paso 4: Alternativa con CALL TRANSACTION
Si las restricciones persisten y necesitas una solución inmediata, puedes utilizar un CALL TRANSACTION para ejecutar la transacción FB08 desde tu programa externo. Aquí tienes un ejemplo básico de cómo podrías implementar esto:
DATA: lt_bdcdata TYPE TABLE OF bdcdata,
lt_messages TYPE TABLE OF bapiret2.
* Populate BDC Data for FB08
PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'RF05A-BELNR' 'document_number'.
PERFORM bdc_field USING 'RF05A-BUKRS' 'company_code'.
PERFORM bdc_field USING 'RF05A-GJAHR' 'fiscal_year'.
PERFORM bdc_dynpro USING 'SAPMF05A' '0400'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPMF05A'.
CALL TRANSACTION 'FB08' USING lt_bdcdata
MODE 'E'
MESSAGES INTO lt_messages.
Resumen Consultoria-SAP
En resumen, para solucionar el problema con la anulación de documentos utilizando las BAPIs mencionadas, es crucial revisar la configuración del sistema lógico y la operación de referencia, y considerar las recomendaciones de la nota SAP 1799990. Si estas configuraciones no resuelven el problema, una alternativa viable es utilizar CALL TRANSACTION para ejecutar la transacción FB08.
Si necesitas más detalles o ayuda adicional, ¡no dudes en preguntar! ¡Estamos aquí para ayudarte!