Páginas filhas
  • LGX - LFormMetaData

Versões comparadas

Chave

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

...

Expandir
titleFORM

Método SET: FORM

Carrega as informações do formulário, mas não o executa.

Utilizado em casos em que é necessário carregar o formulário e após isso executar diretamente uma operação do mesmo.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"FORM", < l_form_name >, <l_4glRecord1>, < l_4glRecord2 >, ..., <l_4GLrecordNz> )

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário de cadastro (FRM1002)Sim
l_4glRecord (1,2,..,N)
4GL 
RECORD

Variáveis RECORD ou ARRAY OF RECORD, separadas por vírgula, que irão controlar o conteúdo do formulário, sendo que para cada tabela informada no formulário é necessário uma variável RECORD para tabelas do tipo mestre e ARRAY OF RECORD para as tabelas do tipo detalhe ou mestre-detalhe.

Dica
iconfalse
A  ordem das variáveis RECORD ou ARRAY OF RECORD deve obedecer a ordem informada no campo "Posição Record 4GL" no cadastro de formulários cadastrais (FRM0002).
Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"FORM","man10021",mr_item,ma_item_man)




Expandir
titleORDER_BY

Método SET: ORDER_BY

Ordem de consulta padrão para determinado(s) campos do formulário que será utilizada para toda pesquisa executada no formulário.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"ORDER_BY", < l_table_alias >, < l_column >, [ l_order ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_table_alias
CHAR
Nome da tabela OU alias. Ccaso a tabela tenha alias definido no formulário, deverá ser informado apenas o alias para definir a ordenação a ser utilizada na operação de pesquisa padrão do formulário.Sim
l_column
CHAR
Nome da coluna da qual deseja definir a ordenação para ser utilizada na operação de pesquisa padrão do formulário.Sim
l_order
CHAR

Ordenação da coluna a ser respeitada.
ASC - ordenação crescente.
DESC - ordenação decrescente.

(informação) Quando não informado irá assumir automaticamente a ordenação como ASC.

Não

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"ORDER_BY","item","cod_item","DESC")




Expandir
titleHOTKEY

Método SET: HOTKEY

Define uma tecla de atalho para executar uma ação específica no formulário.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"HOTKEY", < l_hotkey >, < l_function >, < l_description >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário de cadastro (FRM1002)Sim
l_hotkey
CHAR

Tecla de atalho.

Informe o código numérico correspondente da tecla desejada ou então o nome da tecla que deve respeitar uma lista pré-definida de nomes previstos no metadado.

Expandir
titleLista de teclas previstas no metadado
Sim
l_function
CHAR

Nome da função 4GL que será acionada ao invocar o atalho da tecla de atalho.

Sim
l_description
CHAR

Texto de descrição da tecla de atalho.

Nãao

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
 CALL _ADVPL_set_property(m_form, "HOTKEY", "CTRL-H", "xxx9999_funcao_especifica","Executa função específica")




Expandir
titleINIT_FORM

Método SET: INIT_FORM

Junção dos métodos "FORM" e "ACTIVATE" para carregar as informações do formulário e executá-lo em seguida.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"INIT_FORM", < l_form_name >, <l_4glRecord1>, < l_4glRecord2 >, ..., <l_4GLrecordNz> )

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário de cadastro (FRM1002)Sim
l_4glRecord (1,2,..,N)
4GL 
RECORD

Variáveis RECORD ou ARRAY OF RECORD, separadas por vírgula, que irão controlar o conteúdo do formulário, sendo que para cada tabela informada no formulário é necessário uma variável RECORD para tabelas do tipo mestre e ARRAY OF RECORD para as tabelas do tipo detalhe ou mestre-detalhe.

Dica
iconfalse
A  ordem das variáveis RECORD ou ARRAY OF RECORD deve obedecer a ordem informada no campo "Posição Record 4GL" no cadastro de formulários cadastrais (FRM0002).
Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"INIT_FORM","man10021",mr_item,ma_item_man)




Expandir
titleORDER_BY

Método SET: ORDER_BY

