cancel
Showing results for 
Search instead for 
Did you mean: 

Cerrar Pagos por medio del Api SAP 9 y C#

Former Member
0 Kudos

Saludos.

Quisiera poder consultar con ustedes un evento por el que estoy pasando al tratar de cancelar pagos por medio del api de SAP 9 en C#

Les comento:

Realizo esta consulta:

SELECT A.DocNum Numero,

B.DocEntry Folio--, b.Canceled

FROM RCT2 A join ORCT B on A.DocNum = B.DocNum

WHERE A.DocEntry = sFolioDoc

AND A.InvType = '13'

La consulta la cargo a una lista e itero con un foreach para proceder a cancelar los distintos pagos registrados a la factura. A continuación el código iterable:

oPagoSBO = (SAPbobsCOM.Payments)this.oSociedad.CompaniaSAPB1.GetBusinessObject(BoObjectTypes.oIncomingPayments);

if (!oPagoSBO.GetByKey(iFolioPago))

{

    //Codigo desplegar error

}

if (oPagoSBO.Cancelled == BoYesNoEnum.tYES)

    continue;

if (oPagoSBO.Cancel() != 0)

{

    //Codigo desplegar Error (*)

}

Y en ese Cancel() es donde comienzo a tener problemas, los errores que comunica son dos principalmente, varia a cada ejecución:

1.- [Microsoft][SQL Server Native Client 11.0][SQL Server]A column has been specified more than once in the order by list. Columns in the order by list must be unique. (RCT7)

2.- Internal error (-2014) occurred

¿Que pudiera estar ocurriendo?

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member188471
Active Contributor
0 Kudos

iFolioPago que guarda?

podras poner el fragmento donde le asignas valor

Former Member
0 Kudos

Gracias por el apoyo.

La respuesta que me arroja la consulta la guardo en una variable del tipo lista de enteros.

oFolioPagos = oDatos.Tables[sNombreTabla].AsEnumerable().Select(oFila => (oFila.Field<Int32>("Folio"))).ToList();

              

foreach (Int32 iFolioPago in oFolioPagos)

{

     //Código desplegado anteriormente

     //iFolioPago contiene los DocEntry de los pagos.

}

Me he tratado de basar en lo comentado en estos hilos:

Problem canceling an incoming Payment | SCN

former_member188471
Active Contributor
0 Kudos

Creo tu consulta esta arrojando mas de un resultado repetido, validalo.