BeginSQL … EndSQL

Exemplo de utilização de query SQL com Embedded SQL.

Exemplo da Rotina:

BeginSql Alias "SEU_ALIAS"
	//Comandos para a consulta SQL
EndSql

Exemplo 1- Criando consulta para a SB1 e percorrendo:

//Bibliotecas
#Include "Protheus.ch"

/*/{Protheus.doc} zTeste
Função de Teste
@type function
@author Terminal de Informação
@since 13/11/2016
@version 1.0
    @example
    u_zTeste()
/*/

User Function zTeste()
	Local aArea  := GetArea()
	Local cWhere := "%B1_TIPO = 'PI' AND B1_LOCPAD = '01'%"
	Local nRegs  := 0

	//Construindo a consulta
	BeginSql Alias "SQL_SB1"
		//COLUMN CAMPO AS DATE //Deve se usar isso para transformar o campo em data

		SELECT
			B1_COD,
			B1_DESC
		FROM
			%table:SB1% SB1
		WHERE
			B1_FILIAL  = %xFilial:SB1%
			AND B1_MSBLQL != '1'
			AND %Exp:cWhere%
			AND SB1.%notDel%
	EndSql

	//Enquanto houver registros
	While ! SQL_SB1->(EoF())
		nRegs++

		SQL_SB1->(DbSkip())
	EndDo
	SQL_SB1->(DbCloseArea())

	MsgInfo("Foram processados "+cValToChar(nRegs)+" produtos.", "Atenção")

	RestArea(aArea)
Return

Exemplo em Vídeo:

Clique nesse link para ver um exemplo em Vídeo da nossa Maratona de Exemplos.

Observações:

– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;

Referências:

TDN