ORA-04062 na Package Spec and Body..

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
meguelito
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 60
Registrado em: Ter, 17 Jan 2006 1:45 pm
Localização: Santa Catarina
Att.:
Alan Juliano Metzger
Programador Oracle
Inside System Informática
Msn/E-mail: alanjuliano@yahoo.com.br

Boa tarde galera,

Seguinte vou explicar a situação, tenho um oracle 10g r2 onde criei um Package que me retorna registro do tipo de tabela onde este retorno é feito em variáveis publicas da package, então como o Forms não suporte fazer nome_da_package.nome_da_variavel.nome_campo_tabela criei uma package dentro do da minha biblioteca onde criei as variaveis globais na SPEC e através de uma função do banco peguei os valores que vem da Package do banco e ai no Forms consigo usar nome_da_package.nome_da_variavel.nome_campo_tabela, porém tenho dois bancos com SID diferente um ORCL e outro ORCL2, então quando eu compilo a pll no ORCL2 e uso a pll no ORCL me da o ORA-04062 porém se eu compilo no ORCL e uso no ORCL fica uma maravilha, sendo que os pacotes são todos iguais, não tem nenhuma diferença.

Package do banco:

Selecionar tudo

PKG_HC_CONFIG.F_RETORNA_VAR_FORMS(P_SETUP OUT HC_SETUP%ROWTYPE) RETURN VARCHAR2.
Package do Forms:

Selecionar tudo

PKG_HC_CFG SPEC:
  R_SETUP HC_SETUP%ROWTYPE;
PKG_HC_CFG BODY:

Selecionar tudo

  MENSAGEM := PKG_HC_CONFIG.F_RETORNA_VAR_FORMS(P_SETUP => R_SETUP);
Se alguém tiver alguma idéia melhor para me indicar estou aberto a dicas, pois o que quero usar depois é PKG_HC_CFG.R_SETUP.CD_CLIENTE.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Tem uma thread no forum da OTN com um problema muito semelhante.
http://forums.oracle.com/forums/thread. ... dID=355937

Isso tem a ver com a assinatura da package. Quando você recompila ou muda algo, a assinatura também muda. Daí o forms tem que ser recompilado.

O cara sugere criar uma package "intermediária". Uma que chama as proceures que realmente executam. E o forms chama essa intermediária. (que nunca sofreria mudanças).

Outros links:
http://www.dba-oracle.com/t_ora_04062_s ... hanged.htm
http://oci-04062.ora-code.com/
Nota do metalink: Note:73506.1
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes