2007-08-08 15:18:45 +00:00
/* --------------- SQL --------------- */
CREATE PROCEDURE crosstab
@ select varchar ( 8000 ) ,
@ sumfunc varchar ( 100 ) ,
@ pivot varchar ( 100 ) ,
@ table varchar ( 100 )
AS
DECLARE @ sql varchar ( 8000 ) , @ delim varchar ( 1 )
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
EXEC ( ' SELECT ' + @ pivot + ' AS pivot INTO ##pivot FROM ' + @ table + ' WHERE 1=2 ' )
EXEC ( ' INSERT INTO ##pivot SELECT DISTINCT ' + @ pivot + ' FROM ' + @ table + ' WHERE ' + @ pivot + ' Is Not Null ' )
SELECT @ sql = ' ' , @ sumfunc = stuff ( @ sumfunc , len ( @ sumfunc ) , 1 , ' END) ' )
SELECT @ delim = CASE Sign ( CharIndex ( ' char ' , data_type ) + CharIndex ( ' date ' , data_type ) )
WHEN 0 THEN ' ' ELSE ' '' ' END
FROM tempdb . information_schema . columns
WHERE table_name = ' ##pivot ' AND column_name = ' pivot '
SELECT @ sql = @ sql + ' '' ' + convert ( varchar ( 100 ) , pivot ) + ' '' = ' + stuff ( @ sumfunc , charindex ( ' ( ' , @ sumfunc ) + 1 , 0 , ' CASE ' + @ pivot + ' WHEN ' + @ delim + convert ( varchar ( 100 ) , pivot ) + @ delim + ' THEN ' ) + ' , ' FROM ##pivot
DROP TABLE ##pivot
SELECT @ sql = left ( @ sql , len ( @ sql ) - 1 )
SELECT @ select = stuff ( @ select , charindex ( ' FROM ' , @ select ) + 1 , 0 , ' , ' + @ sql + ' ' )
EXEC ( @ select )
SET ANSI_WARNINGS ON
GO
/* --------------- SQL --------------- */
CREATE PROCEDURE RDX_P_CARGAR_INVENTARIOEDI
AS
BEGIN
INSERT INTO RDX_INVENTARIOEDI (
NUMDOC , NUMLIN , NUMCANT , TIPOCANT , FECHA , CENTRO , FILIAL , CODVEN ,
VENDEDOR , CODIGO_BARRA , CODIGO , PRODUCTO , COLOR , TALLA , CANTIDAD ,
CENTRO2 , FILIAL2 , IGNORAR )
SELECT
RDX_CANTINV . NUMDOC ,
RDX_CANTINV . NUMLIN ,
RDX_CANTINV . NUMCANT ,
RDX_CANTINV . TIPOCANT ,
RDX_CABINV . FECHALIQ AS FECHA ,
RDX_CABINV . CENTRO ,
FILIAL = ISNULL ( FILIAIS . FILIAL , RDX_CABINV . CENTRO ) ,
RDX_CANTINV . IDVEN AS CODVEN ,
VENDEDOR = ISNULL ( LTRIM ( RTRIM ( LOJA_VENDEDORES . NOME_VENDEDOR ) ) + ' ' + LTRIM ( RTRIM ( LOJA_VENDEDORES . VENDEDOR_APELIDO ) ) , RDX_CANTINV . IDVEN ) ,
RDX_LININV . CODART AS CODIGO_BARRA ,
CODIGO = ISNULL ( PRODUTOS . PRODUTO , ' 107CH.EN.01 ' ) ,
PRODUCTO = ISNULL ( PRODUTOS . DESC_PRODUTO , ' *** ERROR REFERENCIA **** LLAMAR AL CI ' ) ,
COLOR = ISNULL ( PRODUTOS_BARRA . COR_PRODUTO , 300 ) ,
TALLA = PRODUTOS_BARRA . GRADE ,
RDX_CANTINV . CANTIDAD ,
CENTRO2 = RDX_CANTINV . CENTRO ,
FILIAL2 = ISNULL ( FILIAIS2 . FILIAL , RDX_CANTINV . CENTRO ) ,
RDX_CABINV . IGNORAR
FROM RDX_CANTINV
INNER JOIN RDX_LININV ON
( ( RDX_LININV . NUMDOC = RDX_CANTINV . NUMDOC ) AND
( RDX_LININV . NUMLIN = RDX_CANTINV . NUMLIN ) )
INNER JOIN RDX_CABINV ON
( RDX_CABINV . NUMDOC = RDX_LININV . NUMDOC )
LEFT OUTER JOIN RDX_FILIALES ON ( RDX_FILIALES . CODBARRA = RDX_CABINV . CENTRO )
LEFT OUTER JOIN FILIAIS ON ( FILIAIS . COD_FILIAL = RDX_FILIALES . CODFILIAL )
LEFT OUTER JOIN RDX_FILIALES RDX_FILIALES2 ON ( RDX_FILIALES2 . CODBARRA = RDX_CANTINV . CENTRO )
LEFT OUTER JOIN FILIAIS FILIAIS2 ON ( FILIAIS2 . COD_FILIAL = RDX_FILIALES2 . CODFILIAL )
LEFT OUTER JOIN LOJA_VENDEDORES ON ( LOJA_VENDEDORES . RG = RDX_CANTINV . IDVEN )
LEFT OUTER JOIN PRODUTOS_BARRA ON ( ( PRODUTOS_BARRA . CODIGO_BARRA = RDX_LININV . CODART ) )
LEFT OUTER JOIN PRODUTOS ON ( PRODUTOS . PRODUTO = PRODUTOS_BARRA . PRODUTO )
WHERE RDX_CABINV . FECHALIQ > = CONVERT ( DATETIME , ' 20060601 ' , 112 ) /* PARA NO COGER A<> OS ANTERIORES */
AND RDX_CABINV . CARGADO IS NULL
UPDATE RDX_CABINV SET
CARGADO = 1
WHERE CARGADO IS NULL
END
GO
/* --------------- SQL --------------- */
CREATE PROCEDURE RDX_P_CARGAR_VENTASEDI
AS
BEGIN
INSERT INTO RDX_VENTASEDI (
NUMINF , CLAVE1 , CLAVE2 , CLAVE3 , PERVENINI , NUMTALON , EANLUG ,
FILIAL , EANVEN , CODVEN , VENDEDOR , EANART , CODCOM , PRODUTO ,
DESC_PRODUTO , COR_PRODUTO , GRADE , TIPO_PRODUTO , GRUPO_PRODUTO ,
2007-09-21 17:56:46 +00:00
DESC_COLECAO , VALVEN , CANVEN , CANDEV , CANVENNET , CANESP , IGNORAR )
2007-08-08 15:18:45 +00:00
SELECT
RDX_CABVEN . NUMINF ,
RDX_ARTVEN . CLAVE1 ,
RDX_ARTVEN . CLAVE2 ,
RDX_ARTVEN . CLAVE3 ,
RDX_LUGVEN . PERVENINI ,
RDX_ARTVEN . NUMTALON ,
RDX_LUGVEN . EANLUG ,
FILIAL = ISNULL ( FILIAIS . FILIAL , RDX_LUGVEN . EANLUG ) ,
RDX_ARTVEN . EANVEN ,
LOJA_VENDEDORES . VENDEDOR AS CODVEN ,
VENDEDOR = ISNULL ( LTRIM ( RTRIM ( LOJA_VENDEDORES . NOME_VENDEDOR ) ) + ' ' + LTRIM ( RTRIM ( LOJA_VENDEDORES . VENDEDOR_APELIDO ) ) , RDX_ARTVEN . EANVEN ) ,
RDX_ARTVEN . EANART ,
RDX_ARTVEN . CODCOM ,
produtos . PRODUTO ,
ISNULL ( produtos . DESC_PRODUTO , ' *** ERROR REFERENCIA **** LLAMAR AL CI ' ) AS DESC_PRODUTO ,
PRODUTOS_BARRA . COR_PRODUTO ,
PRODUTOS_BARRA . GRADE ,
produtos . TIPO_PRODUTO ,
produtos . GRUPO_PRODUTO ,
COLECOES . DESC_COLECAO ,
RDX_ARTVEN . VALVEN ,
RDX_ARTVEN . CANVEN ,
RDX_ARTVEN . CANDEV ,
RDX_ARTVEN . CANVENNET ,
2007-09-21 17:56:46 +00:00
RDX_ARTVEN . CANESP ,
RDX_CABVEN . IGNORAR
2007-08-08 15:18:45 +00:00
FROM
RDX_ARTVEN
INNER JOIN RDX_LUGVEN ON ( RDX_ARTVEN . CLAVE1 = RDX_LUGVEN . CLAVE1 AND RDX_ARTVEN . CLAVE2 = RDX_LUGVEN . CLAVE2 )
INNER JOIN RDX_CABVEN ON ( RDX_LUGVEN . CLAVE1 = RDX_CABVEN . CLAVE1 )
left outer join RDX_FILIALES on ( RDX_FILIALES . CODBARRA = RDX_LUGVEN . EANLUG )
left outer join FILIAIS on ( FILIAIS . COD_FILIAL = RDX_FILIALES . CODFILIAL )
LEFT OUTER JOIN LOJA_VENDEDORES ON ( LOJA_VENDEDORES . RG LIKE ' % ' + RDX_ARTVEN . EANVEN + ' % ' )
LEFT OUTER JOIN PRODUTOS_BARRA ON ( ( PRODUTOS_BARRA . CODIGO_BARRA = RDX_ARTVEN . EANART ) or ( PRODUTOS_BARRA . CODIGO_BARRA = RDX_ARTVEN . CODCOM ) )
LEFT OUTER JOIN PRODUTOS on ( produtos . PRODUTO = PRODUTOS_BARRA . PRODUTO )
LEFT OUTER JOIN COLECOES on ( COLECOES . COLECAO = PRODUTOS . COLECAO )
WHERE RDX_CABVEN . CARGADO IS NULL
UPDATE RDX_CABVEN SET
CARGADO = 1
WHERE CARGADO IS NULL
END
GO
/* --------------- SQL --------------- */
CREATE PROCEDURE RDX_P_SET_ULTIMOINVENTARIO
AS
BEGIN
DECLARE @ CENTRO VARCHAR ( 17 ) ,
@ CODIGO VARCHAR ( 12 ) ,
@ COLOR VARCHAR ( 10 ) ,
@ TALLA VARCHAR ( 8 ) ,
@ FECHA DATETIME ,
@ UPDATECMD VARCHAR ( 255 )
DECLARE ASD CURSOR FOR
SELECT RTRIM ( CENTRO ) , RTRIM ( CODIGO ) , RTRIM ( COLOR ) , RTRIM ( TALLA ) , FECHA
FROM RDX_V_INVENTARIO_MAXFECHAS
OPEN ASD
FETCH NEXT FROM ASD INTO @ CENTRO , @ CODIGO , @ COLOR , @ TALLA , @ FECHA
IF @ @ ROWCOUNT > = 0
BEGIN
WHILE @ @ FETCH_STATUS = 0
BEGIN
UPDATE RDX_INVENTARIOEDI SET ULTIMO_INVENTARIO = NULL
WHERE CENTRO = @ CENTRO AND CODIGO = @ CODIGO AND COLOR = @ COLOR AND TALLA = @ TALLA
UPDATE RDX_INVENTARIOEDI SET ULTIMO_INVENTARIO = 1
WHERE FECHA = CONVERT ( VARCHAR , @ FECHA , 112 ) AND CENTRO = @ CENTRO AND CODIGO = @ CODIGO AND COLOR = @ COLOR AND TALLA = @ TALLA AND TIPOCANT = 145
FETCH NEXT FROM ASD INTO @ CENTRO , @ CODIGO , @ COLOR , @ TALLA , @ FECHA
END
END
CLOSE ASD
DEALLOCATE ASD
END
GO
/* EOF */