- Fórum
- Protheus/Microsiga/Totvs
- Instalação e Configuração Protheus
- Banco de Dados
- Update tabela DT6 do TMS
Perguntas Update tabela DT6 do TMS
- zupirolli
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 92
- Obrigados Recebidos: 0
12 anos 3 meses atrás #3923
por zupirolli
Update tabela DT6 do TMS foi criado por zupirolli
Olá, estou tentando fazer um update na tabela DT6 de alguns registros que ficaram sem a chaveCTE , mas não esta dando certo, da um mensagem , cf abaixo :
UPDATE DT6010
SET DT6_CHVCTE = (SELECT F3_CHVNFE FROM SF3010 WHERE DT6_FILDOC = F3_FILIAL AND
DT6_DOC = F3_NFISCAL AND DT6_SERIE = F3_SERIE AND F3_VALCONT = DT6_VALFRE)
WHERE DT6_CHVCTE = ' ' AND DT6_DATEMI > '20120101' ;
Menssagem :
ORA-04707: não é possível atualizar ("SIGAOFICIAL"."DT6010"."DT6_CHVCTE") para NULL
UPDATE DT6010
SET DT6_CHVCTE = (SELECT F3_CHVNFE FROM SF3010 WHERE DT6_FILDOC = F3_FILIAL AND
DT6_DOC = F3_NFISCAL AND DT6_SERIE = F3_SERIE AND F3_VALCONT = DT6_VALFRE)
WHERE DT6_CHVCTE = ' ' AND DT6_DATEMI > '20120101' ;
Menssagem :
ORA-04707: não é possível atualizar ("SIGAOFICIAL"."DT6010"."DT6_CHVCTE") para NULL
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 3 meses atrás #3924
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Update tabela DT6 do TMS
Marcos boa tarde, aparentemente seu banco é oracle e eu não manjo, vou mandar uma syntax em Microsoft SQL e vc adapta ai ok.
UPDATE DT6010
SET DT6_CHVCTE = ISNULL((SELECT TOP 1 F3_CHVNFE FROM SF3010 WHERE DT6_FILDOC = F3_FILIAL AND
DT6_DOC = F3_NFISCAL AND DT6_SERIE = F3_SERIE AND F3_VALCONT = DT6_VALFRE),'')
WHERE DT6_CHVCTE = ' ' AND DT6_DATEMI > '20120101'
Bom, a função ISNULL converte o resultado NULL para no caso '' BRANCO, o comando TOP 1 traz o resultado de 1 linha da query, visto que, uma nota fiscal pode ter mais de 1 registro na tabela SF3 caso os itens possuam CFOP´s diferentes.
Espero ter ajudado.
UPDATE DT6010
SET DT6_CHVCTE = ISNULL((SELECT TOP 1 F3_CHVNFE FROM SF3010 WHERE DT6_FILDOC = F3_FILIAL AND
DT6_DOC = F3_NFISCAL AND DT6_SERIE = F3_SERIE AND F3_VALCONT = DT6_VALFRE),'')
WHERE DT6_CHVCTE = ' ' AND DT6_DATEMI > '20120101'
Bom, a função ISNULL converte o resultado NULL para no caso '' BRANCO, o comando TOP 1 traz o resultado de 1 linha da query, visto que, uma nota fiscal pode ter mais de 1 registro na tabela SF3 caso os itens possuam CFOP´s diferentes.
Espero ter ajudado.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- zupirolli
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 92
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- Instalação e Configuração Protheus
- Banco de Dados
- Update tabela DT6 do TMS
Tempo para a criação da página:0.094 segundos