Classe que permite executar um formulário metadado de cadastro, também chamado de modelo CRUD, que são registrados e mantidos através do programa FRM1002 (Formulário Metadado Cadastral).

Hierarquia


Métodos GET


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


Método GET: BROWSE_ITEM_COUNT

Quantidade de registros encontrados na operação 'Listar' do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"BROWSE_ITEM_COUNT") => INTEGER

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulárioSim

Retorno



Tipo

Descrição

INTEGERQuantidade de registros encontrados na operação 'Listar' do formulário.

Exemplo



LET l_browse_count = _ADVPL_get_property(l_form_reference,"BROWSE_ITEM_COUNT")

FOR l_ind = 1 TO l_browse_count 
   LET l_cod_item = _ADVPL_get_property(l_form_reference,"BROWSE_VALUE","item","cod_item",l_ind) 
   LET l_den_item = man10021_get_den_item(l_cod_item) 
   CALL _ADVPL_set_property(l_form_reference,"BROWSE_VALUE","item","den_item",l_ind,l_den_item)
END FOR




Método GET: BROWSE_VALUE

Valor de uma determinada linha e coluna da operação 'Listar' do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"BROWSE_VALUE", < l_table >, < l_column >, < l_line >, [ l_alias ]) => VALUE

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulárioSim
l_tableCHARNome da tabela da coluna do formulário da qual deseja-se retornar o valor,Sim
l_columnCHARNome da coluna do formulário da qual deseja-se retornar o valor.---Sim
l_lineCHARNúmero da linha do grid da operação 'Listar' da qual deseja-se retornar o valor.Sim
l_aliasCHARAlias da tabela com a coluna do formulário da qual deseja-se retornar o valor.Não

Retorno



TipoDescrição
VALUEValor de determinada linha e coluna da grid da operação 'Listar' do formulário.

Exemplo



LET l_browse_count = _ADVPL_get_property(l_form_reference,"BROWSE_ITEM_COUNT")

FOR l_ind = 1 TO l_browse_count 
   LET l_cod_item = _ADVPL_get_property(l_form_reference,"BROWSE_VALUE","item","cod_item",l_ind) 
   LET l_den_item = man10021_get_den_item(l_cod_item) 
   CALL _ADVPL_set_property(l_form_reference,"BROWSE_VALUE","item","den_item",l_ind,l_den_item)
END FOR




Método GET: COMPONENT_REFERENCE

Referência do componente de um determinado campo do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"COMPONENT_REFERENCE", < l_table >, < l_column >, [ l_alias ]) => CHAR

Parâmetros



Nome

Tipo

Descrição

Obrigatório?

l_form_reference
CHAR
Referência do formulárioSim
l_tableCHARNome da tabela da coluna do formulário da qual deseja-se retornar o valor,Sim
l_columnCHARNome da coluna do formulário da qual deseja-se retornar o valor.---Sim
l_aliasCHARAlias da tabela com a coluna do formulário da qual deseja-se retornar o valor.Não

Retorno



Tipo

Descrição

CHARReferência do componente de um campo do formulário.

Exemplo



LET l_component_reference = _ADVPL_get_property(l_form_reference,"COMPONENT_REFERENCE","item","cod_item")




Método GET: CONSTRUCT_REFERENCE

Referência do filtro de consulta utilizado na operação de pesquisa do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"CONSTRUCT_REFERENCE") => CHAR

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulárioSim

Retorno



TipoDescrição
CHARReferência do filtro de pesquisa (LConstruct) utilizado na operação padrão de pesquisa do formulário.

Exemplo



LET l_construct_reference = _ADVPL_get_property(l_form_reference,"CONSTRUCT_REFERENCE")




Método GET: CURRENT_OPERATION

Operação atual em execução no formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"CURRENT_OPERATION") => CHAR

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulárioSim

Retorno



TipoDescrição
CHARNome da operação que está em execução, conforme cadastrado no programa "FRM1001 - Barra de Ferramentas".

Exemplo



LET l_current_operation = _ADVPL_get_property(l_form_reference,"CURRENT_OPERATION")




Método GET: EXECUTE_OPERATION 

