Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle APEX Новый топик    Ответить
 Report Query:String index out of range: -1  [new]
Рустамка
Member

Откуда:
Сообщений: 55
Итаг:
+ Oracle version

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
"CORE 11.2.0.1.0 Production"
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

+ Apex version

Application Express 4.2.3.00.08

Есть запрос в Report Query
SELECT functionA(3,A,null,null) AS A,
       B AS B,
       С AS С,
       functionA(14,D,NULL,NULL)||' '||functionA(15,E,NULL,NULL) AS DE,
       functionB(F||' '||G||' '||H,3,null) AS FGH,
       REPLACE(REPLACE(J,0,NULL),1,'X') AS J,
       REPLACE(REPLACE(K,0,NULL),1,'X') AS K,
       REPLACE(REPLACE(L,0,NULL),1,'X') AS L,
       SUBSTR(M,1,1) AS M,
       SUBSTR(N,2,1) AS N,
       CASE
        WHEN (DDATE1 IS NOT NULL) THEN (EXTRACT (DAY FROM DDATE1))
        ELSE NULL
       END AS O,
       CASE
        WHEN (DDATE1 IS NOT NULL) THEN (EXTRACT (MONTH FROM DDATE1))
        ELSE NULL
       END AS P,
       CASE
        WHEN (DDATE1 IS NOT NULL) THEN (SUBSTR(EXTRACT (YEAR FROM DDATE1),1,2))
        ELSE NULL
       END AS Q,
       CASE
        WHEN (DDATE1 IS NOT NULL) THEN (SUBSTR(EXTRACT (YEAR FROM DDATE1),3,2))
        ELSE NULL
       END AS R,
       CASE
        WHEN ((DDATE3 IS NOT NULL) AND (DDATE2 IS NOT NULL)) THEN ('с '||TO_CHAR(DDATE2,'DD.MM.YYYY')||' по '||TO_CHAR(DDATE3,'DD.MM.YYYY'))
        ELSE NULL
       END AS S
FROM TTABLE
WHERE ID = :P3_ID

который прекрасно выполняется:
*в SQL Developer
*в SQL Workshop -> SQL Commands
*в Set Bind Variable -> Test Report (выводит заполненную таблицу)
*в Source for Report Layout -> XML Data -> Download (выдает заполненную XML)
Но при получении Source for Report Layout: -> XML Schema -> Download выдает **.xsd файл с содержимым:
String index out of range: -1
Где копать?
P.S.: Можете закидать ссылками по теме, но все, что я смог найти сводится к "забаганным" стобцам, которые не выводятся в другом месте (читай - кривой запрос).
24 сен 17, 12:20    [20818816]     Ответить | Цитировать Сообщить модератору
 Re: Report Query:String index out of range: -1  [new]
Рустамка
Member

Откуда:
Сообщений: 55
1. Опытным путём выяснено, что внутренний print-сервис (Apex Listener) лучше не использовать при большом количестве полей (у меня 42 поля). Такое количество полей APEX пытается прогнать через FOP-сервис, даже если в настройках он не указан. А если он не указан, то соответственно выдает null и падает в ошибку.
В итоге использую связку Apex и Oracle BI publisher, который, к счастью у меня имеется (но по странному стечению обстоятельств мне о нем не было известно).
2. Так же выяснено, что при использовании Template Builder желательно необходимо надо! использовать именно тот Template Builder, который предлагает скрипт BIP, а не тот, который валяется на файлопомойке в организации :-)
26 сен 17, 08:53    [20822439]     Ответить | Цитировать Сообщить модератору
 Re: Report Query:String index out of range: -1  [new]
blkangel
Member

Откуда:
Сообщений: 1664
Рустамка
String index out of range: -1

Скорее всего из за отсуствия первичного ключа.

Рустамка
1. Опытным путём выяснено, что внутренний print-сервис (Apex Listener) лучше не использовать при большом количестве полей (у меня 42 поля). Такое количество полей APEX пытается прогнать через FOP-сервис, даже если в настройках он не указан. А если он не указан, то соответственно выдает null и падает в ошибку.
В итоге использую связку Apex и Oracle BI publisher, который, к счастью у меня имеется (но по странному стечению обстоятельств мне о нем не было известно).
2. Так же выяснено, что при использовании Template Builder желательно необходимо надо! использовать именно тот Template Builder, который предлагает скрипт BIP, а не тот, который валяется на файлопомойке в организации :-)


Это имеет какое то отношение к проблеме, или это просто изложение мыслей?
28 сен 17, 08:52    [20828141]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle APEX Ответить