...
| Expandir |
|---|
|
Junção dos métodos "FORM" e "ACTIVATE" para carregar as informações do formulário e executá-lo em seguida.
| Bloco de código |
|---|
_ADVPL_set_property(< l_form_reference >,"INIT_FORM", < l_form_name >, <l_4glRecord1>, < l_4glRecord2 >, ..., <l_4GLrecordNz> ) |
| Nome | Tipo | Descrição | Obrigató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 |
|---|
| | 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 |
| Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
| CALL _ADVPL_set_property(l_form_reference,"INIT_FORM","man10021",mr_item,ma_item_man) |
|
| Expandir |
|---|
| title | DETAILORDER_WHERE_CLAUSEBY |
|---|
|
| DETAILWHERE_CLAUSE Ordem de consulta padrão para determinado(s) campos do formulário que será utilizada para toda pesquisa executada no formulário Atribui valor para uma determinada linha e coluna da operação 'Listar' do formulário.
| Bloco de código |
|---|
_ADVPL_set_property(< l_form_reference >,"DETAILORDER_WHERE_CLAUSEBY", < l_wheretable_clausealias >, < <ll_tablecolumn >, [ l_aliasorder ]) |
| Nome | Tipo | Descrição | Obrigató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 | table_alias | CHAR
| Nome da tabela da qual será definido o filtro 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_ | aliascolumn | CHAR
| Alias Nome da | tabela da qual será definido o filtro.Não |
Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.
| 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. Quando não informado irá assumir automaticamente a ordenação como ASC.
| Não |
| Bloco de código |
|---|
| | Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
| CALL _ADVPL_set_property(l_form_reference,"ORDER_BY","item","cod_item","DESC") |
|
| Expandir |
|---|
|
Atribui valor para determinado campo do formulário.
| Bloco de código |
|---|
##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_CLAUSEVALUE", < 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 |
|---|
|
Atribui valor para uma determinada linha e coluna da operação 'Listar' do formulário.
| Bloco de código |
|---|
_ADVPL_set_property(< l_form_reference >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ]) |
| Nome | Tipo | Descrição | Obrigató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 |
Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.
| Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
|
##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 |
|---|
|
Atribui valor para uma determinada linha e coluna da operação 'Listar' do formulário.
| Bloco de código |
|---|
_ADVPL_set_property(< l_form_reference >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ]) |
| Nome | Tipo | Descrição | Obrigató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 |
Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.
| Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
|
##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 |
|---|
|
Atribui valor para uma determinada linha e coluna da operação 'Listar' do formulário.
| Bloco de código |
|---|
_ADVPL_set_property(< l_form_reference >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >, [ l_alias ]) |
| Nome | Tipo | Descrição | Obrigató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 |
Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.
| Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
|
##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 |
|---|
|
Atribui valor para uma determinada linha e coluna da operação 'Listar' do formulário. | Bloco de código |
|---|
_ADVPL_set_property(< l_form_reference >,"DETAIL_WHERE_CLAUSE", < l_where_clause >, <l_table >table>, < l_column >, < l_value >, [ l_line ], [ l_alias ]) |
| Nome | Tipo | Descrição | Obrigatório? |
|---|
l_form_reference | CHAR
| Referência do formulário. | Sim | l_where_clausetable | 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 | CHAR
| Filtro de pesquisa SQL para ser utilizado na operação de pesquisa padrão do formulário. | Sim | l_tableline | CHAR
| INTEGER
| Linha do grid do formulário Nome da tabela da qual será definido o filtro.terá o valor alterado | NãoSim | l_alias | CHAR
| Alias da tabela com a coluna do formulário da qual será definido terá o filtrovalor alterado. | Não |
Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.
| Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true | | true |
|---|
| CALL _ADVPL_set_property(l_form_reference,"VALUE","item","cod_empresa","50") |
|
| Expandir |
|---|
|
Filtro de consulta padrão para o formulário que será utilizado para toda pesquisa realizada.
| Bloco de código |
|---|
##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 =
| Nome | Tipo | Descrição | Obrigató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 |
Este filtro será utilizado no filtro WHERE do SQL padrão do metadado.
| Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
| #Definir um filtro para uma tabela mestre (item):
LET l_where_clause = "item.cod_empresa |
AND item_man.cod_item = item.cod_item= '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 ANDWHERE item_man.cod_itemempresa = '857550'
|
| Expandir |
|---|
| title | DETAILZOOM_WHERE_CLAUSENAME |
|---|
|
| DETAILWHERE_CLAUSE Atribui valor para uma determinada linha e coluna da operação 'Listar' do formulário.
| Bloco de código |
|---|
_ADVPL_set_property(< l_form_reference >,"DETAILZOOM_WHERE_CLAUSENAME", < l_wherezoom_clausename >, <l_table >, [ l_alias ]) |
| Nome | Tipo | Descrição | Obrigatório? |
|---|
l_form_reference_reference | CHAR
| Referência do formulário. | Sim | l_zoom_name | CHAR
| Referência do formulárioNome do novo zoom que será atribuído para o campo. Este zoom deve estar cadastrado no programa "FRM1008 - Zoom". | Sim | l_where_clausetable | CHAR Filtro | de pesquisa SQL para ser utilizado na operação de pesquisa padrão do formulárioNome da tabela da coluna do formulário da qual terá o zoom alterado. | Sim | l_tablecolumn | CHAR
| Nome da tabela coluna do formulário da qual será definido terá o filtrozoom alterado. | Sim | l_alias | CHAR
| Alias da tabela com a coluna do formulário da qual será definido o filtro. | Não |
Este filtro será utilizado dentro das cláusulas de junção das tabelas no SQL.
| Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
| ##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,"DETAILZOOM_WHERE_CLAUSENAME",l"zoom_whereitem_clauseman","item","cod_manitem") |
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'
|
...
| 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>) |
...
| Bloco de código |
|---|
| language | ruby |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
|
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 |
...