Executa uma determinada operação do formulário, conforme cadastrada no programa "FRM1001 - Barra de Ferramentas".

Sintaxe



_ADVPL_get_property(< l_form_reference >,"EXECUTE_OPERATION ") => SMALLINT

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulárioSim

Retorno



TipoDescrição
SMALLINTCaso a operação foi executado com sucesso retornará TRUE, caso contrário retornará FALSE.

Exemplo



LET l_where_clause = "item.cod_empresa = '01'"
LET l_status = _ADVPL_get_property(l_form_reference,"EXECUTE_OPERATION","find",l_where_clause)




Método GET: GROUP_REFERENCE

Referência do componente do grupo de componentes de determinado campo do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"GROUP_REFERENCE") => CHAR

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulárioSim

Retorno



TipoDescrição
CHARReferência do componente de um grupo de componentes do formulário.

Exemplo



LET l_group_reference = _ADVPL_get_property(l_form_reference,"GROUP_REFERENCE","item","cod_item")




Método GET: MENU_BUTTON_REFERENCE

Referência de um botão da barra de ferramentas do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"MENU_BUTTON_REFERENCE", < l_operation > ) => CHAR

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_operationCHARNome da operação, cadastrada no programa "FRM0001 - Barra de Ferramentas", do formulário da qual deseja-se retornar a referência.Sim

Retorno



TipoDescrição
CHARReferência de um botão da barra de ferramentas (LMenuButton) correspondente à operação informada como parâmetro.

Exemplo



LET l_menubutton_reference = _ADVPL_get_property(l_form_reference,"MENU_BUTTON_REFERENCE","create")




Método GET: MENUBAR_REFERENCE

Referência de um botão da barra de ferramentas do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"MENUBAR_REFERENCE") => CHAR

Parâmetros



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

Retorno



TipoDescrição
CHARReferência da barra de ferramentas (LMenuBar) do formulário.

Exemplo



LET l_menubar_reference = _ADVPL_get_property(l_form_reference,"MENUBAR_REFERENCE")




Método GET: STATUS_BAR_REFERENCE

Referência da barra de status do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"STATUS_BAR_REFERENCE") => CHAR

Parâmetros



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

Retorno



TipoDescrição
CHARReferência da barra de status do formulário (LStatusBar).

Exemplo



LET l_menubar_reference = _ADVPL_get_property(l_form_reference,"STATUS_BAR_REFERENCE")




Método GET: TABLE_REFERENCE

Referência da barra de status do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"TABLE_REFERENCE", < l_table >, [ l_alias ]) => CHAR

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_table
CHAR
Nome da tabela do formulário da qual deseja-se recuperar a referência do grid.Sim
l_alias
CHAR
Alias da tabela do formulário da qual deseja-se recuperar a referência do grid.Não

Retorno



TipoDescrição
CHARReferência do componente grid de uma tabela do formulário.

Exemplo



LET l_table_reference = _ADVPL_get_property(l_form_reference,"TABLE_REFERENCE","item_man")




Método GET: VALUE

Valor de um determinado campo do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"VALUE", < l_table >, < l_column>, [ l_line ], [ l_alias ]) => VALUE

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 deseja-se retornar o valor.Sim
l_column
CHAR
Coluna do formulário da qual deseja-se retornar o valor.Sim
l_line
INTEGER
Linha do grid do formulário da qual deseja-se retornar o valor.Não
l_alias
CHAR
Alias da tabela com a coluna do formulário da qual deseja-se retornar o valor.Não

Retorno



TipoDescrição
VALUEValor de um determinado campo do formulário.

Exemplo



LET l_value = _ADVPL_get_property(l_form_reference,"VALUE","item","cod_item")




Método GET: ZOOM_BUTTON_REFERENCE

Referência do componente do botão de zoom de um determinado campo do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"ZOOM_BUTTON_REFERENCE", < l_table >, [ l_alias ]) => CHAR

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_table
CHAR
Nome da tabela da coluna do formulário da qual deseja-se recuperar a referência do botão de zoom.Sim
l_column
CHAR
Nome da coluna do formulário da qual deseja-se recuperar a referência do botão de zoom.Sim
l_alias
CHAR
Alias da tabela com a coluna do formulário da qual deseja-se recuperar a referência do botão de zoom.Não

