Passando Dados Entre Graphics e Forms

5
CODIFIQUE O DEPÓSITO MAY/JUNE 1996 Passando dados entre os gráficos Developer/200 e os formulários Um formulário que contenha um artigo encaixado da carta pode passar parâmetros aos gráficos do oracle para o uso em construir ou em atualizar a exposição associada com o artigo da carta. Para o exemplo, quando um operador incorpora um número do departamento de 10 a um campo de DEPT.DEPTNO, o formulário pode então passar que valor aos gráficos do oracle a usar- se em construir uma carta de barra que mostra as despesas incorridas por Departamento 10 no último quarto. Você pode também passar parâmetros dos dados aos gráficos do oracle. Um parâmetro dos dados é um ponteiro a um grupo record definido no formulário atual. Passar parâmetros dos dados é apropriada quando você quer gráficos do oracle usar os resultados de uma pergunta executada em formulários do oracle, sem executar a mesma pergunta. Você pode passar uma lista do parâmetro que inclua parâmetros do texto e/ou dos dados dos formulários do oracle aos gráficos do oracle sempre que sua aplicação executa alguns dos seguintes procedimentos:

description

Graphics e Forms

Transcript of Passando Dados Entre Graphics e Forms

CODIFIQUE O DEPSITO MAY/JUNE 1996

Passando dados entre os grficos Developer/200 e os formulrios

Um formulrio que contenha um artigo encaixado da carta pode passar parmetros aos grficos do oracle para o uso em construir ou em atualizar a exposio associada com o artigo da carta. Para o exemplo, quando um operador incorpora um nmero do departamento de 10 a um campo de DEPT.DEPTNO, o formulrio pode ento passar que valor aos grficos do oracle a usar-se em construir uma carta de barra que mostra as despesas incorridas por Departamento 10 no ltimo quarto.

Voc pode tambm passar parmetros dos dados aos grficos do oracle. Um parmetro dos dados um ponteiro a um grupo record definido no formulrio atual. Passar parmetros dos dados apropriada quando voc quer grficos do oracle usar os resultados de uma pergunta executada em formulrios do oracle, sem executar a mesma pergunta.

Voc pode passar uma lista do parmetro que inclua parmetros do texto e/ou dos dados dos formulrios do oracle aos grficos do oracle sempre que sua aplicao executa alguns dos seguintes procedimentos:

RUN_PRODUCT

OG.OPEN

OG.INTERPRET

OG.MOUSEDOWN

OG.MOUSEUP

OG.REFRESH

Cada um destes procedimentos faz exame de uma lista ID do parmetro como seu argumento final. Assim, quando voc chama estes procedimentos em um formulrio voc tem a opo para emitir os parmetros do texto ou dos dados da exposio de grficos do oracle.

O seguinte exemplo mostra duas maneiras passar parmetros ao povoar um artigo da carta com uma exposio de grficos do oracle. Este exemplo demonstra a passagem de parmetros com RUN_PRODUCT.

Primeiramente, uma exposio chamada o sal_chart criada em grficos do oracle que compara os salrios pagos aos gerentes e aos empregados da linha em um departamento dado. Uma pergunta foi definida em grficos do oracle que aceitasse um dept_num do parmetro que definisse o nmero do departamento a ser usado no ONDE clusula da pergunta.

No formulrio, o desenhador criou nico-grava o bloco baseado na tabela do departamento, adicionada ento um artigo da carta ao bloco chamado chart_item.

Um disparador do Quando-Novo-Formulrio-Exemplo foi definido que executasse a seguinte chamada na partida do formulrio:

Og.Open('sal_chart', 'dept.chart_item ');

O procedimento ABERTO comea grficos do oracle na modalidade de grupo e assoca o sal_chart da exposio com o artigo dept.chart_item da carta. Quando o operador do formulrio pergunta um registro do departamento no formulrio, o artigo da carta indica a carta de torta que mostra a avaria do salrio para empregados nesse departamento.

H duas maneiras executar esta funcionalidade:

Passe um parmetro do texto.

