Páginas filhas
  • LGX - LFormMetaData

Versões comparadas

Chave

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

...

Expandir
titleENABLE_COMPONENTS

Método SET: ENABLE_COMPONENTS

Atribui valor para uma determinada linha e coluna da operação 'Listar' do formulárioHabilita/desabilita os campos em tela que estiverem registrados no formulário como Editável no cadastro de formulários cadastrais (FRM1002).

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"ENABLE_COMPONENTS", < l_status >, [ l_operation ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_status
SMALLINT

Indicador que define se irá habilitar ou desabilitar os campos da tela para edição.

TRUE - Habilitar campos

FALSE - Desabilitar campos

Sim
l_operation
CHAR/SMALLINT

Quando STATUS (Parâmetro l_status) tiver valor TRUE este parâmetro deve indicar a operação que será utilizada para identificar os campos que devem ou não ser habilitados para edição em tela.

create - Inclusão de dados. 
copy - Cópia de dados.
update - Modificação de dados. Não habilita os campos chave.

   (ideia) Se operação não for informada, será considerada a operação create por padrão.


Quando STATUS (Parâmetro l_status) tiver valor FALSE, este parâmetro indicará se para desabilitar a edição dos campos, continuará permitindo que o usuário permita acessar o conteúdo dos campos desabilitados para copiar seu conteúdo ou não.

TRUE -  Permitirá copiar conteúdo do campo desabilitado.
FALSE - Não permitirá copiar conteúdo do campo desabilitado.

   (ideia) Quando não for informado, será considerada valor FALSE por padrão.

Não

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"ENABLE_COMPONENTS",TRUE,"update")

CALL _ADVPL_set_property(l_form_reference,"ENABLE_COMPONENTS",FALSE,TRUE)




Expandir
titleDETAILENABLE_VALID_WHEREFOREIGN_CLAUSEKEY

Método SET: 

DETAIL

ENABLE_VALID_

WHERE

FOREIGN_

CLAUSE

KEY

