cancel
Showing results for 
Search instead for 
Did you mean: 

Soma de dias em Data do Documento

Former Member
0 Kudos

Boa tarde a todos!

Estou com o seguinte problema:

Possuo um campo definido pelo usuário no qual desejo adicionar a seguinte consulta formatada:

SELECT +10

O problema ocorre quando essa conta supera 30 / 31 dias! No SQL, funciona normalmente, e o mês é alterado.

Já no SAP B1, é retornado um erro, como se não fosse possível adicionar mais dias ao mês.

Não sei onde estou errando.

Agradeço desde já!

Lucas Dias

Accepted Solutions (0)

Answers (1)

Answers (1)

fbio_bilicki
Active Contributor
0 Kudos

Tente usar a seguinte select

 SELECT DATEADD ( DAY,10, CONVERT(DATETIME,$[$10.0.0] ,103) )  

No meu caso, fiz a TaxDate = DocDate + 10 dias, mas tive que converter para MM/DD/YYYY para funcionar.

Mais detalhes de conversão consulte os links abaixo.

http://www.htmlstaff.org/ver.php?id=455

http://www.sqlusa.com/bestpractices/datetimeconversion/

Atenciosamente,

Fabio

Edited by: Fábio Bilicki on Oct 3, 2011 5:24 PM

Former Member
0 Kudos

Fábio,

Consegui de uma forma ainda mais fácil:

SELECT $[ODLN.TaxDate.Date]+10

A parte ".date" funciona como um CONVERT() .

No caso, eu precisava adicionar em um campo definido pelo usuário, a Data do Documento de Marketing + a quantidade de dias da primeira linha da prestação, na condição de pagamento indicada na aba 'Contabilidade'. Consegui da seguinte forma:

SELECT $[ODLN.TaxDate.Date]
+
(SELECT TOP 1 CASE WHEN OCTG.InstNum = '0' THEN 0 ELSE
	CASE WHEN OCTG.InstNum IS NULL THEN 0 ELSE CTG1.InstDays END END as 'QTDDIASPREST'
  FROM OCTG
        LEFT JOIN CTG1 ON OCTG.GroupNum = CTG1.CTGCode
 WHERE OCTG.GroupNum = $[ODLN.Groupnum])

A segunda parte já estava funcionando, mas eu não estava conseguindo adicionar. Agora está ok!

Obrigado pela ajuda!

Lucas Dias