O formulrio passa a grficos do oracle um parmetro com um valor para o parmetro do dept_num que foi definido na exposio; Usos dos grficos do oracle ento que avaliam para executar a pergunta, as configuraes a exposio, e as passagens ele ao artigo da carta do formulrio.

Passe um parmetro dos dados.

O formulrio programmatically cra e povoa um grupo do registro da pergunta, a seguir passa o jogo record resultante aos grficos do oracle como um parmetro dos dados. Os dados perguntados pelo formulrio satisfem pergunta nomeada definida na exposio do sal_chart. Os grficos do oracle usam os dados construir a exposio (sem perguntar a base de dados), povoam ento o artigo da carta do formulrio.

Passar a um parmetro do texto o seguinte cdigo da amostra mostra que o texto de um obstru-nvel Borne-Pergunta o disparador que pde ser usado passar um nmero do departamento aos grficos do oracle para o uso em construir a exposio do sal_chart.

O pass_param do PROCEDIMENTO pl_id ParamList; COMEA/* cre uma lista do parmetro para os dados que passam */pl_id: = Create_Parameter_List('my_param_list '); adicione um parmetro do texto lista para fornecer um valor para o parmetro ' do dept_num ' do ** que os grficos do oracle esto esperando */Add_Parameter(pl, ' dept_num ', TEXT_PARAMETER, TO_CHAR(:dept.deptno)); chame grficos do oracle para povoar * do artigo da carta/Og.Refresh('sal_chart', 'dept.chart_item', pl); comece livrado do * da lista do parmetro/Destroy_Parameter_List(pl); EXTREMIDADE;

Passar a um parmetro dos dados o seguinte cdigo da amostra mostra que o texto de um obstru-nvel Borne-Pergunta o disparador que pde ser usado passar registros de dados aos grficos do oracle. Neste exemplo, o oracle d forma a edies uma pergunta e armazena os dados resultantes em um grupo record. Um parmetro dos dados passado ento aos formulrios do oracle que references o grupo record, e os grficos do oracle usam os dados construir a exposio do sal_chart.

O pass_data do PROCEDIMENTO CHAR(20) val: = ' chart_data '; -- nome do grupo record no formulrio pl ParamList; rg RecordGroup; VARCHAR(2000) qry; NMERO do status; COMECE/* prepare uma pergunta em uma corda */qry: = ' empno SELETO, sal do emp ONDE deptno = '||To_Char(:dept.deptno); tente comear o ID do * record do grupo ' do chart_data '/rg: = Find_Group('chart_data '); se no existir, cre o grupo baseado na pergunta do ** no * ' qry ' da corda/SE o rg de Id_Null(rg) ENTO: = Create_Group_From_Query('chart_data', qry); TERMINE SE; se certifique que o grupo record ' do chart_data ' * vazio/Delete_Group_Row(rg, ALL_ROWS); povoe o grupo record ' do chart_data ' com o ** da pergunta no * ' qry ' da corda/status: = Populate_Group_With_Query(rg, qry); cre uma lista do parmetro para os dados que passam */pl: = Create_Parameter_List('foo '); adicione um parmetro dos dados lista do parmetro ao ** especificam o relacionamento entre o ** nomeado ' query0 ' da pergunta na exposio de grficos do oracle e no grupo nomeado do registro do ** no formulrio, ' chart_data '. */Add_Parameter(pl, 'query0 ', DATA_PARAMETER, val); invoque grficos do oracle para criar * da carta/Og.Refresh('sal_chart', 'dept.chart_item', pl); o ** comea livrado do * da lista do parmetro/Destroy_Parameter_List(pl); EXTREMIDADE;

Retorne ao depsito

Todas as perguntas tcnicas especficas dos usurios de produtos suportados oracle devem ser dirigidas ao departamento tcnico da sustentao do oracle. O oracle no fornece nenhuma garantia a respeito da exatido de nenhuma informao fornecida atravs do compartimento do oracle interativo. O oracle no ser responsvel para nenhuns danos incorridos em conseqncia do reliance em nenhuma informao fornecida nisto.

1994, Do Copyright Oracle 1995 & 1996 Corporation. Todos os direitos reservados.

Home! | Que Novo? | Arquivos | Forum | Servios | Subscreva! | Busca?