Doubts about Repeating Frame (see the Annex)

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Post Reply
inforjo
Rank: Programador Pleno
Rank: Programador Pleno
Posts: 30
Joined: Thu, 18 Feb 2010 9:37 am
Location: FORTALEZA

I am creating a report with the tree data according to Example 1 of the Annex.
What is happening is that it is leaving as in Example 2 of the Annex.
I created several frames as in the Annex.
And just below the frames, I created a representation of the consultations.
Attachments
EXEMPLO OR.png
User avatar
dr_gori
Moderador
Moderador
Posts: 5024
Joined: Mon, 03 May 2004 3:08 pm
Location: Portland, OR USA
Contact:
Thomas F. G

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

Do you need to be created repeating different frames?

usually when working with a tree, we ride all the tree and leaves the spaces straight on the way out.
See this example: http://en.glufke.net/oracle/viewtopic.php?t=402
The ENAM field already comes out with the appropriate indentations.
Can not you do that?
inforjo
Rank: Programador Pleno
Rank: Programador Pleno
Posts: 30
Joined: Thu, 18 Feb 2010 9:37 am
Location: FORTALEZA

What happened is that in the property of "Repeating Frame" was with "vertical elasticity" with "fixed" value,
I changed on all the repeat frames for the "variable" value and it worked.

My problem now just repair the query.
In query i1 I want to check if on i3 has value,
if you do not have no record, it seems so simple, but I'm picking up that only ...: '([99]]
I tried to do something like this (I simplified the maximum):

Select all

 
 
select * 
 from  i1, e1  
 where i1.cod  = e1.cod(+) 
   and i1.codn1 = e1.codn1(+) 
   and i1.cd_ordem = e1.cd_item_ordem(+) 
   and (i1.cd_ref is not null or e1.valor is not null) 
 
--verifica se os cd_ref tem item com resultados  
 
and i1.cd_ref in (select n1.cod 
from  n1 
where n1.cod = i1.cd_ref 
and exists (select 'X' 
             from  i2, e2  
             where i2.cod = e2.cod(+) 
               and i2.codn2 = e2.codn2(+) 
               and i2.cd_ordem = e2.cd_item_ordem(+) 
               and i2.cod = n1.cod 
               and i2.codn2 = n1.codn2  
               and (i2.cd_ref is not null or e2.valor is not null) 
                                                      
               --Verifica o 3o NIVEL 
                                                      
                and i2.cd_ref not in (select n2.cod 
                                      from   n2 
                                      where n2.cod = i2.cd_ref)  
                                       and exists (select 'X' 
                                                     from  i3,  e3  
                                                     where i3.cod = e3.cod(+) 
                                                       and i3.codn3 = e3.codn3(+) 
                                                       and i3.cd_ordem = e3.cd_item_ordem(+) 
                                                       --and i3.cod = n2.cod 
                                                       --and i3.codn3 = n2.codn  
                                                       and (i3.cd_ref is not null or e3.valor is not null)))) 
 
But it did not work.
inforjo
Rank: Programador Pleno
Rank: Programador Pleno
Posts: 30
Joined: Thu, 18 Feb 2010 9:37 am
Location: FORTALEZA

Sorted out.
User avatar
dr_gori
Moderador
Moderador
Posts: 5024
Joined: Mon, 03 May 2004 3:08 pm
Location: Portland, OR USA
Contact:
Thomas F. G

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

Excellent! : -The
only out of curiosity, how did it solve?
(and also to stay here as guidance for us in the future)
inforjo
Rank: Programador Pleno
Rank: Programador Pleno
Posts: 30
Joined: Thu, 18 Feb 2010 9:37 am
Location: FORTALEZA

1 - The problem of repeating frame was just put on your vertical elasticity property: variable

2º - I created two queries one to check the 2nd level and the other to check the 3rd level using the "Union All "
No need to place the" N3 "table. And I changed and removed some (red) conditions.

Select all

 
--consulta 1  
select * --campos  
  from i1, e1 
 where i1.cd_cod = e1.cd_cod(+) 
   and i1.cd_codn1 = e1.cd_codn1(+) 
   and i1.cd_ordem = e1.cd_item_ordem(+) 
   and nvl2(e1.valor, e1.valor, 1) = nvl2(e1.valor, :valor, 1) 
   and (i1.cd_ref is not null or e1.valor is not null) 
   and i1.cd_ref in 
       (select i2.cd_cod 
          from i2, e2 
         where i2.cd_cod = e2.cd_cod(+) 
           and i2.cd_codn2 = e2.cd_codn2(+) 
           and i2.cd_ordem = e2.cd_item_ordem(+) 
           and i2.cd_cod = i1.cd_ref 
           and nvl2(e2.valor, e2.valor, 1) = nvl2(e2.valor, :p_valor, 1) 
           and i2.cd_ref is null 
           and i2.valor is not null) 
 
union all 
 
--consulta 2 
 
select * 
  from i1, e1 
 where i1.cod = e1.cod(+) 
   and i1.codn1 = e1.codn1(+) 
   and i1.cd_ordem = e1.cd_item_ordem(+) 
   and nvl2(e1.valor, e1.valor, 1) = nvl2(e1.valor, :p_valor, 1) --mostra os valores null do campo valor senão de acordo com parametro 
   and (i1.cd_ref is not null or e1.valor is not null) 
       
      --verifica se os cd_ref tem item com resultados  
       
   and i1.cd_ref in 
       (select n1.cod 
          from n1 
         where n1.cod = i1.cd_ref 
           and exists 
         (select 'X' 
                  from i2, e2 
                 where i2.cod = e2.cod(+) 
                   and i2.codn2 = e2.codn2(+) 
                   and i2.cd_ordem = e2.cd_item_ordem(+) 
                   and i2.cod = n1.cod 
                   and i2.codn2 = n1.codn2 
                   and nvl2(e2.valor, e2.valor, 1) = 
                       nvl2(e2.valor, :p_valor, 1) 
                   and (i2.cd_ref is not null) 
                       
                      --Verifica o 3o NIVEL 
                   and exists (select 'X' 
                          from i3, e3 
                         where i3.cod = e3.cod(+) 
                           and i3.codn3 = e3.codn3(+) 
                           and i3.cd_ordem = e3.cd_item_ordem(+) 
                           and nvl2(e3.valor, e3.valor, 1) = 
                               nvl2(e3.valor, :p_valor, 1) 
                           and e3.valor is not null 
                           and i3.cd_cod = i2.cd_ref))) 
Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 9 guests