Ver Mensaje Individual
  #12  
Viejo 22/04/20, 21:50:10
SAPING SAPING is offline
Senior Member
 
Fecha de Ingreso: may 2010
Localización: Buenos Aires, Argentina
Mensajes: 199
Buenas tardes.
Tenía el mismo mensaje de error 'Saldo en moneda de transacción' al ejecutar la BAPI BAPI_ACC_DOCUMENT_CHECK, para la cual, posteriormente a esa, iba a ejecutar la BAPI_ACC_DOCUMENT_POST.

Debugueando la función note que estaba cargando mal los montos en la estructura CURRENCYAMOUNT, la cual tiene tipo de dato DEC23-4.

Para mi ejemplo completaba los montos:
1- AMT_BASE = 2.7100
2- AMT_BASE = 2.7100
3- AMT_BASE = 2.7100
4- AMT_BASE = 8.1300-
(además de otros campos claro)

Y a la función AC_DOCUMENT_CREATE (que se llama dentro de BAPI_ACC_DOCUMENT_CHECK) note que en la estructura T_ACCCR tenía los montos:
1- AMT_BASE = 0.03
2- AMT_BASE = 0.03
3- AMT_BASE = 0.03
4- AMT_BASE = 0.08-

Esto se debe a que los tipos de datos cambian a P7-2 por lo que quedan mal seteados los valores.

Para corregir esto simplemente modifique los montos que le pasaba a la BAPI en la estructura CURRENCYAMOUNT y valida correctamente:
1- AMT_BASE = 271.0000
2- AMT_BASE = 271.0000
3- AMT_BASE = 271.0000
4- AMT_BASE = 813.0000-


Espero les sirva.
Slds.
Responder Con Cita