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.

Comentarios

Entradas populares de este blog