Habilita/desabilita a validação de chaves estrangeiras para determinada(s) tabelas

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 >,"DETAILENABLE_VALID_WHEREFOREIGN_CLAUSEKEY", < l_where_clausestatus >, [ <ll_table >], [ l_alias ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_where_clausestatus
CHAR
SMALLINT

Indicador que define se será habilitada ou desabilitada a validação de chaves estrangeiras de uma ou mais tabelas do formulário.

TRUE - Habilitar validação de chaves estrangeiras.

FALSE - Desabilitar validação de chaves estrangeiras

Filtro de pesquisa SQL para ser utilizado na operação de pesquisa padrão do formulário

.

Sim
l_table
CHAR

Nome da tabela

da qual será definido o filtro.

do formulário da qual deseja habilitar/desabilitar a validação de chaves estrangeiras.

(informação) Quando não for informar a tabela, todas as tabelas do formulário serão afetadas. 

NãoSim
l_alias
CHAR
Alias da tabela da qual será definido o filtro.Não
(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.
do formulário da qual deseja habilitar/desabilitar a validação de chaves estrangeiras.Não


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAILENABLE_VALID_WHEREFOREIGN_CLAUSEKEY",l_where_clauseFALSE,"item_man")

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'
Expandir
titleDETAIL_WHERE_CLAUSE




Expandir
titleENABLE_VALID_NOT_NULL

Método SET: ENABLE_VALID_NOT_NULL

Habilita/desabilita a validação de campos obrigatório para determinada(s) tabelas

Método SET: DETAIL_WHERE_CLAUSE

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 >,"DETAILENABLE_VALID_WHERENOT_CLAUSENULL", < l_where_clausestatus >, [ <ll_table >], [ l_alias ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_where_clausestatus
CHAR
SMALLINT

Indicador que define se será habilitada ou desabilitada a validação de campos obrigatório de uma ou mais tabelas do formulário.

TRUE - Habilitar validação de campos obrigatórios.

FALSE - Desabilitar validação de campos obrigatórios

Filtro de pesquisa SQL para ser utilizado na operação de pesquisa padrão do formulário

.

Sim
l_table
CHAR

Nome da tabela

da qual será definido o filtro.

do formulário da qual deseja habilitar/desabilitar a validação de campos obrigatórios.

(informação) Quando não for informada a tabela, todas as tabelas do formulário serão consideradas.

NãoSim
l_alias
CHAR
Alias da tabela do formulário da qual será definido o filtrodeseja habilitar/desabilitar a validação de campos obrigatórios.Não
(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAILENABLE_WHEREVALID_CLAUSENOT_NULL",l_where_clauseFALSE,"item_man")

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'
Expandir
titleDETAIL_WHERE_CLAUSE




Expandir
titleENABLE_VALID_PRIMARY_KEY

Método SET: ENABLE_VALID_PRIMARY_KEY

Habilita/desabilita a validação de chaves primárias para determinada(s) tabelas

Método SET: DETAIL_WHERE_CLAUSE

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 >,"DETAILENABLE_VALID_WHEREFOREIGN_CLAUSEKEY", < l_where_clausestatus >, <l[ l_table >], [ l_alias ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_where_clausestatus
CHAR
SMALLINT

Indicador que define se será habilitada ou desabilitada a validação de chave primária de uma ou mais tabelas do formulário.

TRUE - Habilitar validação de chaves primárias.

FALSE - Desabilitar validação de chaves primárias

Filtro de pesquisa SQL para ser utilizado na operação de pesquisa padrão do formulário

.

Sim
l_table
CHAR

Nome da tabela

da qual será definido o filtro.

do formulário da qual deseja habilitar/desabilitar a validação de chaves primárias.

(informação) Quando não for informar a tabela, todas as tabelas do formulário serão afetadas. 

NãoSim
l_alias
CHAR
Alias da tabela do formulário da qual será definido o filtrodeseja habilitar/desabilitar a validação de chaves primárias.Não
(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAILENABLE_WHEREVALID_PRIMARY_CLAUSEKEY",l_where_clauseFALSE,"item_man")

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


FROM




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)
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'




Expandir
titleDETAIL_WHERE_CLAUSE

Método SET: DETAIL_WHERE_CLAUSE

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 >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ])

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
l_table
CHAR
Nome da tabela da qual será definido o filtro.Sim
l_alias
CHAR
Alias da tabela da qual será definido o filtro.Não

(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAIL_WHERE_CLAUSE",l_where_clause,"item_man")

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'




Expandir
titleDETAIL_WHERE_CLAUSE

Método SET: DETAIL_WHERE_CLAUSE

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 >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ])

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
l_table
CHAR
Nome da tabela da qual será definido o filtro.Sim
l_alias
CHAR
Alias da tabela da qual será definido o filtro.Não

(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAIL_WHERE_CLAUSE",l_where_clause,"item_man")

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'




Expandir
titleDETAIL_WHERE_CLAUSE

Método SET: DETAIL_WHERE_CLAUSE

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 >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ])

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
l_table
CHAR
Nome da tabela da qual será definido o filtro.Sim
l_alias
CHAR
Alias da tabela da qual será definido o filtro.Não

(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAIL_WHERE_CLAUSE",l_where_clause,"item_man")

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'




Expandir
titleDETAIL_WHERE_CLAUSE

Método SET: DETAIL_WHERE_CLAUSE

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 >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ])

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
l_table
CHAR
Nome da tabela da qual será definido o filtro.Sim
l_alias
CHAR
Alias da tabela da qual será definido o filtro.Não

(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAIL_WHERE_CLAUSE",l_where_clause,"item_man")

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'




Expandir
titleDETAIL_WHERE_CLAUSE

Método SET: DETAIL_WHERE_CLAUSE

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 >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ])

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
l_table
CHAR
Nome da tabela da qual será definido o filtro.Sim
l_alias
CHAR
Alias da tabela da qual será definido o filtro.Não

(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAIL_WHERE_CLAUSE",l_where_clause,"item_man")

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'




Expandir
titleDETAIL_WHERE_CLAUSE

Método SET: DETAIL_WHERE_CLAUSE

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 >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ])

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
l_table
CHAR
Nome da tabela da qual será definido o filtro.Sim
l_alias
CHAR
Alias da tabela da qual será definido o filtro.Não

(informação) Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
##Definir filtro para a tabela detalhe ITEM_MAN de cardinalidade N..0 que possui junção com uma tabela mestre ITEM
LET l_where_clause = "item_man.cod_item = '8575'"

CALL _ADVPL_set_property(l_form_reference,"DETAIL_WHERE_CLAUSE",l_where_clause,"item_man")

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

...