Bueno Pablo, yo uso algo como lo siguiente:

 

****************************************************************************
***************************

DEFINE CLASS Pagos AS Custom

****************************************************************************
***************************

NumeroError              = 0   

DescripcionError         = ""

 

          * nResultado = THISFORM.oPagos.Alta(cComprobante, dFechaPago,
nImporte, cCodigoContrato, nDescuento, cDescripcion, cNumeroRecibo)

 
****************************************************************************
***************************             

        PROCEDURE Alta(cComprobante, dFechaPago, nImporte, cCodigoContrato,
nDescuento, cDescripcion, cNumeroRecibo)

 
****************************************************************************
***************************             

        * Recibe las variables y llama al procedimiento almacenado
SP_Alta_PAGOS

        *

        LOCAL nResultado

        nResultado = -1

            *

            =SQLSETPROP(oAplicacion.Conexion, "Transactions", 2) 

            *

           TEXT TO cInstruccionSql NOSHOW PRETEXT 2

                  EXECUTE SP_Alta_Pagos @CodigoContrato   =
?cCodigoContrato,

                                         @CodigoFormaPago =
?cCodigoFormaPago,

                                         @Comprobante     =
?ALLTRIM(cComprobante), 

                                         @FechaPago
=?DTOC(dFechaPago),  

                                         @Importe         =?nImporte,

                                         @Descuento       =?nDescuento,

                                         @Descripcion     =?cDescripcion,

                                         @NumeroRecibo    =?cNumeroRecibo,

                                         @CodigoUsuario
=?oAplicacion.CodigoUsuario

            ENDTEXT

            *

                  =SQLPREPARE(oAplicacion.Conexion, cInstruccionSql)

                  *

                  nResultado = SQLEXEC(oAplicacion.Conexion)

                  *

                  IF nResultado < 0

                     THIS.ParseaError("ALTA Pagos")              

                     =SQLROLLBACK(oAplicacion.Conexion)

                     =SQLSETPROP(oAplicacion.Conexion, "Transactions", 1)


                     RETURN -1

                  ELSE

                     nResultado = 1

                  ENDIF

 

 

ETC, ETC, ETC …

 

O bien, para traer un cursor con un listado de PAGOS:

 

 
****************************************************************************
***************************             

        PROCEDURE TraerTodos(sNombreCursor)

 
****************************************************************************
***************************                     

        LOCAL nResultado

        nResultado = -1

              *

              TEXT TO cInstruccionSql TEXTMERGE NOSHOW PRETEXT 2

                   SELECT FechaPago, CodigoPago, Comprobante, Descripcion,
Descuento, Importe, NumeroRecibo FROM Pagos 

              ENDTEXT

              *

            nResultado = SQLEXEC(oAplicacion.Conexion, cInstruccionSql,
sNombreCursor)             

                  *

              IF nResultado < 0

                 THIS.ParseaError

              ENDIF

              *

            RETURN nResultado  

            *

        ENDPROC         

 

 

Estoy mil por cien seguro que el framework es muchísimo mejor… pero yo así
saqué las papas del fuego, desarrollé todo rapidito y eficientemente.

 

Saludos.

Responder a