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.
O Dataset é formado de diversos componentes utilizados para acesso a informações:
Criaremos um exemplo de um Dataset simples que solicita alguns parâmetros baseado em um Grupo de Perguntas do SX1 e grava na WorkTable os valores digitados nestes parâmetros.
#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." + CRLF + ; "Este Dataset solicita um conjunto de parâmetros do SX1 e grava na WorkTable os parâmetros digitados." 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 cField1 := self:execParamValue( "MV_PAR01" ) Private cField2 := self:execParamValue( "MV_PAR02" ) Private cField3 := self:execParamValue( "MV_PAR03" ) Private cField4 := self:execParamValue( "MV_PAR04" ) Private cField5 := self:execParamValue( "MV_PAR05" ) cWTabAlias := self:createWorkTable() RecLock( cWTabAlias, .T. ) ( cWTabAlias )->CAMPO1 := cField1 ( cWTabAlias )->CAMPO2 := cField2 ( cWTabAlias )->CAMPO3 := cField3 ( cWTabAlias )->CAMPO4 := cField4 ( cWTabAlias )->CAMPO5 := cField5 ( cWTabAlias )->( MsUnlock() ) ( cWTabAlias )->( DbCloseArea() ) Return .T. |