Executando um Bloco de Código Baseado em Condições com DBEval em ADVPL

Tempo de leitura: 1 minuto

A função DBEval em ADVPL executa um bloco de código baseado em condições. DBEval avalia um bloco de código para cada registro que atenda um escopo definido, através dos blocos da primeira e segunda condição. Ela é uma das funções de manipulação de blocos de código em ADVPL


Sintaxe:

DBEval(bCod,bCond1,bCond2,nMax,nRecno,lExpLog)

 

Parâmetros(s):

 

Retorno:

 

Exemplo de DBEval em ADVPL:

#include 'protheus.ch'
#include 'rwmake.ch'
#INCLUDE "TBICONN.CH"
/*{Protheus.doc} User Function fDBEval
    (Essa função tem por finalidade mostrar a função DBEval em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 02/11/2024
    @version 1.0

@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/

@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG

|Se esse conteúdo foi útil pra você nos ajude divulgando 
ele e nossas redes sociais!!|
*/

User Function fDBEval()
	Local aArea := GetArea()
	Local nContSB1 := 0
	Local cMsg := "Registros PF e que utilizam grade."+Chr(10)+Chr(13)
	Local bBloco := {|| nContSB1++,cMsg+=SB1->B1_COD+"-"+SB1->B1_DESC+","}
    Local bCond1 := {|| nContSB1<= 10} //Enquanto o nConSB1 <= 10
	Local bCond2 := {|| SB1->B1_FILIAL == FWxFilial("SB1") .And. SB1->B1_GRADE="S"}

  RpcSetType(3)
	PREPARE ENVIRONMENT EMPRESA "01" FILIAL "0101" MODULO "FAT"

	DBSelectArea("SB1")
	SB1->(DBSetOrder(2)) //B1_FILIAL+B1_TIPO+B1_COD
	SB1->(DBSeek(FWxFilial("SB1")+"PF")) //Posiciona em produtos do tipo PF

	DBEval(bBloco,bCond1,bCond2)

	MsgInfo(cMsg,"Função DBEval")

	RestArea(aArea)


Return

Bem, finalizamos mais um post aqui no blog. Caso tenha alguma dúvida deixe seu comentário ou nos envie o e-mail para adiliocosta@protheusadvpl.com.br. Grande abraço e fica com Deus.

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.