/****** Script do comando SelectTopNRows de SSMS  ******/
select
	
	concat(	
				iif([Tam01] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam01],',',
					[Unitario],',',
					[Tam01],',',--:T01,
					0,',',--:T02,
					0,',',--:T03, 
					0,',',--:T04, 
					0,',',--:T05, 
					0,',',--:T06, 
					0,',',--:T07, 
					0,',',--:T08, 
					0,',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					1,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,''),

				iif([Tam02] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam02],',',
					[Unitario],',',
					0,',',--:T01,
					[Tam02],',',--:T02,
					0,',',--:T03, 
					0,',',--:T04, 
					0,',',--:T05, 
					0,',',--:T06, 
					0,',',--:T07, 
					0,',',--:T08, 
					0,',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					2,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,''),

				iif([Tam03] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam03],',',
					[Unitario],',',
					0,',',--:T01,
					0,',',--:T02,
					[Tam03],',',--:T03, 
					0,',',--:T04, 
					0,',',--:T05, 
					0,',',--:T06, 
					0,',',--:T07, 
					0,',',--:T08, 
					0,',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					3,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,'')
			
			,'') as SQL,

			concat(	

				

				iif([Tam04] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam04],',',
					[Unitario],',',
					0,',',--:T01,
					0,',',--:T02,
					0,',',--:T03, 
					[Tam04],',',--:T04, 
					0,',',--:T05, 
					0,',',--:T06, 
					0,',',--:T07, 
					0,',',--:T08, 
					0,',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					4,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,''),

				iif([Tam05] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam05],',',
					[Unitario],',',
					0,',',--:T01,
					0,',',--:T02,
					0,',',--:T03, 
					0,',',--:T04, 
					[Tam05],',',--:T05, 
					0,',',--:T06, 
					0,',',--:T07, 
					0,',',--:T08, 
					0,',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					5,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,'')
			
			,'') as SQL2,


			concat(

				iif([Tam06] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam06],',',
					[Unitario],',',
					0,',',--:T01,
					0,',',--:T02,
					0,',',--:T03, 
					0,',',--:T04, 
					0,',',--:T05, 
					[Tam06],',',--:T06, 
					0,',',--:T07, 
					0,',',--:T08, 
					0,',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					6,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,''),

				iif([Tam07] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam07],',',
					[Unitario],',',
					0,',',--:T01,
					0,',',--:T02,
					0,',',--:T03, 
					0,',',--:T04, 
					0,',',--:T05, 
					0,',',--:T06, 
					[Tam07],',',--:T07, 
					0,',',--:T08, 
					0,',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					7,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,''),

				iif([Tam08] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam08],',',
					[Unitario],',',
					0,',',--:T01,
					0,',',--:T02,
					0,',',--:T03, 
					0,',',--:T04, 
					0,',',--:T05, 
					0,',',--:T06, 
					0,',',--:T07, 
					[Tam08],',',--:T08, 
					0,',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					8,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,''),

				iif([Tam09] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam09],',',
					[Unitario],',',
					0,',',--:T01,
					0,',',--:T02,
					0,',',--:T03, 
					0,',',--:T04, 
					0,',',--:T05, 
					0,',',--:T06, 
					0,',',--:T07, 
					0,',',--:T08, 
					[Tam09],',',--:T09, 
					0,',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					9,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,''),

				iif([Tam10] > 0, 
					concat(SQLP1,
					1,',',
					2,',',
					'FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),',
					'(coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1)',',',
					'''1''||fn_lpad(FN_NUMERO_PEDIDO(',[Comanda],',',pecas,'),6,''0'')||fn_lpad((coalesce((select max(i.sequencia) from tbpedido_item i where i.pedido = FN_NUMERO_PEDIDO(',[Comanda],',',pecas,')),0) + 1),3,''0'')',',',
					CLIENTE_ID,',',
					'(select first 1 p.codigo from tbproduto p where p.modelo_codigo = ',[Produto],' and p.cor_codigo = ',[Cor],')',',',
					[Produto],',',
					[Tam10],',',
					[Unitario],',',
					0,',',--:T01,
					0,',',--:T02,
					0,',',--:T03, 
					0,',',--:T04, 
					0,',',--:T05, 
					0,',',--:T06, 
					0,',',--:T07, 
					0,',',--:T08, 
					0,',',--:T09, 
					[Tam10],',',--:T10,
					'0,0,0,0,0,0,0,0,0,0,',
					[Unitario],',',
					10,',',
					[Cor],',''',
					FORMAT([EntregaPrevista], 'dd.MM.yyyy'),''',''',
					FORMAT([Data], 'dd.MM.yyyy'),''',',
					'''SKU'',',
					0,',',
					0,',',
					0,',',
					desconto,
					') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO);', '')
				,'')
			
			,'') as SQL3,

	f.*

from(

	SELECT 
		  'update or insert into TBPEDIDO_ITEM ( ESTABELECIMENTO_CODIGO, LOCALIZACAO_ID, PEDIDO, SEQUENCIA, CONTROLE, CLIENTE_CODIGO, PRODUTO_CODIGO, MODELO_CODIGO, QUANTIDADE, VALOR, T01, T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, VR_TAB, TAMANHO, COR_ID, DATA_CLIENTE, DATA_PRODUCAO, PERFIL, VALOR_IPI, PERCENTUAL_IPI, VALOR_DESCONTO, PERCENTUAL_DESCONTO ) VALUES (' as SQLP1
		  ,ROW_NUMBER() over(order by a.[Comanda]) as linha
		  ,a.[Comanda]
		  ,a.[Produto]
		  ,[Cor]
		  ,[Tam01]
		  ,[Tam02]
		  ,[Tam03]
		  ,[Tam04]
		  ,[Tam05]
		  ,[Tam06]
		  ,[Tam07]
		  ,[Tam08]
		  ,[Tam09]
		  ,[Tam10]
		  ,[Qtde]
		  ,[Unitario]
		  ,[Total]
		  ,[ItemPedidodoCliente]
		  ,[Cliente] + 200 as CLIENTE_ID
		  ,[Data]
		  ,[EntregaPrevista]
		  ,[ValorDesconto]
		  ,iif(b.[ValorDesconto] > 0, (b.[ValorDesconto] / [ValorBruto]) * 100, 0) as desconto
		  ,pecas

	  FROM [AlphaInd].[dbo].[PedidoVenda_ItemGrade] a, [AlphaInd].[dbo].[PedidoVenda] b, [AlphaInd].[dbo].[PedidoVenda_Item] c
	  where status = 'S'
	  --and a.Comanda = 9395
	  and a.Comanda = b.Comanda
	  and c.Comanda = a.Comanda
	  and a.Produto = c.Produto
	
	  and a.Comanda in (
		9332,
		9333,
		9360,
		9382,
		9385,
		9386,
		9391,
		9400,
		9402,
		9405,
		0
		)
) f