DBEval

Tempo de leitura: 1 minuto

A função DBEval é uma das funções de manipulação de bloco de códigos em ADVPL. 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.


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 do ProtheusAdvpl:
https://hotmart.com/pt-br/club/cursos-protheusadvpl

|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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *