Valor monetario no válido (ODBC -1032) [131-183]

Hola, un gusto saludarlos desde este foro.

Tengo una incidencia en la ORDEN DE VENTA, cada que agrego una nueva linea al detalle de las ordenes me aparece este error: Valor monetario no válido (ODBC -1032) [131-183].

Se que no es un error de SAP propiamente, si no que viene de mi base de datos (SQL HANA). He revisado las búsquedas formateadas, pero ninguna parece ser el problema a mi parecer, les compartiré las unicas BF que uso:

SELECT 
    CASE 
        WHEN LEFT($[$38.17.0], 3) = 'RD$' THEN 
            TO_DECIMAL(REPLACE(REPLACE($[$38.17.0], 'RD$', ''), ',', ''), 12, 2) / 
            COALESCE((SELECT "Rate" FROM ORTT WHERE "Currency" = 'RD$' AND "RateDate" = $[ORDR."DocDate".DATE]), 1)
        WHEN LEFT($[$38.17.0], 1) = '$' THEN 
            TO_DECIMAL(REPLACE(REPLACE($[$38.17.0], '$', ''), ',', ''), 12, 2)
        WHEN LEFT($[$38.17.0], 2) = '€' THEN 
            TO_DECIMAL(REPLACE(REPLACE($[$38.17.0], '€', ''), ',', ''), 12, 2) / 
            COALESCE((SELECT "Rate" FROM ORTT WHERE "Currency" = '€' AND "RateDate" = $[ORDR."DocDate".DATE]), 1)
    END
FROM 
    DUMMY

SELECT "AvgPrice" FROM OITM WHERE "ItemCode" = (SELECT $[$38.1.0] FROM DUMMY)

¿Dónde mas podría buscarlo?, mencionar que dicho error no impide que pueda crear o actualizar la ORDR.

Gracias por su colaboración.

El error “Valor monetario no válido (ODBC -1032) [131-183]” en SAP Business One puede ser causado por varios factores, como configuraciones incorrectas de moneda, problemas con el formato de los datos, o problemas en las búsquedas formateadas (BF). Aunque las búsquedas formateadas que compartiste parecen estar bien, podrías revisar algunas otras áreas para identificar la causa del problema.

Posibles Áreas para Revisar

  1. Configuración de Monedas y Tipos de Cambio:

    • Asegúrate de que las monedas y los tipos de cambio estén configurados correctamente en SAP Business One.
    • Navega a Gestión > Inicialización del sistema > Monedas > Tipos de cambio y verifica que los tipos de cambio estén actualizados y correctos.
  2. Formato de Monedas:

    • Verifica que los formatos de moneda en las configuraciones de la empresa sean correctos.
    • Navega a Gestión > Inicialización del sistema > Detalles de la sociedad > Formato de visualización y revisa los formatos de moneda.
  3. Búsquedas Formateadas (BF):

    • Aunque mencionaste que las búsquedas formateadas parecen correctas, revisa si hay alguna otra BF que pueda estar afectando el valor monetario.
    • Navega a Gestión > Inicialización del sistema > Búsquedas formateadas - Definición y revisa todas las BF asociadas con las órdenes de venta.
  4. Validación de Datos de Entrada:

    • Verifica que los datos de entrada (especialmente los valores monetarios) sean correctos y estén en el formato adecuado.
    • Asegúrate de que no haya caracteres no válidos o espacios en los valores monetarios.
  5. Logs de Sistema:

    • Revisa los logs de sistema para obtener más detalles sobre el error.
    • Navega a Gestión > Inicialización del sistema > Log de eventos y busca cualquier mensaje de error relacionado.

Ejemplo de Búsqueda Formateada Alternativa

Puedes intentar simplificar o modificar las búsquedas formateadas para ver si esto resuelve el problema. Aquí hay una versión ligeramente modificada:

SELECT 
    CASE 
        WHEN LEFT($[$38.17.0], 3) = 'RD$' THEN 
            CAST(REPLACE(REPLACE($[$38.17.0], 'RD$', ''), ',', '') AS DECIMAL) / 
            COALESCE((SELECT "Rate" FROM ORTT WHERE "Currency" = 'RD$' AND "RateDate" = $[ORDR."DocDate".DATE]), 1)
        WHEN LEFT($[$38.17.0], 1) = '$' THEN 
            CAST(REPLACE(REPLACE($[$38.17.0], '$', ''), ',', '') AS DECIMAL)
        WHEN LEFT($[$38.17.0], 2) = '€' THEN 
            CAST(REPLACE(REPLACE($[$38.17.0], '€', ''), ',', '') AS DECIMAL) / 
            COALESCE((SELECT "Rate" FROM ORTT WHERE "Currency" = '€' AND "RateDate" = $[ORDR."DocDate".DATE]), 1)
    END
FROM 
    DUMMY

Alternativas de Solución

  1. Verificar la Configuración de la Base de Datos:

    • Asegúrate de que la base de datos está configurada correctamente para manejar los formatos de moneda y los tipos de datos DECIMAL.
  2. Revisar Scripts y Add-Ons:

    • Si hay scripts personalizados o add-ons instalados, asegúrate de que no están interfiriendo con los valores monetarios.
    • Desactiva temporalmente los add-ons para ver si el problema persiste.

Contactar con Soporte

Si después de revisar estas áreas el problema persiste, considera contactar con el soporte de SAP o con tu partner de SAP para obtener asistencia adicional. Proporcionarles los detalles del error y los pasos que has seguido puede ayudarles a identificar la causa y proporcionar una solución específica.

Conclusión

El error “Valor monetario no válido (ODBC -1032) [131-183]” puede ser causado por diversas configuraciones y datos en SAP Business One. Revisa las configuraciones de moneda, las búsquedas formateadas, y los datos de entrada para asegurar que todo esté correcto. Si el problema persiste, contacta con el soporte de SAP para obtener asistencia adicional. Si necesitas más ayuda con algún paso específico, no dudes en preguntar. ¡Estoy aquí para ayudarte!

1 me gusta

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.