Está en la página 1de 5

SUBIR BASES AL CRM

CREACION TABLA INFORMACION


-- CRM MIES

CREATE TABLE [dbo].[Informacion](


[miesId] [uniqueidentifier] NULL,
[name] [nvarchar](255) NULL,
[n] [nvarchar](255) NULL,
[nombresyapellidos] [nvarchar](255) NULL,
[telefono] [nvarchar](255) NULL,
[provincia] [nvarchar](255) NULL,
[fechahabilitada] [nvarchar](255) NULL,
[pago] [nvarchar](255) NULL,
[grupo] [nvarchar](255) NULL,
)

select * from Informacion

ASIGNAR ID miesId

--CREACION DE NEW ID()

update Informacion set miesId = NEWID()

CARGAR DATOS CRM

-- CONEXION CON EL TABLA new_miesBase

declare
@OWNER UNIQUEIDENTIFIER,
@OWNERID UNIQUEIDENTIFIER,
@OwningBusinessUnit UNIQUEIDENTIFIER

SELECT@OWNER = SystemUserId,
@OWNERID = SystemUserId,
@OwningBusinessUnit=BusinessUnitId
--FROM srvcrmdev01.cronix.[dbo].[SystemUserBase] where DomainName =
'CRONIX\mcarrillo' -- PRODUCCION
FROM [CronixCiaLtda_MSCRM].dbo.SystemUserBase where DomainName =
'CRONIX\mcarrillo' -- DESARROLLO

SELECT
@OWNER ,
@OWNERID ,
@OwningBusinessUnit

insert into [CronixCiaLtda_MSCRM].dbo.[new_miesBase](


[new_miesId]
,[CreatedOn]
,[CreatedBy]
,[ModifiedOn]
,[ModifiedBy]
,[OwnerId]
,[OwnerIdType]
,[statecode]
,[OwningBusinessUnit])

select
I.miesId
,GETDATE()
,@OWNER
,GETDATE()
,@OWNER
,@OWNERID
,8
,0
,@OwningBusinessUnit

from Informacion I
where I.grupo='BASE 15 1337'

--CONEXION A LA TABLA new_miesExtensionBase

INSERT INTO [CronixCiaLtda_MSCRM].[dbo].[new_miesExtensionBase]


([new_miesId]
,[new_name]
,[new_n]
,[new_nombresyapellidos]
,[new_telefono]
,[new_provincia]
,[new_fechahabilitada]
,[new_pago]
,[new_grupo]

SELECT
I.miesId
,I.name
,I.n
,I.nombresyapellidos
,I.telefono
,I.provincia
,I.fechahabilitada
,I.pago
,I.grupo

FROM Informacion I
where I.grupo='BASE 15 1337'
VERIFICAR USUARIOS
-- declareacin de tabla para usuarios disponibles
declare @usuarios table
(
indice int identity(1,1),
ownerid nvarchar(36),
name nvarchar(500)
)

--ingreso de datos de usuarios a iterar


insert into @usuarios
select
ownerid,
name
from OwnerBase
-- WHERE Name like 'usuario%' and Name != 'usuario 100'
--WHERE Name in ('vroldan','mcarrillo','emartinez')

order by Name

select * from @usuarios;

ASIGNACION
-- declareacion tabla para while (todas las gestiones a asignar)
declare @tablaIdsBase table
(
idEnteroBase int identity,
idbase nvarchar(36)
)

insert into @tablaIdsBase


select gb.new_miesId
from CronixCiaLtda_MSCRM.[dbo].[new_miesBase] gb
join new_miesExtensionBase geb on gb.new_miesId = geb.new_miesId
where geb.new_estatus is null
order by geb.new_miesId -- todas las no gestionadas

-- declareacin de tabla para usuarios disponibles


declare @usuarios table
(
indice int identity(1,1),
ownerid nvarchar(36),
name nvarchar(500)
)

--ingreso de datos de usuarios a iterar


insert into @usuarios
select
ownerid,
name
from OwnerBase
-- WHERE Name like 'usuario%' and Name != 'usuario 100'
WHERE Name in ('ANA LUCIA LIDIOMA YUPANGUI', 'usuario 01','usuario 02','usuario 03','usuario
04','usuario 05','usuario 06','WASHINTONG RIOS TORRES')

order by Name

select * from @usuarios;

-- preparacion para el bucle

-- declaracion de variables

declare
@index1 int,
@ownerid1 nvarchar(36),
@limite int,
@empezar int,
@terminar int,
@indiceUsuario int,
@limiteUsuario int

set @index1 =1

set @indiceUsuario = 1
select @limiteUsuario = max(indice) from @usuarios

select @limite = max(idEnteroBase) from @tablaIdsBase;

while (@index1<=@limite)
begin

-- programacion del bucle por cada registro


select @ownerid1 = ownerid from @usuarios where indice = @indiceUsuario;

--test

--select @index1,name from @usuarios where indice = @indiceUsuario;

--select new_gestionmapid,OwnerId new_gestionmapId


--from CronixCiaLtda_MSCRM.[dbo].[new_gestionmapBase]
--where new_gestionmapId in(
--select idbase from @tablaIdsBase where idEnteroBase = @index1
--)

--select @indiceUsuario, @index1, @limite

print ('usuario:'+ convert(varchar(15),@indiceUsuario)+' iteracion


actual:'+convert(varchar(15),@index1)+' limite:'+convert(varchar(15),@limite))
print ('=================================')
-- entest

update new_miesBase set OwnerId = @ownerid1


where new_miesId in(
select idbase from @tablaIdsBase where idEnteroBase = @index1)

set @indiceUsuario = @indiceUsuario+1;


if(@indiceUsuario >@limiteUsuario)
begin
set @indiceUsuario =1;
end
set @index1= @index1+1;
end

También podría gustarte