Passando Dados Entre Graphics e Forms
-
Upload
adelino-gomes-vieira-junior -
Category
Documents
-
view
216 -
download
0
description
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?