Skip to content

Instantly share code, notes, and snippets.

@gustavoleo
Created February 14, 2024 18:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gustavoleo/c9f3049b0c78dae3b72e3e440d291dee to your computer and use it in GitHub Desktop.
Save gustavoleo/c9f3049b0c78dae3b72e3e440d291dee to your computer and use it in GitHub Desktop.
CGVW_ME_LISTAR_ITENS_NFE
SELECT RES.Nf,
RES.Serie,
RES.Uni_neg,
RES.Fornecedor,
RES.Id_documento,
RES.Id_item_doc,
RES.Seq_nota,
RES.Cd_Material,
RES.especif1Movimento,
RES.especif2Movimento,
RES.especif3Movimento,
RES.Lote,
RES.DataValidadeLote,
RES.SeqGrade,
RES.Numeracao,
RES.Quantidade,
RES.UtilizaGrade,
RES.ControlaNumeroSerie,
CASE
WHEN RES.Situacao = 'P' THEN
2
WHEN RES.Situacao = 'C' THEN
3
ELSE
1
END as StatusSort,
dbo.CGFC_BUSCA_DESCRICAO_MATERIAL(RES.Cd_Material,
RES.especif1Movimento,
RES.especif2Movimento,
RES.especif3Movimento,
' ',
' ',
0,
0,
' ') as Descricao_Material,
RES.CodigoControle,
RES.CodigoUsuario,
RES.CodigoCentroArmaz,
RES.DataModificacao,
RES.HoraModificacao,
RES.IdMovimentoOriginal,
RES.Imagem,
RES.CodigoEnderecoExclusivo,
RES.nf_transferencia,
RES.itemGrade,
RES.dt_movimento,
RES.cd_esp_estoque,
RES.pr_unitario,
RES.descMovimento,
RES.cd_tp_operacao,
RES.cfop,
RES.cd_conta_gerenc,
RES.uni_med,
RES.cd_indice,
RES.cd_contabil,
RES.grade,
RES.cd_grupo,
RES.cd_sub_grupo,
RES.descMaterial,
RES.especif1Material,
RES.especif2Material,
RES.especif3Material,
RES.especif4Material,
RES.especif5Material,
RES.especif6Material,
RES.codigo_ean,
RES.ctrl_especif1,
RES.ctrl_especif2,
RES.ctrl_especif3,
RES.tipo,
RES.documento,
RES.movimento,
RES.Situacao,
RES.Nome_especif1,
RES.Nome_especif2,
RES.Nome_especif3,
RES.Nome_especif4,
RES.Nome_especif5,
RES.Nome_especif6,
RES.ctrl_especif4,
RES.ctrl_especif5,
RES.ctrl_especif6
FROM (SELECT MO.Nf,
MO.serie,
MO.uni_neg,
MO.cd_empresa fornecedor,
0 Id_documento,
0 Id_item_doc,
MO.Seq_nota,
RTRIM(MO.Cd_material) Cd_Material,
MO.Cd_especif1 especif1Movimento,
MO.Especif2 especif2Movimento,
' ' especif3Movimento,
' ' Lote,
null DataValidadeLote,
' ' SeqGrade,
' ' Numeracao,
MO.Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
' ' CodigoControle,
' ' CodigoUsuario,
RTRIM(MO.Cd_centro_armaz) CodigoCentroArmaz,
null DataModificacao,
' ' HoraModificacao,
MO.Movimento IdMovimentoOriginal,
ES.Imagem,
' ' CodigoEnderecoExclusivo,
'P' Situacao,
0 nf_transferencia,
'I' itemgrade,
MO.dt_movimento,
MO.cd_esp_estoque,
MO.pr_unitario,
MO.descricao descMovimento,
MO.cd_tp_operacao,
MO.cfop,
MO.cd_conta_gerenc,
MO.uni_med,
MO.cd_indice,
MO.cd_contabil,
MO.grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GR.ctrl_especif1,
GR.ctrl_especif2,
GR.ctrl_especif3,
EP.tipo,
MO.documento,
MO.movimento,
GR.Nome_especif1,
GR.Nome_especif2,
GR.Nome_especif3,
GR.Nome_especif4,
GR.Nome_especif5,
GR.Nome_especif6,
GR.ctrl_especif4,
GR.ctrl_especif5,
GR.ctrl_especif6
FROM ESMOVIME MO with(nolock)
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(MO.cd_material)
AND MT.Tempo_preparaca = 1
AND MT.Tipo NOT IN ('S', 'N')
AND MT.campo85 NOT IN ('L', 'A', 'N')
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GR with(nolock)
ON GR.Cd_grupo = MT.Cd_grupo
AND GR.campo26 = 'S'
INNER JOIN ESESPECI EP with(nolock)
ON EP.Cd_especie_esto = MO.Cd_esp_estoque
AND EP.tipo <> 'N'
INNER JOIN ESCARMAZ CA with(nolock)
ON CA.Cd_centro_armaz = RTRIM(MO.Cd_centro_armaz)
AND CA.Campo24 = 'S'
WHERE MO.Tipo_movimento = 'E'
AND NOT EXISTS (SELECT 1
FROM PCAUXBEN AUX with(nolock)
WHERE AUX.mov_relacionado = MO.movimento)
AND NOT EXISTS
(SELECT 1
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DO with(nolock)
ON IT.Id_documento = DO.Id_documento
AND DO.Documento_num = MO.Nf
WHERE IT.Seq_item = MO.seq_nota
AND IT.cd_material = MT.Cd_material
AND IT.Especif3 = ' '
AND IT.Lote = ' '
AND IT.Dt_validade is null
AND IT.Numeracao = ' '
AND IT.Campo30 = ' '
AND DO.Serie = coalesce(RTRIM(MO.serie), ' ')
AND DO.cd_empresa = coalesce(RTRIM(MO.cd_empresa), ' ')
AND DO.un_negocio = coalesce(RTRIM(MO.uni_neg), ' '))
UNION
SELECT MO.Nf,
MO.serie,
MO.uni_neg,
MO.cd_empresa fornecedor,
0 Id_documento,
0 Id_item_doc,
MO.Seq_nota,
RTRIM(MO.Cd_material) Cd_Material,
MO.Cd_especif1 especif1Movimento,
MO.Especif2 especif2Movimento,
' ' especif3Movimento,
' ' Lote,
null DataValidadeLote,
' ' SeqGrade,
' ' Numeracao,
MO.Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
' ' CodigoControle,
' ' CodigoUsuario,
RTRIM(MO.Cd_centro_armaz) CodigoCentroArmaz,
null DataModificacao,
' ' HoraModificacao,
MC.Movimento IdMovimentoOriginal,
ES.Imagem,
' ' CodigoEnderecoExclusivo,
'P' Situacao,
1 nf_transferencia,
'I' itemgrade,
MO.dt_movimento,
MO.cd_esp_estoque,
MO.pr_unitario,
MO.descricao descMovimento,
MO.cd_tp_operacao,
MO.cfop,
MO.cd_conta_gerenc,
MO.uni_med,
MO.cd_indice,
MO.cd_contabil,
MO.grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GR.ctrl_especif1,
GR.ctrl_especif2,
GR.ctrl_especif3,
EP.tipo,
MO.documento,
MO.movimento,
GR.Nome_especif1,
GR.Nome_especif2,
GR.Nome_especif3,
GR.Nome_especif4,
GR.Nome_especif5,
GR.Nome_especif6,
GR.ctrl_especif4,
GR.ctrl_especif5,
GR.ctrl_especif6
FROM ESMOVIME MO with(nolock)
INNER JOIN ESRELAGL AG with(nolock)
ON AG.Movimento_NF = MO.movimento
AND AG.campo14 = '6'
INNER JOIN ESMOVIME ME with(nolock)
ON ME.movimento = AG.mov_estoque
INNER JOIN ESMOVIME MC with(nolock)
ON MC.movimento = ME.C_part_transfer
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(MC.cd_material)
AND MT.Tempo_preparaca = 1
AND MT.Tipo NOT IN ('S', 'N')
AND MT.campo85 NOT IN ('L', 'A', 'N')
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GR with(nolock)
ON GR.Cd_grupo = MT.Cd_grupo
AND GR.campo26 = 'S'
INNER JOIN ESESPECI EP with(nolock)
ON EP.Cd_especie_esto = MO.Cd_esp_estoque
AND EP.Tipo = 'N'
INNER JOIN ESCARMAZ CA with(nolock)
ON CA.Cd_centro_armaz = RTRIM(MC.Cd_centro_armaz)
AND CA.Campo24 = 'S'
WHERE MO.Tipo_movimento = 'E'
AND NOT EXISTS (SELECT 1
FROM PCAUXBEN AUX with(nolock)
WHERE AUX.mov_relacionado = MO.movimento)
AND NOT EXISTS
(SELECT 1
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DO with(nolock)
ON IT.Id_documento = DO.Id_documento
AND DO.Documento_num = MO.Nf
WHERE IT.Seq_item = MO.seq_nota
AND IT.cd_material = MT.Cd_material
AND IT.Especif3 = ' '
AND IT.Lote = ' '
AND IT.Dt_validade is null
AND IT.Numeracao = ' '
AND IT.Campo30 = ' '
AND DO.Serie = coalesce(RTRIM(MO.serie), ' ')
AND DO.cd_empresa = coalesce(RTRIM(MO.cd_empresa), ' ')
AND DO.un_negocio = coalesce(RTRIM(MO.uni_neg), ' '))
AND (dbo.CGFC_BUSCA_CONFIG_TO('178', RTRIM(MO.Cd_tp_operacao)) = 1)
UNION
SELECT BN.Nota_fiscal nf,
BN.serie,
BN.Unidade_Negocio uni_neg,
BN.fornecedor,
0 Id_documento,
0 Id_item_doc,
MO.Seq_nota,
RTRIM(MO.Cd_material) Cd_Material,
MO.Cd_especif1 especif1Movimento,
MO.Especif2 especif2Movimento,
' ' especif3Movimento,
' ' Lote,
null DataValidadeLote,
' ' SeqGrade,
' ' Numeracao,
MO.Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
' ' CodigoControle,
' ' CodigoUsuario,
RTRIM(MO.Cd_centro_armaz) CodigoCentroArmaz,
null DataModificacao,
' ' HoraModificacao,
MO.Movimento IdMovimentoOriginal,
ES.Imagem,
' ' CodigoEnderecoExclusivo,
'P' Situacao,
0 nf_transferencia,
'I' itemgrade,
MO.dt_movimento,
MO.cd_esp_estoque,
MO.pr_unitario,
MO.descricao descMovimento,
MO.cd_tp_operacao,
MO.cfop,
MO.cd_conta_gerenc,
MO.uni_med,
MO.cd_indice,
MO.cd_contabil,
MO.grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GR.ctrl_especif1,
GR.ctrl_especif2,
GR.ctrl_especif3,
EP.tipo,
MO.documento,
MO.movimento,
GR.Nome_especif1,
GR.Nome_especif2,
GR.Nome_especif3,
GR.Nome_especif4,
GR.Nome_especif5,
GR.Nome_especif6,
GR.ctrl_especif4,
GR.ctrl_especif5,
GR.ctrl_especif6
FROM PCAUXBEN BN with(nolock)
INNER JOIN ESMOVIME MO with(nolock)
ON MO.Movimento = BN.Mov_estoque
AND MO.Tipo_movimento = 'E'
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(MO.cd_material)
AND MT.Tempo_preparaca = 1
AND MT.Tipo NOT IN ('S', 'N')
AND MT.campo85 NOT IN ('L', 'A', 'N')
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GR with(nolock)
ON GR.Cd_grupo = MT.Cd_grupo
AND GR.campo26 = 'S'
INNER JOIN ESESPECI EP with(nolock)
ON EP.Cd_especie_esto = MO.Cd_esp_estoque
AND EP.tipo <> 'N'
INNER JOIN ESCARMAZ CA with(nolock)
ON CA.Cd_centro_armaz = RTRIM(MO.Cd_centro_armaz)
AND CA.Campo24 = 'S'
WHERE BN.Tipo = '03'
AND NOT EXISTS
(SELECT 1
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DO with(nolock)
ON IT.Id_documento = DO.Id_documento
AND DO.Documento_num = BN.nota_fiscal
WHERE IT.campo42 = MO.movimento
AND IT.cd_material = MT.Cd_material
AND IT.Especif3 = ' '
AND IT.Lote = ' '
AND IT.Dt_validade is null
AND IT.Numeracao = ' '
AND IT.Campo30 = ' '
AND DO.Serie = coalesce(RTRIM(BN.serie), ' ')
AND DO.cd_empresa = coalesce(RTRIM(BN.fornecedor), ' ')
AND DO.un_negocio = coalesce(RTRIM(BN.unidade_negocio), ' '))
UNION
SELECT BN.Nota_fiscal nf,
BN.serie,
BN.Unidade_Negocio uni_neg,
BN.fornecedor,
0 Id_documento,
0 Id_item_doc,
MC.Seq_nota,
RTRIM(MC.Cd_material) Cd_Material,
MC.Cd_especif1 especif1Movimento,
MC.Especif2 especif2Movimento,
' ' especif3Movimento,
' ' Lote,
null DataValidadeLote,
' ' SeqGrade,
' ' Numeracao,
MC.Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
' ' CodigoControle,
' ' CodigoUsuario,
RTRIM(MC.Cd_centro_armaz) CodigoCentroArmaz,
null DataModificacao,
' ' HoraModificacao,
MC.Movimento IdMovimentoOriginal,
ES.Imagem,
' ' CodigoEnderecoExclusivo,
'P' Situacao,
0 nf_transferencia,
'I' itemgrade,
MC.dt_movimento,
MC.cd_esp_estoque,
MC.pr_unitario,
MC.descricao descMovimento,
MC.cd_tp_operacao,
MC.cfop,
MC.cd_conta_gerenc,
MC.uni_med,
MC.cd_indice,
MC.cd_contabil,
MC.grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GR.ctrl_especif1,
GR.ctrl_especif2,
GR.ctrl_especif3,
EP.tipo,
MC.documento,
MC.movimento,
GR.Nome_especif1,
GR.Nome_especif2,
GR.Nome_especif3,
GR.Nome_especif4,
GR.Nome_especif5,
GR.Nome_especif6,
GR.ctrl_especif4,
GR.ctrl_especif5,
GR.ctrl_especif6
FROM PCAUXBEN BN with(nolock)
INNER JOIN ESMOVIME MO with(nolock)
ON MO.Movimento = BN.Mov_estoque
INNER JOIN ESMOVIME MC with(nolock)
ON MC.movimento = MO.C_part_transfer
AND MC.Tipo_movimento = 'E'
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(MC.cd_material)
AND MT.Tempo_preparaca = 1
AND MT.Tipo NOT IN ('S', 'N')
AND MT.campo85 NOT IN ('L', 'A', 'N')
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GR with(nolock)
ON GR.Cd_grupo = MT.Cd_grupo
AND GR.campo26 = 'S'
INNER JOIN ESESPECI EP with(nolock)
ON EP.Cd_especie_esto = MC.Cd_esp_estoque
AND EP.Tipo <> 'N'
INNER JOIN ESCARMAZ CA with(nolock)
ON CA.Cd_centro_armaz = RTRIM(MC.Cd_centro_armaz)
AND CA.Campo24 = 'S'
WHERE BN.Tipo = '02'
AND NOT EXISTS
(SELECT 1
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DO with(nolock)
ON IT.Id_documento = DO.Id_documento
AND DO.Documento_num = BN.Nota_fiscal
WHERE IT.campo42 = MC.movimento
AND IT.cd_material = MT.Cd_material
AND IT.Especif3 = ' '
AND IT.Lote = ' '
AND IT.Dt_validade is null
AND IT.Numeracao = ' '
AND IT.Campo30 = ' '
AND DO.Serie = coalesce(RTRIM(BN.serie), ' ')
AND DO.cd_empresa = coalesce(RTRIM(BN.fornecedor), ' ')
AND DO.un_negocio = coalesce(RTRIM(BN.unidade_negocio), ' '))
UNION
SELECT MO.Nf,
MO.serie,
MO.uni_neg,
MO.cd_empresa fornecedor,
0 Id_documento,
0 Id_item_doc,
MO.Seq_nota,
RTRIM(MO.Cd_material) Cd_Material,
MO.Cd_especif1 especif1Movimento,
MO.Especif2 especif2Movimento,
RTRIM(GR.Especif3) especif3Movimento,
RTRIM(GR.Lote) Lote,
GR.Validade_lote DataValidadeLote,
GR.Seq_Grade SeqGrade,
RTRIM(GR.Numeracao) Numeracao,
GR.Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
' ' CodigoControle,
' ' CodigoUsuario,
RTRIM(MO.Cd_centro_armaz) CodigoCentroArmaz,
null DataModificacao,
' ' HoraModificacao,
0 IdMovimentoOriginal,
ES.Imagem,
' ' CodigoEnderecoExclusivo,
'P' Situacao,
0 nf_transferencia,
'G' itemgrade,
MO.dt_movimento,
MO.cd_esp_estoque,
MO.pr_unitario,
MO.descricao descMovimento,
MO.cd_tp_operacao,
MO.cfop,
MO.cd_conta_gerenc,
MO.uni_med,
MO.cd_indice,
MO.cd_contabil,
MO.grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GU.ctrl_especif1,
GU.ctrl_especif2,
GU.ctrl_especif3,
EP.tipo,
MO.documento,
MO.movimento,
GU.Nome_especif1,
GU.Nome_especif2,
GU.Nome_especif3,
GU.Nome_especif4,
GU.Nome_especif5,
GU.Nome_especif6,
GU.ctrl_especif4,
GU.ctrl_especif5,
GU.ctrl_especif6
FROM ESGMOVIM GR with(nolock)
INNER JOIN ESMOVIME MO with(nolock)
ON MO.movimento = GR.movimento
AND MO.Tipo_movimento = 'E'
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(MO.cd_material)
AND MT.Tempo_preparaca = 1
AND MT.Tipo NOT IN ('S', 'N')
AND MT.campo85 IN ('L', 'A', 'N')
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GU with(nolock)
ON GU.Cd_grupo = MT.Cd_grupo
AND GU.campo26 = 'S'
INNER JOIN ESESPECI EP with(nolock)
ON EP.Cd_especie_esto = MO.Cd_esp_estoque
AND EP.tipo <> 'N'
INNER JOIN ESCARMAZ CA with(nolock)
ON CA.Cd_centro_armaz = RTRIM(MO.Cd_centro_armaz)
AND CA.Campo24 = 'S'
WHERE NOT EXISTS (SELECT 1
FROM PCAUXBEN AUX with(nolock)
WHERE AUX.mov_relacionado = MO.movimento)
AND NOT EXISTS
(SELECT 1
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DO with(nolock)
ON IT.Id_documento = DO.Id_documento
AND DO.Documento_num = MO.Nf
WHERE IT.Seq_item = MO.seq_nota
AND IT.cd_material = MT.Cd_material
AND IT.Especif3 = coalesce(RTRIM(GR.Especif3), ' ')
AND IT.Lote = coalesce(RTRIM(GR.Lote), ' ')
AND (IT.Dt_validade is null OR
(IT.Dt_validade IS NOT NULL AND
IT.Dt_validade = GR.Validade_Lote))
AND IT.Numeracao = coalesce(RTRIM(GR.Numeracao), ' ')
AND IT.Campo30 = RTRIM(GR.Seq_Grade)
AND DO.Serie = coalesce(RTRIM(MO.serie), ' ')
AND DO.cd_empresa = coalesce(RTRIM(MO.cd_empresa), ' ')
AND DO.un_negocio = coalesce(RTRIM(MO.uni_neg), ' '))
UNION
SELECT MO.Nf,
MO.serie,
MO.uni_neg,
MO.cd_empresa fornecedor,
0 Id_documento,
0 Id_item_doc,
MO.Seq_nota,
RTRIM(MO.Cd_material) Cd_Material,
MO.Cd_especif1 especif1Movimento,
MO.Especif2 especif2Movimento,
RTRIM(GR.Especif3) especif3Movimento,
RTRIM(GR.Lote) Lote,
GR.Validade_lote DataValidadeLote,
GR.Seq_Grade SeqGrade,
RTRIM(GR.Numeracao) Numeracao,
GR.Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
' ' CodigoControle,
' ' CodigoUsuario,
RTRIM(MO.Cd_centro_armaz) CodigoCentroArmaz,
null DataModificacao,
' ' HoraModificacao,
0 IdMovimentoOriginal,
ES.Imagem,
' ' CodigoEnderecoExclusivo,
'P' Situacao,
1 nf_transferencia,
'G' itemgrade,
MO.dt_movimento,
MO.cd_esp_estoque,
MO.pr_unitario,
MO.descricao descMovimento,
MO.cd_tp_operacao,
MO.cfop,
MO.cd_conta_gerenc,
MO.uni_med,
MO.cd_indice,
MO.cd_contabil,
MO.grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GU.ctrl_especif1,
GU.ctrl_especif2,
GU.ctrl_especif3,
EP.tipo,
MO.documento,
MO.movimento,
GU.Nome_especif1,
GU.Nome_especif2,
GU.Nome_especif3,
GU.Nome_especif4,
GU.Nome_especif5,
GU.Nome_especif6,
GU.ctrl_especif4,
GU.ctrl_especif5,
GU.ctrl_especif6
FROM ESGMOVIM GR with(nolock)
INNER JOIN ESMOVIME MO with(nolock)
ON MO.movimento = GR.movimento
AND MO.Tipo_movimento = 'E'
INNER JOIN ESRELAGL AG with(nolock)
ON AG.Movimento_NF = MO.movimento
AND AG.campo14 = '6'
INNER JOIN ESMOVIME ME with(nolock)
ON ME.movimento = AG.mov_estoque
INNER JOIN ESMOVIME MC with(nolock)
ON MC.movimento = ME.C_part_transfer
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(MC.cd_material)
AND MT.Tempo_preparaca = 1
AND MT.Tipo NOT IN ('S', 'N')
AND MT.campo85 IN ('L', 'A', 'N')
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GU with(nolock)
ON GU.Cd_grupo = MT.Cd_grupo
AND GU.campo26 = 'S'
INNER JOIN ESESPECI EP with(nolock)
ON EP.Cd_especie_esto = MO.Cd_esp_estoque
AND EP.tipo = 'N'
INNER JOIN ESCARMAZ CA with(nolock)
ON CA.Cd_centro_armaz = RTRIM(MO.Cd_centro_armaz)
AND CA.Campo24 = 'S'
WHERE NOT EXISTS (SELECT 1
FROM PCAUXBEN AUX with(nolock)
WHERE AUX.mov_relacionado = MO.movimento)
AND NOT EXISTS
(SELECT 1
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DO with(nolock)
ON IT.Id_documento = DO.Id_documento
AND DO.Documento_num = MO.Nf
WHERE IT.Seq_item = MO.seq_nota
AND IT.cd_material = MT.Cd_material
AND IT.Especif3 = coalesce(RTRIM(GR.Especif3), ' ')
AND IT.Lote = coalesce(RTRIM(GR.Lote), ' ')
AND (IT.Dt_validade is null OR
(IT.Dt_validade IS NOT NULL AND
IT.Dt_validade = GR.Validade_Lote))
AND IT.Numeracao = coalesce(RTRIM(GR.Numeracao), ' ')
AND IT.Campo30 = RTRIM(GR.Seq_Grade)
AND DO.Serie = coalesce(RTRIM(MO.serie), ' ')
AND DO.cd_empresa = coalesce(RTRIM(MO.cd_empresa), ' ')
AND DO.un_negocio = coalesce(RTRIM(MO.uni_neg), ' '))
AND (dbo.CGFC_BUSCA_CONFIG_TO('178', RTRIM(MO.Cd_tp_operacao)) = 1)
UNION
SELECT BN.Nota_fiscal nf,
BN.serie,
BN.Unidade_Negocio uni_neg,
BN.fornecedor,
0 Id_documento,
0 Id_item_doc,
MO.Seq_nota,
RTRIM(MO.Cd_material) Cd_Material,
MO.Cd_especif1 especif1Movimento,
MO.Especif2 especif2Movimento,
RTRIM(GR.Especif3) especif3Movimento,
RTRIM(GR.Lote) Lote,
GR.Validade_lote DataValidadeLote,
GR.Seq_Grade SeqGrade,
RTRIM(GR.Numeracao) Numeracao,
GR.Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
' ' CodigoControle,
' ' CodigoUsuario,
RTRIM(MO.Cd_centro_armaz) CodigoCentroArmaz,
null DataModificacao,
' ' HoraModificacao,
0 IdMovimentoOriginal,
ES.Imagem,
' ' CodigoEnderecoExclusivo,
'P' Situacao,
0 nf_transferencia,
'G' itemgrade,
MO.dt_movimento,
MO.cd_esp_estoque,
MO.pr_unitario,
MO.descricao descMovimento,
MO.cd_tp_operacao,
MO.cfop,
MO.cd_conta_gerenc,
MO.uni_med,
MO.cd_indice,
MO.cd_contabil,
MO.grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GU.ctrl_especif1,
GU.ctrl_especif2,
GU.ctrl_especif3,
EP.tipo,
MO.documento,
MO.movimento,
GU.Nome_especif1,
GU.Nome_especif2,
GU.Nome_especif3,
GU.Nome_especif4,
GU.Nome_especif5,
GU.Nome_especif6,
GU.ctrl_especif4,
GU.ctrl_especif5,
GU.ctrl_especif6
FROM PCAUXBEN BN with(nolock)
INNER JOIN ESGMOVIM GR with(nolock)
ON GR.Movimento = BN.Mov_estoque
INNER JOIN ESMOVIME MO with(nolock)
ON MO.movimento = GR.movimento
AND MO.Tipo_movimento = 'E'
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(MO.cd_material)
AND MT.Tempo_preparaca = 1
AND MT.Tipo NOT IN ('S', 'N')
AND MT.campo85 IN ('L', 'A', 'N')
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GU with(nolock)
ON GU.Cd_grupo = MT.Cd_grupo
AND GU.campo26 = 'S'
INNER JOIN ESESPECI EP with(nolock)
ON EP.Cd_especie_esto = MO.Cd_esp_estoque
AND EP.tipo <> 'N'
INNER JOIN ESCARMAZ CA with(nolock)
ON CA.Cd_centro_armaz = RTRIM(MO.Cd_centro_armaz)
AND CA.Campo24 = 'S'
WHERE BN.Tipo = '03'
AND NOT EXISTS
(SELECT 1
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DO with(nolock)
ON IT.Id_documento = DO.Id_documento
AND DO.Documento_num = BN.Nota_fiscal
WHERE IT.campo42 = MO.movimento
AND IT.cd_material = MT.Cd_material
AND IT.Especif3 = coalesce(RTRIM(GR.Especif3), ' ')
AND IT.Lote = coalesce(RTRIM(GR.Lote), ' ')
AND (IT.Dt_validade is null OR
(IT.Dt_validade IS NOT NULL AND
IT.Dt_validade = GR.Validade_Lote))
AND IT.Numeracao = coalesce(RTRIM(GR.Numeracao), ' ')
AND IT.Campo30 = RTRIM(GR.Seq_Grade)
AND DO.Serie = coalesce(RTRIM(BN.serie), ' ')
AND DO.cd_empresa = coalesce(RTRIM(BN.fornecedor), ' ')
AND DO.un_negocio = coalesce(RTRIM(BN.unidade_negocio), ' '))
UNION
SELECT BN.Nota_fiscal nf,
BN.serie,
BN.Unidade_Negocio uni_neg,
BN.fornecedor,
0 Id_documento,
0 Id_item_doc,
MC.Seq_nota,
RTRIM(MC.Cd_material) Cd_Material,
MC.Cd_especif1 especif1Movimento,
MC.Especif2 especif2Movimento,
RTRIM(GR.Especif3) especif3Movimento,
RTRIM(GR.Lote) Lote,
GR.Validade_lote DataValidadeLote,
GR.Seq_Grade SeqGrade,
RTRIM(GR.Numeracao) Numeracao,
GR.Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
' ' CodigoControle,
' ' CodigoUsuario,
RTRIM(MC.Cd_centro_armaz) CodigoCentroArmaz,
null DataModificacao,
' ' HoraModificacao,
0 IdMovimentoOriginal,
ES.Imagem,
' ' CodigoEnderecoExclusivo,
'P' Situacao,
0 nf_transferencia,
'G' itemgrade,
MC.dt_movimento,
MC.cd_esp_estoque,
MC.pr_unitario,
MC.descricao descMovimento,
MC.cd_tp_operacao,
MC.cfop,
MC.cd_conta_gerenc,
MC.uni_med,
MC.cd_indice,
MC.cd_contabil,
MC.grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GU.ctrl_especif1,
GU.ctrl_especif2,
GU.ctrl_especif3,
EP.tipo,
MC.documento,
MC.movimento,
GU.Nome_especif1,
GU.Nome_especif2,
GU.Nome_especif3,
GU.Nome_especif4,
GU.Nome_especif5,
GU.Nome_especif6,
GU.ctrl_especif4,
GU.ctrl_especif5,
GU.ctrl_especif6
FROM PCAUXBEN BN with(nolock)
INNER JOIN ESMOVIME MO with(nolock)
ON MO.movimento = BN.Mov_estoque
INNER JOIN ESMOVIME MC with(nolock)
ON MC.movimento = MO.C_part_transfer
AND MC.Tipo_movimento = 'E'
INNER JOIN ESGMOVIM GR with(nolock)
ON GR.Movimento = MC.movimento
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(MC.cd_material)
AND MT.Tempo_preparaca = 1
AND MT.Tipo NOT IN ('S', 'N')
AND MT.campo85 IN ('L', 'A', 'N')
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GU with(nolock)
ON GU.Cd_grupo = MT.Cd_grupo
AND GU.campo26 = 'S'
INNER JOIN ESESPECI EP with(nolock)
ON EP.Cd_especie_esto = MC.Cd_esp_estoque
AND EP.tipo <> 'N'
INNER JOIN ESCARMAZ CA with(nolock)
ON CA.Cd_centro_armaz = RTRIM(MC.Cd_centro_armaz)
AND CA.Campo24 = 'S'
WHERE BN.Tipo = '02'
AND BN.mov_relacionado = 0
AND NOT EXISTS
(SELECT 1
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DO with(nolock)
ON IT.Id_documento = DO.Id_documento
AND DO.Documento_num = BN.Nota_fiscal
WHERE IT.campo42 = MC.movimento
AND IT.cd_material = MT.Cd_material
AND IT.Especif3 = coalesce(RTRIM(GR.Especif3), ' ')
AND IT.Lote = coalesce(RTRIM(GR.Lote), ' ')
AND (IT.Dt_validade is null OR
(IT.Dt_validade IS NOT NULL AND
IT.Dt_validade = GR.Validade_Lote))
AND IT.Numeracao = coalesce(RTRIM(GR.Numeracao), ' ')
AND IT.Campo30 = RTRIM(GR.Seq_Grade)
AND DO.Serie = coalesce(RTRIM(BN.serie), ' ')
AND DO.cd_empresa = coalesce(RTRIM(BN.fornecedor), ' ')
AND DO.un_negocio = coalesce(RTRIM(BN.unidade_negocio), ' '))
UNION
SELECT DC.Documento_num nf,
DC.serie,
DC.un_negocio uni_neg,
DC.cd_empresa fornecedor,
DC.Id_documento,
IT.Id_item_doc,
IT.Seq_item,
IT.Cd_material Cd_Material,
IT.Especif1 especif1Movimento,
IT.Especif2 especif2Movimento,
IT.Especif3 especif3Movimento,
IT.Lote,
IT.Dt_validade DataValidadeLote,
IT.Campo30 SeqGrade,
IT.Numeracao Numeracao,
IT.Qtd_original Quantidade,
MT.campo85 UtilizaGrade,
MT.campo95 ControlaNumeroSerie,
IT.Cd_controle CodigoControle,
IT.Cd_Usuario CodigoUsuario,
IT.Cto_armazenagem CodigoCentroArmaz,
IT.Dt_modificacao DataModificacao,
IT.Hr_modificacao HoraModificacao,
0 IdMovimentoOriginal,
ES.Imagem,
EN.Cd_Endereco CodigoEnderecoExclusivo,
IT.Situacao,
0 nf_transferencia,
CASE
WHEN MT.campo85 = ' ' THEN
'I'
ELSE
'G'
END itemgrade,
NULL dt_movimento,
' ' cd_esp_estoque,
0,
' ' descMovimento,
' ' cd_tp_operacao,
' ' cfop,
' ' cd_conta_gerenc,
' ' uni_med,
' ' cd_indice,
' ' cd_contabil,
' ' grade,
MT.cd_grupo,
MT.cd_sub_grupo,
MT.descricao descMaterial,
MT.cd_especif1 especif1Material,
MT.cd_especif2 especif2Material,
MT.cd_especif3 especif3Material,
MT.cd_especif4 especif4Material,
MT.cd_especif5 especif5Material,
MT.cd_especif6 especif6Material,
ES.codigo_ean,
GU.ctrl_especif1,
GU.ctrl_especif2,
GU.ctrl_especif3,
' ' tipo,
' ' documento,
IT.campo42 movimento,
GU.Nome_especif1,
GU.Nome_especif2,
GU.Nome_especif3,
GU.Nome_especif4,
GU.Nome_especif5,
GU.Nome_especif6,
GU.ctrl_especif4,
GU.ctrl_especif5,
GU.ctrl_especif6
FROM MEITEDOC IT with(nolock)
INNER JOIN MEDOCUME DC with(nolock)
ON IT.Id_documento = DC.Id_documento
LEFT JOIN MEENDERE EN with(nolock)
ON EN.id_endereco = IT.campo38
INNER JOIN ESMATERI MT with(nolock)
ON MT.Cd_Material = RTRIM(IT.cd_material)
INNER JOIN ESCOMPLM ES with(nolock)
ON ES.Cd_material = MT.Cd_material
INNER JOIN ESGRUPO GU with(nolock)
ON GU.Cd_grupo = MT.Cd_grupo
AND GU.campo26 = 'S') RES
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment