Páginas filhas
  • LGX - LCONSTRUCT

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Pagetitle
LGX - LCONSTRUCT
LGX - LCONSTRUCT
Cria e executa uma tela de pesquisa, onde são informados filtros utilizados na seleção de registros.

As tabelas e colunas que poderão ser filtradas podem ser informadas manualmente ou recuperadas através do conteúdo metadado.

Nesta tela podem ser informados filtros no formato básico (apenas com valores), avançado (utilizando valores e comandos especiais) e também permite definir a ordenação dos registros. Este componente não executa nenhum comando na base de dados, apenas monta um filtro no formato SQL para que seja utilizado em uma pesquisa.


Hierarquia



Sintaxe


Bloco de código
_ADVPL_create_component( NULL, "LCONSTRUCT" )


Métodos GET


Métodos acessíveis através da função _ADVPL_get_property que permite recuperar e manipular os valores do componente:


Expandir
titleGET INIT_CONSTRUCT

Método GET: INIT_CONSTRUCT 

Inicia a execução da tela de filtro de pesquisa e retorna se o filtro foi ou não confirmado pelo usuário.

Sintaxe



Bloco de código
_ADVPL_get_property( <cReference>, "INIT_CONSTRUCT" ) => Boolean

Retorno



TipoDescrição
BOOLEAN

Verdadeiro se o filtro foi confirmado pelo usuário, falso se foi cancelado


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
  LET l_status = _ADVPL_get_property( <cReference>, "INIT_CONSTRUCT" )



Expandir
titleGET WHERE_CLAUSE

Método GET: WHERE_CLAUSE

Retorna o filtro informado na tela de pesquisa, no formato SQL.

Sintaxe



Bloco de código
_ADVPL_get_property( < creference >, "WHERE_CLAUSE" ) => Char

Retorno



TipoDescrição
CHAR

Filtro informado na tela de pesquisa no formato SQL.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_where_clause = _ADVPL_get_property( <cReference>, "WHERE_CLAUSE" )



Expandir
titleGET WHERE_CLAUSE_TABLE_COLUMN

Método GET: WHERE_CLAUSE_TABLE_COLUMN

Retorna o filtro no formato SQL, informado para determinada coluna da tela de pesquisa.

Sintaxe



Bloco de código
_ADVPL_get_property( < creference >, "WHERE_CLAUSE_TABLE_COLUMN", <cTable>, <cColumn> ) => Char

Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela da coluna.Sim
cColumnCHARNome da coluna.Sim


Retorno



TipoDescrição
CHAR

Filtro no formato SQL informado para a coluna.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_where_clause = _ADVPL_get_property( <cReference>, "WHERE_CLAUSE_TABLE_COLUMN", <cTable>, <cColumn> )



Expandir
titleGET ORDER_BY

Método GET: ORDER_BY

Retorna a ordenação informada na tela de pesquisa, no formato SQL.

Sintaxe



Bloco de código
_ADVPL_get_property( < creference >, "ORDER_BY") => Char

Retorno



TipoDescrição
CHAR

Ordenação informada na tela de pesquisa, no formato SQL.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_order_by = _ADVPL_get_property( <cReference>, "ORDER_BY" )



Expandir
titleGET CONSTRUCT_NAME

Método GET: CONSTRUCT_NAME

Retorna o nome identificador definido para o componente.

Sintaxe



Bloco de código
_ADVPL_get_property( < creference >, "CONSTRUCT_NAME") => Char

Retorno



TipoDescrição
CHAR

Nome identificador definido para o componente.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_construct_name = _ADVPL_get_property( <cReference>, "CONSTRUCT_NAME" )



Expandir
titleGET WHERE_CLAUSE_BY_TABLE

Método GET: WHERE_CLAUSE_BY_TABLE

Retorna o filtro no formato SQL, informado para determinada tabela da tela de pesquisa.

Sintaxe



Bloco de código
_ADVPL_get_property( < creference >, "WHERE_CLAUSE_BY_TABLE", <cTable>) => Char

 Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela.Sim


