1. O DataSet compreende a entidade responsável pelo processamento das informações. É a inteligência do Report sendo a entidade produtora de resultados capazes de serem processados pelos componentes do Layout para a posterior exibição.

Datasets são criados quando é necessário um processamento prévio das informações que serão populadas em uma WorkTable contendo os resultados para posterior pesquisa que será realizada pelo Layout em conjunto com o TOTVS | WebViewer.

O desenvolvimento de um Dataset é feito em ADVPL utilizando a metalinguagem para Datasets BIRT. Após o Dataset ser compilado em um repositório de objetos, estará disponível para ser adicionado a um Layout através do TOTVS | Developer Studio.

Estrutura de um Dataset

O Dataset é formado de diversos componentes utilizados para acesso a informações:

 

Criação de um Dataset

 

Exemplo de um Dataset

 

#Include 'Protheus.ch'
#Include 'birtdataset.ch'
 
DATASET TESTE01 TITLE "Teste de Dataset Protheus."
DESCRIPTION "Este é um teste de um Dataset Protheus utilizando perguntas do SX1 que serve como exemplo para o desenvolvedor."
PERGUNTE "TESTE01"
 
COLUMNS    
	define column CAMPO1 TYPE CHARACTER SIZE 10 LABEL "Campo 1"    
	define column CAMPO2 TYPE NUMERIC SIZE 6 DECIMALS 2 LABEL "Campo 2"    
	define column CAMPO3 TYPE DATE SIZE 8 LABEL "Campo 3"    
	define column CAMPO4 TYPE LOGICAL SIZE 1 LABEL "Campo 4"

	define column CAMPO5 TYPE MEMO SIZE 1 LABEL "Campo 5"
 
DEFINE QUERY "SELECT * FROM %WTable:1%"
 
PROCESS DATASET 
 
Local cWTabAlias
 
Private cFieldG := self:execParamValue( "MV_PAR01" )
Private cFieldC := self:execParamValue( "MV_PAR02" )
Private cFieldNG:= self:execParamValue( "MV_PAR03" )
Private cFieldNC:= self:execParamValue( "MV_PAR04" ) 
 
cWTabAlias := self:createWorkTable()
 
RecLock( cWTabAlias, .T. ) 

 
( cWTabAlias )->FIELDG := cFieldG
( cWTabAlias )->FIELDC := cFieldC
( cWTabAlias )->FIELDNG := cFieldNG
( cWTabAlias )->FIELDNC := cFieldNC 

 
( cWTabAlias )->( MsUnlock() ) 
 
Return .T.