Parâmetro Dinâmico

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Responder
claudio.luiz
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 13 Ago 2012 2:58 pm

Boa Tarde,

Preciso utilizar um parâmetro dinâmico. Alguém sabe se é possível fazer ?

Utilizo a versão Reports 6i.

Tenho em minhas tabelas as secretarias da prefeitura, e em outra, os setores de cada prefeitura.

No form de parâmetro, eu preciso de:

Carregar os secretarias;
Carregar os setores de acordo com a secretaria selecionada acima;

Já tentei fazer um select com variável normal, como faço no select principal, mas não funciona. O reports não permite a utilização de uma variável de parâmetro.

Alguém tem alguma ideia de como fazer ?

Obrigado,

Claudio Costa
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Tem como mostrar como esta seu select e como esta seu parametro para melhor entendimento?
claudio.luiz
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 13 Ago 2012 2:58 pm

Obrigado por responder.

Criei duas variáveis de parâmetro:

1 - P_SECRET
2 - P_SETOR

Em Lista de Valores da variável P_SECRET tenho o seguinte select:
SELECT TO_CHAR(S.SECR_CODIGO, 'FM0000') || ' - ' || S.SECR_DESCRICAO
FROM sgrh.secretaria s


Até aqui, tudo certo. O problema agora é que preciso montar o combo para a variável P_SETOR e para isso deveria utilizar o seguinte select:
SELECT TO_CHAR(S.SECR_CODIGO, 'FM0000') || ' - ' || S.SECR_DESCRICAO AS SETOR
FROM sgrh.setor s
WHERE s.secr_secretaria = :P_SECRET

sendo que o P_SECRET é o valor que foi selecionado no combo anterior.

O oracle report 6i não permite utilizar variáveis para montar o combo.

Com essas duas informações, eu faço meu select do relatório:

SELECT A.FUNC_MATRICULA,
A.CONT_CONTRATO,
F.FUNC_NOME,
H.HORA_CODIGO,
H.HORA_DESCRICAO,
SC.SECR_DESCRICAO AS SECRETARIA,
SS.SECR_DESCRICAO AS SETOR
FROM SGRH.CONTRATO A,
SGRH.FUNCIONARIO F,
SGRH.HORARIO H,
SGRH.SECRETARIA SC,
SGRH.SETOR SS
WHERE A.FUNC_MATRICULA = F.FUNC_MATRICULA
AND A.FUNC_MATRICULA = SC.FUNC_MATRICULA
AND A.CONT_CONTRATO = SC.CONT_CONTRATO
AND CS.SECR_CODIGO = :P_SECRET
AND SS.SECR_CODIGO = :P_SETOR
ORDER BY SC.SECR_CODIGO, F.FUNC_NOME

Mais uma vez, obrigado pela ajuda.
Responder
  • Informação
  • Quem está online

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