Retorno



TipoDescrição
CHAR

Filtro no formato SQL, informado para a tabela.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_where_clause = _ADVPL_get_property( <cReference>, "WHERE_CLAUSE_BY_TABLE", <cTable> )



Expandir
titleGET ORDER_BY_TABLE

Método GET: ORDER_BY_TABLE

Retorna a ordenação no formato SQL, informado para determinada tabela da tela de pesquisa.

Sintaxe



Bloco de código
_ADVPL_get_property( < creference >, "ORDER_BY_TABLE", <cTable> ) => Char

Retorno



TipoDescrição
CHAR

Ordenação no formato SQL informado para a tabela.


Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela.Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_order_by = _ADVPL_get_property( <cReference>, "ORDER_BY", <cTable> )




Métodos SET


Métodos acessíveis utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.


Expandir
titleSET TEXT ADD_TABLE

Método SET:

TEXT 

ADD_TABLE

Adiciona uma tabela, cadastrada no metadado, na tela de pesquisaTexto descritivo criado à direita do componente.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_checkbox_referencecReference >,"TEXTADD_TABLE",< TextocTable >)

Parâmetros



NomeTipoDescriçãoObrigatório?
  Texto  cTable CHARTexto que descreve o componente, criado à direita do componenteNome da tabela.Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_checkbox_reference,"TEXT","Permite valor nulo?" <cReference>, "ADD_TABLE", <cTable> )




Expandir
titleSET VALUEADD_CHECKEDCOLUMN

Método SET:

VALUE

ADD_

CHECKED

COLUMN

Valor quando a caixa de seleção estiver assinalada.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_checkbox_referencecReference >,"VALUEADD_CHECKED",< valor >COLUMN",, <cTable>, <cColumn>, [cParent], [cZoom])

Parâmetros



Sim
NomeTipoDescriçãoObrigatório?valor
cTableCHARNome da tabela da coluna.Sim
cColumnCHARNome da coluna.Sim
cParentCHARNome do objeto pai da coluna (para colunas virtuais).opcional, padrão: NULL
cZoomCHARNome do zoom da coluna.opcional, padrão: NULLQUALQUERValor que a variável do componente receberá quando a caixa de seleção estiver assinalada.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_checkbox_reference,"VALUE_CHECKED","S" <cReference>, "ADD_COLUMN", <cTable>, <cColumn>, [cParent], [cZoom] )




Expandir
titleSET VALUEADD_VIRTUAL_NCHECKEDTABLE

Método SET:

VALUE

ADD_VIRTUAL_

NCHECKED

TABLE

Adiciona uma tabela na tela de pesquisa

Valor quando a caixa de seleção NÃO estiver assinalada.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_checkbox_reference >,"VALUE_NCHECKED",< valor > <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )

Parâmetros



NomeTipoDescriçãoObrigatório?
valorcTableQUALQUERCHARNome da tabelaValor que a variável do componente receberá quando a caixa de seleção NÃO estiver assinalada.Sim
(informação)  No Logix, por padrão, quando criado um componente deste tipo, a descrição em tela deve ser criado à direita do componente através do método TEXT.
cLabelCHARDescrição da tabela.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#--------------------# FUNCTION LCheckBox()#--------------------#
   CALL  DEFINE l_dialog_reference   VARCHAR(10)
     DEFINE l_checkbox_reference VARCHAR(10)

     LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
     CALL _ADVPL_set_property( <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )     




Expandir
titleSET ADD_VIRTUAL_COLUMN

Método SET: ADD_VIRTUAL_COLUMN

Adiciona uma coluna da tabela na tela de pesquisa.

Sintaxe



Bloco de código
_ADVPL_set_property( <cReference>, "ADD_VIRTUAL_COLUMN", <cTable>, <cColumn>, <cLabel>, <nType>, <nSize>, [nPrecision], [cZoom], [cPicture] )

Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela da coluna.Sim
cColumnCHARNome da coluna.
cLabelCHARDescrição da tabela.Sim
nTypeINTEGER

Tipo de dado da coluna, sendo:

1–CHAR,

2–SMALLINT,

3–INTEGER,

4–DECIMAL,

5–DATE,

6–DATETIME,

7–VARCHAR,

8–SERIAL e

9–IMAGE

Sim
nSizeINTEGERTamanho da coluna.Sim
nPrecisionINTEGERPrecisão da coluna.opcional, padrão: 0
cZoomCHARNome do zoom da coluna.opcional, padrão: NULL
cPictureCHAR
Máscara de edição da coluna
*** válido a partir do pacote Logix 12.1.15 ***
opcional, padrão: NULL


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property( <cReference>, "ADD_VIRTUAL_COLUMN", <cTable>, <cColumn>, <cLabel>, <nType>, <nSize>, [nPrecision], [cZoom], [cPicture] )




Expandir
titleSET VISIBLE_ORDER_BY

Método SET: VISIBLE_ORDER_BY

Habilita/desabilita a aba de ordenação de registros.

Sintaxe



Bloco de código
_ADVPL_set_property(l <cReference>, "VISIBLE_ORDER_BY", <nVisible>)

Parâmetros



NomeTipoDescriçãoObrigatório?
nVisibleBOOLEANVerdadeiro para habilitar a aba de ordenação, falso para desabilitar.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
    _dialog_reference,"SIZE",160,120)
     CALL _ADVPL_set_property(l_dialog_reference, <cReference>, "VISIBLE_ORDER_BY", <nVisible> )   




Expandir
titleSET ADD_VIRTUAL_TABLE

Método SET:

Adiciona uma tabela na tela de pesquisa.

Sintaxe



Bloco de código
_ADVPL_set_property( <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )

Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela.Sim
cLabelCHARDescrição da tabela.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
"TITLE","Ex.: LCHECKBOX")
     CALL _ADVPL_set_property(l_dialog_reference,"BACKGROUND_ <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )     




Expandir
titleSET ADD_VIRTUAL_TABLE

Método SET:

Adiciona uma tabela na tela de pesquisa.

Sintaxe



Bloco de código
_ADVPL_set_property( <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )

Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela.Sim
cLabelCHARDescrição da tabela.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
COLOR",210,210,210)

     LET l_checkbox_reference = _ADVPL_create_component(NULL,"LCHECKBOX",l_dialog_reference)

     CALL _ADVPL_set_property( <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )     




Expandir
titleSET ADD_VIRTUAL_TABLE

Método SET:

Adiciona uma tabela na tela de pesquisa.

Sintaxe



Bloco de código
l_checkbox_reference,"POSITION",05,05)
     CALL _ADVPL_set_property(l_checkbox_ <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )

Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela.Sim
cLabelCHARDescrição da tabela.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
reference,"VALUE_CHECKED","S")
     CALL _ADVPL_set_property( <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )     




Expandir
titleSET ADD_VIRTUAL_TABLE

Método SET:

Adiciona uma tabela na tela de pesquisa.

Sintaxe



Bloco de código
_l_checkbox_reference,"VALUE_NCHECKED","N")
     CALL _ADVPL_set_property(l_checkbox_reference," <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )

Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela.Sim
cLabelCHARDescrição da tabela.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
TEXT","Permite valor nulo?")
     CALL _ADVPL_set_property( <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )     




Expandir
titleSET ADD_VIRTUAL_TABLE

Método SET:

Adiciona uma tabela na tela de pesquisa.

Sintaxe



Bloco de código
_ADVPL_set_property( <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )

Parâmetros



NomeTipoDescriçãoObrigatório?
cTableCHARNome da tabela.Sim
cLabelCHARDescrição da tabela.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
l_dialog_reference,"MAXIMIZED",FALSE)
     CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE) END FUNCTION <cReference>, "ADD_VIRTUAL_TABLE", <cTable>, <cLabel> )