Ordem de consulta padrão para determinado(s) campos do formulário que será utilizada para toda pesquisa executada no formulário.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"ORDER_BY", < l_table_alias >, < l_column >, [ l_order ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_table_alias
CHAR
Nome da tabela OU alias. Ccaso a tabela tenha alias definido no formulário, deverá ser informado apenas o alias para definir a ordenação a ser utilizada na operação de pesquisa padrão do formulário.Sim
l_column
CHAR
Nome da coluna da qual deseja definir a ordenação para ser utilizada na operação de pesquisa padrão do formulário.Sim
l_order
CHAR

Ordenação da coluna a ser respeitada.
ASC - ordenação crescente.
DESC - ordenação decrescente.

(informação) Quando não informado irá assumir automaticamente a ordenação como ASC.

Não

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"ORDER_BY","item","cod_item","DESC")




Expandir
titleVALUE

Método SET: VALUE

Atribui valor para determinado campo do formulário.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"VALUE", < l_table>, < l_column >, < l_value >, [ l_line ], [ l_alias ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_table
CHAR
Tabela da coluna do formulário da qual terá o valor alterado.Sim
l_column
CHAR
Coluna do formulário da qual terá o alterado.Sim
l_value
-
Qualquer valor a ser atribuído para a coluna do formulário, respeitando o tipo de dado.Sim
l_line
INTEGER
Linha do grid do formulário da qual terá o valor alteradoNão
l_alias
CHAR
Alias da tabela com a coluna do formulário da qual terá o valor alterado.Não

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"VALUE","item","cod_empresa","50")




Expandir
titleWHERE_CLAUSE

Método SET: WHERE_CLAUSE

Filtro de consulta padrão para o formulário que será utilizado para toda pesquisa realizada.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"WHERE_CLAUSE", < l_where_clause >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_where_clause
CHAR
Filtro de pesquisa SQL para ser utilizado na operação de pesquisa padrão do formulário.Sim

(informação) Este filtro será utilizado no filtro WHERE do SQL padrão do metadado.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Definir um filtro para uma tabela mestre (item):
LET l_where_clause = "item.cod_empresa = '50'"

CALL _ADVPL_set_property(l_form_reference,"WHERE_CLAUSE",l_where_clause)

Neste exemplo acima, quando o usuário executar a pesquisa, este filtro será montado da seguinte forma:


FROM item WHERE item_man.cod_empresa = '50'




Expandir
titleZOOM_NAME

Método SET: ZOOM_NAME

Atribui valor para uma determinada linha e coluna da operação 'Listar' do formulário.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"ZOOM_NAME", < l_zoom_name 	>, <l_table >, [ l_alias ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_zoom_name
CHAR
Nome do novo zoom que será atribuído para o campo. Este zoom deve estar cadastrado no programa "FRM1008 - Zoom".Sim
l_table
CHAR
Nome da tabela da coluna do formulário da qual terá o zoom alterado.Sim
l_column
CHAR
Nome da coluna do formulário da qual terá o zoom alterado.Sim
l_alias
CHAR
Alias da tabela com a coluna do formulário da qual terá o zoom alterado.Não

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"ZOOM_NAME","zoom_item_man","item","cod_item")

Neste exemplo acima, quando o usuário executar a pesquisa no formulário o filtro SQL será montado da seguinte forma:

 
FROM item LEFT OUTER JOIN item_man
ON item_man.cod_empresa = item.cod_empresa
AND item_man.cod_item = item.cod_item
AND item_man.cod_item = '8575'





Sintaxe

...

Bloco de código
LET m_form_reference = _ADVPL_create_component(NULL,"LFORMMETADATA")     
CALL _ADVPL_set_property(m_form_reference,"INIT_FORM",<form_name>,<4GLrecord1>,<4GLrecord2>,...,<4GLrecordN>) 

Exemplo

...

Bloco de código
languageruby
themeConfluence
linenumberstrue
DATABASE logix 

GLOBALS     
	DEFINE p_user        LIKE usuarios.cod_usuario     
	DEFINE p_cod_empresa LIKE empresa.cod_empresa 
END GLOBALS 

DEFINE mr_item           RECORD LIKE item.* 

DEFINE ma_item_man       ARRAY[100] OF RECORD LIKE item_man.* 

DEFINE m_form_reference  VARCHAR(10)

#-------------------# 
 FUNCTION man10021()
#-------------------#     
	# Verifica permissão para o usuário conforme módulo do programa.     

	IF  LOG_initApp("PADRAO") <> 0 THEN         
		RETURN     
	END IF     

	INITIALIZE mr_item.*, ma_item_man TO NULL     
	LET m_form_reference = _ADVPL_create_component(NULL,"LFORMMETADATA")     
	CALL _ADVPL_set_property(m_form_reference,"INIT_FORM","man10021",mr_item,ma_item_man) 
END FUNCTION

...