Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Download BLOB column on Interactive Report not working

AlibuneNov 1 2018 — edited Nov 1 2018

Hello everyone!

I have an interactive report that show me some records about files updated to the DB.

When i have only one record it works well, display only the record that exists and i can download it, but when i have two or more records i get the Not Found error when trying to download the file and it display the same record multiple times like below:

pastedImage_1.png

pastedImage_2.png

my query is like this:

SELECT R.ID,

     RA.ID RA\_ID,

    TD.STRDESCRICAO,  

    CASE WHEN EXISTS (SELECT RA.ID  

                      FROM REQUERIMENTOANEXO RA   

                      WHERE FKEREQUERIMENTO = :P300400\_REQ\_ID AND RA.TIPODOCUMENTO = TD.ID)   

         THEN 'Sim'  

         ELSE 'Não'  

    END AS ANEXADO,  

    CASE WHEN ATD.BLNOBRIGATORIO = 1 THEN 'Sim' WHEN ATD.BLNOBRIGATORIO = 0 THEN 'Não' END as Obrigatório,  

    dbms\_lob.getlength(RA.ARQUIVO)  as ARQUIVO 

    FROM REQUERIMENTO R  

    INNER JOIN ASSUNTOTIPODOCUMENTO ATD ON ATD.FKEASSUNTO = R.FKEASSUNTO  

    INNER JOIN TIPODOCUMENTO TD ON TD.ID = ATD.FKETIPODOCUMENTO  

    LEFT JOIN REQUERIMENTOANEXO RA ON R.ID = RA.FKEREQUERIMENTO  

    WHERE R.ID = :P300400\_REQ\_ID;

when i changed the query to this:

SELECT distinct R.ID,

     (SELECT RA.ID  

                      FROM REQUERIMENTOANEXO RA   

                      WHERE FKEREQUERIMENTO = :P300400\_REQ\_ID AND RA.TIPODOCUMENTO = TD.ID) ra\_id,

    TD.STRDESCRICAO,  

    CASE WHEN EXISTS (SELECT RA.ID  

                      FROM REQUERIMENTOANEXO RA   

                      WHERE FKEREQUERIMENTO = :P300400\_REQ\_ID AND RA.TIPODOCUMENTO = TD.ID)   

         THEN 'Sim'  

         ELSE 'Não'  

    END AS ANEXADO,  

    CASE WHEN ATD.BLNOBRIGATORIO = 1 THEN 'Sim' WHEN ATD.BLNOBRIGATORIO = 0 THEN 'Não' END as Obrigatório,  

    (SELECT dbms\_lob.getlength(RA.ARQUIVO) FROM REQUERIMENTOANEXO RA   

                      WHERE FKEREQUERIMENTO = :P300400\_REQ\_ID AND RA.TIPODOCUMENTO = TD.ID) as ARQUIVO 

    FROM REQUERIMENTO R  

    INNER JOIN ASSUNTOTIPODOCUMENTO ATD ON ATD.FKEASSUNTO = R.FKEASSUNTO  

    INNER JOIN TIPODOCUMENTO TD ON TD.ID = ATD.FKETIPODOCUMENTO  

    LEFT JOIN REQUERIMENTOANEXO RA ON R.ID = RA.FKEREQUERIMENTO  

    WHERE R.ID = :P300400\_REQ\_ID;

it show me the records in the correct way, but i still can't download the files

pastedImage_14.png

what can i do to solve this?

Using APEX 5.1.4 and Oracle 11g XE

Thanks in advance,

Alibune.

Comments
Post Details
Added on Nov 1 2018
2 comments
1,348 views