× Linguagem de Programação ADVPL

Perguntas Criando stored procedure no ADVPL.

Mais
10 anos 11 meses atrás #19338 por marciosk
Olá pessoal. Estou tentando criar uma Stored Procedure de dentro do meu código ADVPL, porém, sem sucesso. Alguém pode me dar uma ajuda? Segue abaixo o codigo em que eu tento criar. Acho que é a Stored Procedure que está errada.

cQuery := "Create Procedure ENTRADA_DE_MERCADORIAS_NOVAS "
cQuery := cQuery + "(@DATA_INICIAL datetime, "
cQuery := cQuery + "@DATA_FINAL datetime, "
cQuery := cQuery + "@B1_TABELA char(6), "
cQuery := cQuery + "@D1_TABELA char(6))"
cQuery := cQuery + " AS "
cQuery := cQuery + "IF EXISTS(SELECT 1 FROM sysobjects WHERE xtype = 'U' AND name = '_TMP_ENT_NOVAS') "
cQuery := cQuery + "DROP TABLE _TMP_ENT_NOVAS "
cQuery := cQuery + "Select distinct D1_COD,SUM(D1_QUANT)D1_QUANT "
cQuery := cQuery + "INTO _TMP_ENT_NOVAS "
cQuery := cQuery + "Select distinct B1_COD, B1_DESC, B1_TIPO, B1_POSIPI, (SELECT SUM(D1_QUANT)D1_QUANT FROM @D1_TABELA WHERE D1_CF='3102' AND B1_COD=D1_COD)D1_QUANT "
cQuery := cQuery + " INTO _TMP_ENT_NOVAS "
cQuery := cQuery + "From @B1_TABELA, @D1_TABELA "
cQuery := cQuery + "WHERE "
cQuery := cQuery + "B1_COD = D1_COD "
cQuery := cQuery + "AND B1_COD NOT IN(select distinct D1_COD FROM @D1_TABELA WHERE D1_EMISSAO<DATEADD(DAY,-1,@DATA_INICIAL)AND D1_CF ='3102') "
cQuery := cQuery + "AND D1_EMISSAO BETWEEN @DATA_INICIAL and @DATA_FINAL "
cQuery := cQuery + "AND B1_TIPO = 'ME' "
cQuery := cQuery + "AND D1_FILIAL = '01' "
cQuery := cQuery + "GROUP BY B1_COD, B1_DESC, B1_TIPO, B1_POSIPI, D1_QUANT "
cQuery := cQuery + "SELECT B1_COD, B1_DESC, B1_TIPO, B1_POSIPI,D1_QUANT FROM ENTRADA_DE_MERCADORIAS_NOVAS "
if(TcSqlExec(cQuery)<0 )
MsgAlert("Fail")
else
MsgAlert("OK")
endif

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19340 por kanaamlrr
Respondido por kanaamlrr no tópico Criando stored procedure no ADVPL.
Marcio, faça o seguinte:
Crie a Proc no SQL e depois faça a adaptação para advpl.
Dessa forma fica mais simples.
Abraço!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19401 por henry.charriere
Marcio, Boa Tarde!

Não sei qual o objetivo da sua procedure, como não vi nenhum update/delete na sua procedure, sugiro que vc faça uma view nessa caso.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.077 segundos
Joomla templates by a4joomla