Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Report Query:String index out of range: -1 / 3 сообщений из 3, страница 1 из 1
24.09.2017, 12:20
    #39525405
Рустамка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Query:String index out of range: -1
Итаг:
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
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
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 файл с содержимым:
Код: plaintext
String index out of range: -1
Где копать?
P.S.: Можете закидать ссылками по теме, но все, что я смог найти сводится к "забаганным" стобцам, которые не выводятся в другом месте (читай - кривой запрос).
...
Рейтинг: 0 / 0
26.09.2017, 08:53
    #39526087
Рустамка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Query:String index out of range: -1
1. Опытным путём выяснено, что внутренний print-сервис (Apex Listener) лучше не использовать при большом количестве полей (у меня 42 поля). Такое количество полей APEX пытается прогнать через FOP-сервис, даже если в настройках он не указан. А если он не указан, то соответственно выдает null и падает в ошибку.
В итоге использую связку Apex и Oracle BI publisher, который, к счастью у меня имеется (но по странному стечению обстоятельств мне о нем не было известно).
2. Так же выяснено, что при использовании Template Builder желательно необходимо надо! использовать именно тот Template Builder, который предлагает скрипт BIP, а не тот, который валяется на файлопомойке в организации :-)
...
Рейтинг: 0 / 0
28.09.2017, 08:52
    #39527427
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Query:String index out of range: -1
РустамкаString index out of range: -1
Скорее всего из за отсуствия первичного ключа.

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

Это имеет какое то отношение к проблеме, или это просто изложение мыслей?
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Report Query:String index out of range: -1 / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]