|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
Добрый день всем! Вопрос чисто теоретический. Есть система написанная на PowerBuilder -9.0. Рядом с ней существует конструктор отчётов на Infomaker для пользователей (исторически кто то так задамал), отчёты в Infomaker делают аналитики, но при глюках поддерживаем мы... Замысел в чём внутри основной системы забодяжить конструктор отчётов, тоесть аналитик генерит с помощью инфомейкера sql скрипт , сохраняет с помощью интерфейса в базе и собственно таким образом перечень отчётов перетечёт в базу и инфомекер останется только у аналитиков (они толковые - знают структуру, поэтому базу подвесить не должны). Динамически можно использовать SyntaxFromSQL , но он к сожалению не принимает параметры, а требует сразу значения. А хотелось бы чтобы динамически создавалась datastore или dw , которая знала о своих параметрах и при retrieve запрашивала их у пользователя. Это вообще возможно можно сделать? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2009, 14:40 |
|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
Можно - называется конструктор отчетов. Вот как у меня выглядит. SyntaxFromSQL - для создания структуры DataStore педварительно выполняет запрос - время выполнения будет в два раза больше, так что нужно предусмотреть кеширование созданных DataStore. Параметры в запрос можно передавать например через временную таблицу. Запрашивать параметры - это нужно самому формочку написать чтобы она запрашивала на основе того, что там аналитики настроят. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2009, 15:17 |
|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
Спасибо, Марк! Почитаю!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2009, 16:38 |
|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
Марк, маленький вопросик, а как вы генерите srd файл, ну например есть у вас процедура, есть её параметры и их типы, а дальше - как мне srd файл получить?, в базе то понятно, что лучше srd в блобе хранить... Можно ли пример в студию, если не жаль, на вашем сайте я ответа не нашёл... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2009, 16:54 |
|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
Поднимаю тему, для конкретного уточнения: Вот так работает : ls_sql = ' select rn from PAYMENTS_UNION where rn = 3 ' ls_syntax = oracle_tr.SyntaxFromSQL (ls_sql,'Style(Type=grid)',ls_errors) А как сделать типо: ls_sql = ' select rn from PAYMENTS_UNION where rn = :rn' ls_syntax = oracle_tr.SyntaxFromSQL (ls_sql,'Style(Type=grid)',ls_errors) Чтобы ругачек не было и потом datastore нормально построилась...??? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2009, 10:03 |
|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
Порядок такой 1.В вашем select-е место для переменной заменить "узнаваемой" константой, например: Код: plaintext 1. 2.
2.Используете SyntaxFROMSQL - создаете строку syntax В этой строке находите подстроку Код: plaintext
3. Выделяете три подстроки - от начала до до ll_pos1 - неизменно - от ll_pos2 до конца - неизменно - "середина" - от ll_pos1 до ll_pos2 делаете следующее 4. Вот в этой середине - замещаете все подстроки '123456789' на ':n_id' - дополняете в конец Код: plaintext
5. Снова собираете все три подстроки в одну, и создаете из этого syntax-а datawindow ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2009, 10:42 |
|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
Спасибо, распарсивание строки конечно подойдёт, но если параметров несколько, да и ещё разных типов, ну например штук 7. Сложно как то распарсиванием , да и ещё и динамечески всё это провернуть.... Мне кажется Марк как то по другому делал... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2009, 11:36 |
|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
boogimanМарк, маленький вопросик, а как вы генерите srd файл, ну например есть у вас процедура, есть её параметры и их типы, а дальше - как мне srd файл получить?, в базе то понятно, что лучше srd в блобе хранить... Можно ли пример в студию, если не жаль, на вашем сайте я ответа не нашёл... srd файл с отчетом или с процедурой? С отчетом - это external datawindow которое можно рисовать в InfoMaker, PowerBuilder и подкладывать в pbd или в виде внешнего srd файла. С процедурой - как-то так: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2009, 09:55 |
|
Простой конструктор - SyntaxFromSQL
|
|||
---|---|---|---|
#18+
Спасибо Марк! Я решил что у меня будет нечто среднее между Вашим подходом и ZhV . 1. Я буду брать sql-скрипт и обрезать его до условия where (тоесть без параметров) 2. Делаю datastore и далее распарсиваю его : а) Запоминаю часть до select б) Запоминаю часть после text которая 3. Делаю итоговый datastore : Часть a) + sql-скрипт первоначальный (вместе с where) + образую строку аргументов (сами аргументы с их типами аналитик вводит в конструкторе) + б) Примерно то же будет и спроцедурами. Как плюс в таком подходе, что можно аргументы в русской раскладке давать типа = Дата_начала. Всем спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2009, 15:30 |
|
|
start [/forum/topic.php?fid=15&gotonew=1&tid=1336297]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 467ms |
0 / 0 |