Árvore de páginas

 

Abre um formulário do tipo CRUD ou CRUDFreeForm.

 


Syntax

OPENCRUD( TTABLE, FORM-PARMS: param1, param2, ...).

TTABLE

Temp-table contendo as informações que serão lidas para a abertura do crud.

FORM-PARAMS: param1, param2, ...

Parâmetros a serem passados para o formulário a ser aberto. É possível passar qualquer quantidade de parâmetros e os mesmos podem ser valores informados diretamente no comando ou variáveis dos tipos: CHARACTER, INTEGER, DECIMAL, DATE, LOGICAL e TEMP-TABLE.

No lado do formulário a ser aberto, podemos em qualquer script do mesmo obter os parâmetros declarando variáveis da seguinte forma:

DEFINE FORM-PARAM paramName AS DATATYPE.

Os nomes informados para os parâmetros(paramName) não precisam ser os mesmos das variáveis passadas para o comando OPENFORM. Porém a ordem de declaração dos parâmetros precisa ser a mesma da ordem informada no OPENFORM, assim como os tipos (DATATYPE) precisam corresponder. DATATYPE pode ser: CHARACTER, INTEGER, DECIMAL, DATE, LOGICAL e TEMP-TABLE.

 


Exemplo

DEFINE TEMP-TABLE ttProvider
   FIELD crudName AS CHARACTER
   FIELD crudMode AS CHARACTER
   FIELD filterParameters AS CHARACTER.
DEFINE VARIABLE valor AS CHARACTER.
assign valor="Brasil".
CREATE ttProvider.
ttProvider.crudName = "crm.crudfreeform.CRUDpais".
ttProvider.crudMode = "D".
ttProvider.filterParameters = "nom_pais@@String@@" + valor.
OPENCRUD(ttProvider).

 

Mesmo Exemplo porém passando parâmetros para o CRUD:

DEFINE VARIABLE p1 AS CHARACTER.
DEFINE VARIABLE p2 AS DECIMAL.
p1 = "teste".
p2 = 35.88.
OPENCRUD(ttProvider, FORM-PARMS: p1, p2, "abcde").

Em qualquer script do CRUD podemos obter os parâmetros através das seguintes declarações:

DEFINE FORM-PARAM libName AS CHARACTER.
DEFINE FORM-PARAM value1 AS DECIMAL.
DEFINE FORM-PARAM blVar AS CHARACTER.

 

TEMP-TABLE ttProvider:

crudName

Caminho completo do CRUD a ser aberto.

crudMode

Variável informando se o CRUD será aberto em modo detalhe, edição ou inclusão.

Possíveis valores:

  • Detalhe: "D".
  • Edição: "E".
  • Inclusão: "I".

filterParameters

Parâmetros de filtro.

Sintaxe:

nome da propriedade + "@@" + tipo da propriedade + "@@" + valor do filtro.

Caso seja necessário a passagem de mais de um filtro a sintaxe deve ser:

nome da propriedade1 + ";" + nome da propriedade2 + "@@" + tipo da propriedade1 + ";" + tipo da propriedade2 + "@@" + valor do filtro1 + ";" + valor

 


Ver Também

OPENFORM function

 

  • Sem rótulos