Pagina de Arvore

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
  

Mensagemem Ter, 14 Jun 2016 10:49 am

Olá
Estou com dificuldade para criar uma página de arvore no apex.
Criei a página, mas o apex exibe os resultados porém não agrupados pelo nó especificado.
É uma relação de títulos pagos. Gostaria de criar o nó Fornecedor e abaixo dele os títulos relacionados.
Criei uma view para buscar os títulos:
Código: Selecionar todos
CREATE OR REPLACE VIEW V_TIT_FORN AS
SELECT P.NOME, T.CODIGO, T.CODFORNEC, T.PARCELA, T.DTVENCTO, T.VLRPARCELA, T.VLRPAGO
  FROM PESSOA P
  ,    TITULO T
WHERE P.CODIGO = T.CODFORNEC
   AND T.TPTIT = 0;


E o select de criação da página ficou assim:

Código: Selecionar todos
select case when connect_by_isleaf = 1 then 0
            when level = 1             then 1
            else                           -1
       end as status,
       level,
       "NOME" as title,
       null as icon,
       "CODIGO" as value,
       null as tooltip,
       null as link
from "#OWNER#"."V_TIT_FORN"
where DTVENCTO > TO_DATE('01/03/2016','DD/MM/RRRR')
start with "CODFORNEC" is NOT null
connect by prior "CODIGO" = "CODFORNEC"
order siblings by "NOME"


Notem que coloquei no start with como NOT NULL. Se colocar somente NULL não mostra nada.

Obrigado.
chunning
Localização: Feliz - RS

Mensagemem Ter, 21 Jun 2016 3:50 pm

Olá Pessoas!!!
Consegui criar a página com apoio de um outro colega. Segue abaixo o select que gerei.

Código: Selecionar todos
select case
          when connect_by_isleaf = 1 then
           0
          when level = 1 then
           1
          else
           -1
       end as status
      ,level
      ,name as title
      ,null as icon
      ,id as value
      ,null as tooltip
      ,decode(level,4,'f?p=&APP_ID.:14:'||:APP_SESSION||'::::P14_CODIGO:'||id,null) as link
  from (
        select to_char(p.codigo) id,
               to_char(null)     parent,
               p.NOME            name
          from pessoa p,
               titulo  t
         where p.codigo = t.codFornec
           and t.dtvencto >= to_date(to_char(sysdate,'YYYYMM')||'01','YYYYMMDD')
     
        UNION
     
        select distinct t.codFornec || ':' || to_char(t.dtvencto,'dd/mm/rrrr') id,
               to_char(t.codFornec)                                            parent ,
               'Data: ' || to_char(t.dtvencto,'dd/mm/rrrr')                    name
          from titulo t
         where t.dtvencto >= to_date(to_char(sysdate,'YYYYMM')||'01','YYYYMMDD')

        UNION
     
        select t.codFornec || ':' || to_char(t.dtvencto,'dd/mm/rrrr') || ':' || t.codigo id,
               to_char(t.codFornec) || ':' || to_char(t.dtvencto,'dd/mm/rrrr')           parent ,
               'A.P.: '|| t.codigo                                                       name
          from titulo t
         where t.dtvencto >= to_date(to_char(sysdate,'YYYYMM')||'01','YYYYMMDD')

        UNION
     
        select t.codFornec || ':' || to_char(t.dtvencto,'dd/mm/rrrr') || ':' || t.codigo ||':'|| t.parcela id,
               to_char(t.codFornec) || ':' || to_char(t.dtvencto,'dd/mm/rrrr') || ':' || t.codigo          parent ,
               'Parcela: '|| t.parcela ||' - '|| to_char(t.vlrParcela,'999G999G999G999G990D00')            name
          from titulo t
         where t.dtvencto >= to_date(to_char(sysdate,'YYYYMM')||'01','YYYYMMDD')

        )
start with parent is null
connect by parent = prior id
order siblings by name


Abs, Cesar
chunning
Localização: Feliz - RS



Voltar para Apex

Quem está online

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