Retorno



TipoDescrição
CHARReferência do componente do botão de zoom de um campo do formulário.

Exemplo



LET l_zoom_button_reference = _ADVPL_get_property(l_form_reference,"ZOOM_BUTTON_REFERENCE","item","cod_item")




Método GET: ZOOM_REFERENCE

Referência do zoom de um determinado campo do formulário.

Sintaxe



_ADVPL_get_property(< l_form_reference >,"ZOOM_REFERENCE", < l_table >, [ l_alias ]) => CHAR

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_table
CHAR
Nome da tabela da coluna do formulário da qual deseja-se recuperar a referência do zoom.Sim
l_column
CHAR
Nome da coluna do formulário da qual deseja-se recuperar a referência do zoom.Sim
l_alias
CHAR
Alias da tabela com a coluna do formulário da qual deseja-se recuperar a referência do zoom.Não

Retorno



TipoDescrição
CHARReferência do zoom de determinado campo do formulário.

Exemplo



LET l_zoom_reference = _ADVPL_get_property(l_form_reference,"ZOOM_REFERENCE","item","cod_item")




Métodos SET

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


Método SET: ACTIVATE

Inicia ou finaliza o formulário.

Sintaxe



CALL _ADVPL_set_property(< l_form_reference >,"ACTIVATE", < l_status >)

Parâmetros



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

Indicador que define se será ativado ou desativado o formulário.

   TRUE - Ativa o formulário

   FALSE - Desativa/Fecha o formulário.

Sim

(informação) Para ativar ou desativar um formulário, deverá ter executado previamente o método "FORM" ou "INIT_FORM" para o mesmo.


Exemplo



CALL _ADVPL_set_property(l_form_reference,"ACTIVATE",TRUE)




Método SET: BROWSE_VALUE

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

Sintaxe



_ADVPL_set_property(< l_form_reference >,"BROWSE_VALUE", < l_table >, < l_column >, < l_line >, < l_value >, [ l_alias ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_table
CHAR
Nome da tabela da coluna do formulário da qual terá o valor alterado.Sim
l_column
CHAR
Nome da coluna do formulário da qual terá o alterado.Sim
l_line
CHAR
Número da linha do grid</span> da operação 'Listar' da qual terá o valor alterado.Sim
l_value
CHAR
Valor a ser atribuído para a coluna da grid</span> da operação Listar do formulário.Sim
l_alias
CHAR
Alias da tabela com a coluna do formulário da qual terá o valor alterado.Não


Exemplo



LET l_browse_count = _ADVPL_get_property(l_form_reference,"BROWSE_ITEM_COUNT")

FOR l_ind = 1 TO l_browse_count    
  LET l_cod_item = _ADVPL_get_property(l_form_reference,"BROWSE_VALUE","item","cod_item",l_ind)    
  LET l_den_item = man10021_get_den_item(l_cod_item)        
  CALL _ADVPL_set_property(l_form_reference,"BROWSE_VALUE","item","den_item",l_ind,l_den_item)
END FOR




Método SET: CONTAINER_COLUMNS_COUNT

Inicia ou finaliza o formulário.

Sintaxe



CALL _ADVPL_set_property(< l_form_reference >,"CONTAINER_COLUMNS_COUNT", < l_columns >)

Parâmetros



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

Quantidade máxima de colunas que irá definir o agrupamento dos grupos de componentes do formulário.

Sim

(informação) Este método deve sempre ser chamado uma única vez na função de 'Before Load' do formulário.


Exemplo



CALL _ADVPL_set_property(l_form_reference,"CONTAINER_COLUMNS_COUNT",2)




Método SET: DETAIL_WHERE_CLAUSE

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

Sintaxe



_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



##Foi definido um filtro para uma tabela detalhe de cardinalidade N..0 (item_man) que possui junção com uma tabela mestre (item)
LET l_where_clause = "item_man.cod_item = '",l_cod_item CLIPPED,"'"

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




Sintaxe


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

Exemplo


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


Informações