Entrada 5 10 de setiembre 2018, se trabaja por 4 horas realizan la simulacion, hay progreso pues se logra insertar las cuentas de forma exitosa mapeando con los clientes que se habian introducido anteriormente.
Se tenia problemas con la insercion de cuentas pues no se mapeaban los id de los clientes con sus cuentas. Se trato de hacer inner join pero esto fallo, luego de varios intentos que incluyeron:
//
@CompDocId varchar(50), @CompId int
...
SELECT @CompDocId = Cl.DocId
FROM dbo.Cliente Cl
SELECT @CompId = Cl.Id
FROM dbo.Cliente Cl
WHERE @DocIdCliente = @CompDocId
//
Esto fallaba porque @DocIdCliente es un varchar mientras que @CompDocId es una fila de una tabla por lo que @CompId era null y generaba error.
Se aprendio a realizar una busqueda mas precisa y con ello el codigo resultado para incertar las Cuentas es el siguiente:
//
DECLARE @loCU int, @hiCU int, @DocIdCliente varchar(50), @tipoCuenta int, @codigoCuenta varchar(50), @fechaCreacion date, @CompId int
SELECT @loCU = min(Cu.sec), @hiCU = max(Cu.sec)
FROM @TCuentas Cu
WHILE @loCU <= @hiCU
BEGIN
SELECT @DocIdCliente = Cu.docIdCliente, @tipoCuenta = Cu.tipoCuenta, @codigoCuenta = Cu.codigoCuenta , @fechaCreacion = Cu.fechaCuenta
FROM @TCuentas Cu
WHERE Cu.sec = @loCU
SELECT @CompId = Id from dbo.Clientes
WHERE DocId = @DocIdCliente
INSERT dbo.Cuenta(idTipoCuenta,ClienteDocId,saldo,codigoCuenta,intersesAcumulados,fechaCreacion)
VALUES(@tipoCuenta,@CompId,0,@codigoCuenta,0,@fechaCreacion)
SET @loCU = @loCU + 1
END
//
A continuacion, se trabajara en la creacion de estados de cuenta y el procesamiento de movimientos.
Se tenia problemas con la insercion de cuentas pues no se mapeaban los id de los clientes con sus cuentas. Se trato de hacer inner join pero esto fallo, luego de varios intentos que incluyeron:
//
@CompDocId varchar(50), @CompId int
...
SELECT @CompDocId = Cl.DocId
FROM dbo.Cliente Cl
SELECT @CompId = Cl.Id
FROM dbo.Cliente Cl
WHERE @DocIdCliente = @CompDocId
//
Esto fallaba porque @DocIdCliente es un varchar mientras que @CompDocId es una fila de una tabla por lo que @CompId era null y generaba error.
Se aprendio a realizar una busqueda mas precisa y con ello el codigo resultado para incertar las Cuentas es el siguiente:
//
DECLARE @loCU int, @hiCU int, @DocIdCliente varchar(50), @tipoCuenta int, @codigoCuenta varchar(50), @fechaCreacion date, @CompId int
SELECT @loCU = min(Cu.sec), @hiCU = max(Cu.sec)
FROM @TCuentas Cu
WHILE @loCU <= @hiCU
BEGIN
SELECT @DocIdCliente = Cu.docIdCliente, @tipoCuenta = Cu.tipoCuenta, @codigoCuenta = Cu.codigoCuenta , @fechaCreacion = Cu.fechaCuenta
FROM @TCuentas Cu
WHERE Cu.sec = @loCU
SELECT @CompId = Id from dbo.Clientes
WHERE DocId = @DocIdCliente
INSERT dbo.Cuenta(idTipoCuenta,ClienteDocId,saldo,codigoCuenta,intersesAcumulados,fechaCreacion)
VALUES(@tipoCuenta,@CompId,0,@codigoCuenta,0,@fechaCreacion)
SET @loCU = @loCU + 1
END
//
A continuacion, se trabajara en la creacion de estados de cuenta y el procesamiento de movimientos.
Comentarios
Publicar un comentario