Código de moneda no permitido , 'SOL'

Buenas días,

Una vez mas es un placer compartir mi problema en esta gran comunidad de SAP, trabajo como Analista Programador y la empresa donde laboro, ha realizado una migración de SAP BO 9.0 a 9.3; estoy teniendo un problema al momento registrar los asientos, no me permite realizar la transacción ya que me emite el siguiente error " Código de moneda no permitido , ‘SOL’", he verificado y las monedas estan creadas, asimismo realice pruebas con la versión anterior 9.0, y si funciona el problema es en la nueva versión que no me permite realizar el registro, de antemano agradezco su apoyo,

Adjunto codigo:

int iResultado = 0;
            strMensaje = string.Empty;
            mobjCnn.StartTransaction();


            try
            {
                SAPbobsCOM.JournalEntries asiento = mobjCnn.GetBusinessObject(BoObjectTypes.oJournalEntries);

                //SAPbobsCOM.JournalEntries asiento = null;
                //asiento = (SAPbobsCOM.JournalEntries)mobjCnn.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries);

                if (dtDueDate != null) asiento.DueDate = dtDueDate.Value;
                asiento.Memo = sMemo;
                asiento.TaxDate = dtTaxDate;
                asiento.AutoVAT = (sAutoVat == "N" ? BoYesNoEnum.tNO : BoYesNoEnum.tYES);
                asiento.ReferenceDate = dtReferenceDate;
                if (!string.IsNullOrWhiteSpace(sReference)) asiento.Reference = sReference;
                if (!string.IsNullOrWhiteSpace(sTransCode)) asiento.TransactionCode = sTransCode;

                int ntotal = items.Length;
                int ncolumnas = 15;
                int nfilas = ntotal / ncolumnas;

         for (int i = 0; i < nfilas; i++)
                    {
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas])) asiento.Lines.AccountCode = items[i * ncolumnas];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 1])) asiento.Lines.ShortName = items[i * ncolumnas + 1];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 2])) asiento.Lines.LineMemo = items[i * ncolumnas + 2];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 3])) asiento.Lines.Credit = Convert.ToDouble("888");//Convert.ToDouble(items[i * ncolumnas + 3]);
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 4])) asiento.Lines.Debit = Convert.ToDouble("0");//Convert.ToDouble(items[i * ncolumnas + 4]);
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 5])) asiento.Lines.DueDate = Convert.ToDateTime(items[i * ncolumnas + 5]);
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 6])) asiento.Lines.UserFields.Fields.Item("U_BPP_CTAD").Value = items[i * ncolumnas + 6];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 7])) asiento.Lines.TaxDate = Convert.ToDateTime(items[i * ncolumnas + 7]);
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 8])) asiento.Lines.ProjectCode = items[i * ncolumnas + 8];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 9])) asiento.Lines.CostingCode = items[i * ncolumnas + 9];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 10])) asiento.Lines.FCCurrency = items[i * ncolumnas + 10];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 11])) asiento.Lines.FCDebit = Convert.ToDouble(items[i * ncolumnas + 11]);
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 12])) asiento.Lines.FCCredit = Convert.ToDouble(items[i * ncolumnas + 12]);
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 13])) asiento.Lines.Reference1 = items[i * ncolumnas + 13];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 14])) asiento.Lines.Reference2 = items[i * ncolumnas + 14];

                        String RS = asiento.Lines.FCCurrency = items[i * ncolumnas + 10];



                        string AccountCode = items[i * ncolumnas];
                        string ShortName = items[i * ncolumnas + 1];
                        string ineMemo = items[i * ncolumnas + 2];
                        string Credit = items[i * ncolumnas + 3];
                        string Debit = items[i * ncolumnas + 4];
                        DateTime DueDate = Convert.ToDateTime(items[i * ncolumnas + 5]);
                        string U_BPP_CTAD = items[i * ncolumnas + 6];
                        DateTime TaxDate = Convert.ToDateTime(items[i * ncolumnas + 7]);
                        string ProjectCode = items[i * ncolumnas + 8];
                        if (!string.IsNullOrWhiteSpace(items[i * ncolumnas + 9])) asiento.Lines.CostingCode = items[i * ncolumnas + 9];
                        string FCCurrency = items[i * ncolumnas + 10];
                        double FCDebit = Convert.ToDouble(items[i * ncolumnas + 11]);
                        double FCCredit = Convert.ToDouble(items[i * ncolumnas + 12]);
                        string Reference1 = items[i * ncolumnas + 13];
                        string Reference2 = items[i * ncolumnas + 14];


                        asiento.Lines.Add();



                    }



                iResultado = asiento.Add();

                if (iResultado < 0)
                {
                    iResultado = 0;
                    int iError;
                    string sErrorMensaje;
                    mobjCnn.GetLastError(out iError, out sErrorMensaje);
                    try
                    {
                        mobjCnn.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack);
                    }
                    catch { }

                    strMensaje = iError.ToString() + ": " + sErrorMensaje;
                    return iResultado;
                }
                else
                {
                    string strDocEntry;
                    mobjCnn.GetNewObjectCode(out strDocEntry);

                    mobjCnn.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_Commit);
                    iResultado = 1;
                    strMensaje = strDocEntry;
                }
            }
            catch (Exception ex)
            {
                iResultado = 0;
                mobjCnn.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack);

                strMensaje = "(GT) " + ex.Message;
            }

            return iResultado;

Hola buen día.

El texto ‘GT’ en el mensaje que deseas imprimir en caso de excepcion es por referencia a el pais?, me refiero que el GT haces referencia a GUATEMALA, de ser asi, el problema que tienes es correcto, porque la moneda oficial en guatemala es el Quetzal.

Saludos.

Buen día estimado, el text “GT”, no hace referencia al país es solo un descriptivo de otra palabra, verás el País donde envió los parámetros es Perú, asimismo he verificado y la tabla donde se encuentra el valor 15 es el siguiente:

, envio lo mismos parametros Code (15), Country (PE) . Asimismo las monedas estan creadas en la BD , de antemano agradezco tu apoyo.

Valida la cuenta contable tenga la moneda permitida?

En una BD de pruebas, colocale a las cuentas contables afectadas en tu transacción, que sean “multimonedas” y revisa si funciona.

Este tema se cerró automáticamente después de 14 días. No se permiten nuevas respuestas.