CftClub.ru
Клуб специалистов ЦФТ-Банк

Программное создание джобов
На страницу Пред.  1, 2, 3, 4  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеСр Окт 12, 2011 14:38    Ответить с цитатой
Полезность: 2
А! Кажется, понял, что nataly у нас хотела спросить.

nataly пишет:
Еще одну хрень понять не могу, вот есть у меня в отчете операция "Проверка" и "Тело"

Это не операция "Проверка" и "Тело", это в операции закладки "Проверка" и "Тело".

nataly пишет:
вот разнесла я логику по этим двум закладкам, в Проверке запускаются джобы, во-второй проверяется их состояние и при удачном завершении - обработка сформированных джобами данных.

Ну и напрасно. Уж где-где...

Сперва я бы посмотрел на другие операции - с какого, интересно, в проверке все завязано на p_message и p_info, и что это за переменные... а также потыкался по прочим закладкам - свойствам операции. И в хелп бы заглянул.

Это еще хорошо, что у тебя операция без всяких проверок, а то бы ты и повторно (и третий и т.д.) запустила эти джобы.

nataly пишет:
С какого-то хрена в одних формах у меня запускаются обе части, а в некоторых - только то, что в Проверке.
Запустив джобы, прога выходит на форму параметром и Тело уже в упор не видит (((


Ну все правильно :)
На форме нажмёшь ОК и выполнится тело.

nataly, для тебя важно знать следующее:
1. То, что будет выполнять джоб, нужно размещать в закладке "Локальные описания"
2. сигнатуру помещать в "Глобальные описания"
3. действия, которые необходимо выполнить для управления интерфейсом на экранной форме операции - в закладку "Проверка"
4. а операции запуска джобов - в закладку "Тело".
5. В клиент-скрипт вообще не лезь без необходимости.

Вот только при таком раскладе у тебя что-то получится.
Иначе пользоваться твоей работой никто не будет.

Еще полезно знать, чем различаются типы операций - Простая, Групповая, Списочная, Библиотечная.
------------
операции же работают так:
0) Пользователь жмёт F4-операция
1) выполняется анализ закладки "Дополнительные свойства" - анализируется, что нужно выполнять первым - клиент-скрипт или что-то на сервере
2) Если при старте указан "Сервер" в первой позиции, выполняется секция валидации (то, что написано на закладке "Проверка") с параметром p_message = 'DEFAULT' (тут есть особенность, но ты с ней не столкнёшься)
2`) Если при старте указан "Клиент" в первой позиции, выполняется функция Main клиент-скрипта, если она вообще описана.
3) Выполняется вторая позиция действий при старте.
4) визуализируется экранная форма
5) В случае нажатия контрола (на ЭФ у контрола должно быть выставлено свойство CheckValidate в true) выполняется анализ действий (из закладки доп.свойств) - что выполнять первым - действия на клиенте, или на сервере.

напоминаю, что клиент-скрипт выполняется на локальной машинке пользователя средствами ARM Навигатор, а то, что написано на PL/+ - на сервере, то есть на совсем другой машинке

6) если указан клиент, то производится анализ - существует ли обработчик заданного события, если есть, он выполняется. Функция Main клиент-скрипта тоже выполняется. Что выполняется раньше - не помню. Параметром Main является последний активный контрол.
6`) если указан сервер - выполняется секция валидации c p_message = 'VALIDATE', p_info - в зависимости от действия. выведи debug_pipe(p_info,0) - и узнаешь.

7) Если нажата кнопка с установленным System Action = Cancel, форма закрывается, предварительно задав контрольный вопрос "ты уверен?".
8) Если нажата кнопка с установленным System Action = Ok, выполняется секция "Тело" операции, форма закрывается.

Вот так оно устроено. Пока. Если платформа не 2MCI.
Там всё ещё сложней :)

Совет: чаще пользуйся хелпом (по событиям элементов экранной формы), debug_pipe, MsgBox, хелпом по VBS


Последний раз редактировалось: Random (Ср Окт 12, 2011 15:10), всего редактировалось 2 раз(а)
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеСр Окт 12, 2011 15:08    Ответить с цитатой
Полезность: Нет оценки
nataly пишет:
по-моему поняла что за хрень
Хренов движок не генерит пероцедуру ...EXECUTE
Вернее генерит как-то, но там я вижу старый код, а внесенные исправления не попадают.
Что за ерунда-то?


Вот так всегда - не разберутся и наезжают...

Чем смотришь-то? Небось с сервака операцию в Toad грузишь, и не обновляешь?
А то еще отладчик в pl/sql developer текст операции тож не обновляет.

Есть волшебная кнопка F12 во встроенном редактроре АРМ "Администратор словаря данных", она тебе поможет.


Последний раз редактировалось: Random (Ср Окт 12, 2011 15:17), всего редактировалось 1 раз
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеСр Окт 12, 2011 15:15    Ответить с цитатой
Полезность: Нет оценки
Ох, помню, когда я начинал работать на Платформе Развития (ПР), тоже ничего не понимал, молодой был, зелёный Smile
То ли дело на pl/sql писать... думал я.
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеСр Окт 12, 2011 16:03    Ответить с цитатой
Полезность: Нет оценки
Random пишет:
Ох, помню, когда я начинал работать на Платформе Развития (ПР), тоже ничего не понимал, молодой был, зелёный Smile
То ли дело на pl/sql писать... думал я.

"Эту песню пела мне моя бабушка, когда мы сидели холодными осенними вечерами возле тёплого камина, и попивали Шотландский виски:
Молодая я былааа
Нипанимала нихренааа
Деда встретила твавоооо
И пошло у нас с дедулей, пошлооо... Ох как пошло!!!!
"

Интересно, что за начальник дал зеленой девочке такую задачку?
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеСр Окт 12, 2011 16:54    Ответить с цитатой
Полезность: Нет оценки
Девочка последние свои 20 лет только тем и занимается, что разгребает подобное быдлокодерство.
По существу - сталкивался ли кто нибудь с такой ситуацией, когда в администраторе переписываешь plplus код, нажимаешь сохранить и компилировать, а пакет при этом остается не измененным, по F12 попадаешь на хрен знает какую строку пакета, не имеющую к текущей строке никакого отношения?

Как ни странно, ситуацию исправляет форматирование строчек PLPLUS-кода. После сдвига они становятся вдруг видимыми тупорылому компилятору.
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеСр Окт 12, 2011 17:02    Ответить с цитатой
Полезность: Нет оценки
Random пишет:
А! Кажется, понял, что nataly у нас хотела спросить.

--------
Совет: чаще пользуйся хелпом (по событиям элементов экранной формы), debug_pipe, MsgBox, хелпом по VBS


Спасибо за пояснения.
Хелп там встроенный или нужно искать?
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеСр Окт 12, 2011 17:06    Ответить с цитатой
Полезность: Нет оценки
maestro пишет:

Натали, разберитесь вначале как операция ЦФТ компилируется в пакет, затем уже приступайте к сложным задачам типа создания job'ов.

Это можно где-то прочитать с первоисточника? или ЦФТ в такие тонкости клиентов не посвящает?
С джобами как раз таки вышло с полпинка.
Вот как теперь эти джобы запихать в отчет корректно...
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеСр Окт 12, 2011 17:12    Ответить с цитатой
Полезность: Нет оценки
Random пишет:

nataly, для тебя важно знать следующее:
1. То, что будет выполнять джоб, нужно размещать в закладке "Локальные описания"
2. сигнатуру помещать в "Глобальные описания"
3. действия, которые необходимо выполнить для управления интерфейсом на экранной форме операции - в закладку "Проверка"
4. а операции запуска джобов - в закладку "Тело".
5. В клиент-скрипт вообще не лезь без необходимости.

Спасибо, попробую перенести в Тело
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеСр Окт 12, 2011 21:31    Ответить с цитатой
Полезность: Нет оценки
nataly пишет:

_____________
ненавижу PLPLUS

А вот это, как бы, зря - PLPLUS это наше все, его надо любить и уметь готовить. И тогда он будет мягким и пушыстым Smile
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеЧт Окт 13, 2011 06:14    Ответить с цитатой
Полезность: Нет оценки
nataly пишет:
Девочка последние свои 20 лет только тем и занимается, что разгребает подобное быдлокодерство.

Ох, что-то не похоже на 20... максимум - год.
"Мы наш, мы новый мир построим... с блекджеком и леди. За выходные." как всегда.

nataly пишет:
По существу - сталкивался ли кто нибудь с такой ситуацией, когда в администраторе переписываешь plplus код, нажимаешь сохранить и компилировать, а пакет при этом остается не измененным, по F12 попадаешь на хрен знает какую строку пакета, не имеющую к текущей строке никакого отношения?

Вот именно такими вопросами я задавался.... давно.
Потом понял, что не в плюшках счастье. Уж правила перевода pl/+ в pl/sql я знаю и найти то, что ищу на любой закладке могу.

По F12 переключение происходит ПРИБЛИЗИТЕЛЬНО на то же место. Поскольку трудно установить взаимно-однозначное соответствие.
Ну и потом - ну улучшу я переход, будет перескакивать с точностью до буквы - а кто мне за это намажет сгущёнки на хлеб?

nataly пишет:
Как ни странно, ситуацию исправляет форматирование строчек PLPLUS-кода. После сдвига они становятся вдруг видимыми тупорылому компилятору.


1. форматирование - это первый навык, который нужно прокачивать.
Из-за форматирования я работу однажды про... потерял.
2. тупорылый компилятор конечно не фонтан, но если ныть, он лучше не станет. Умейте им пользоваться - и всё встанет на своё место (vtar +1)
3. именно благодаря pl/+ многие пользователи в банках стали писать свой код (сам видел). Да, неоптимальный, да, кривенький, но их задачи стали выполняться, а не висеть в воздухе, пока господин айтишник соизволит дойти до такой мелочи... более того, после pl/+ они стали учить SQL.
Так что PL/+ - двигатель прогресса! Smile

nataly пишет:
Хелп там встроенный или нужно искать?

Встроенный хелп вызывается по F1 и состоит из нескольких chm-файлов. Так что он поставляется вместе с АРМом.
Поищи в других разделах того же хелпа (приложения annex<цифры>.chm).

nataly пишет:
maestro пишет:
Натали, разберитесь вначале как операция ЦФТ компилируется в пакет, затем уже приступайте к сложным задачам типа создания job'ов.

Это можно где-то прочитать с первоисточника? или ЦФТ в такие тонкости клиентов не посвящает?


Вообще в хелпе про всё написано, вопрос только в том, что автор посчитал само собой разумеющимся. У каждой статьи - свой автор, и каждый пишет по-своему, поэтому уловить то, что написано вскользь бывает порой трудно.

В частности, про операции написано здесь: файл annex1.chm, статья Приложение 1->Основные сведения->Внутреннее устройство операции. Детали размазаны по другим статьям.

Лично я, когда устроился на работу, первым делом тупо прочитал ВЕСЬ хелп от начала до конца. И книжку по Oracle. По 8 часов в день. Потом я знал, где что искать. И Тома Кайта до сих пор почитываю Smile

Задавайте вопросы, как сможем - ответим Smile


Последний раз редактировалось: Random (Чт Окт 13, 2011 06:39), всего редактировалось 3 раз(а)
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеЧт Окт 13, 2011 06:17    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
nataly пишет:

_____________
ненавижу PLPLUS

А вот это, как бы, зря - PLPLUS это наше все, его надо любить и уметь готовить. И тогда он будет мягким и пушыстым Smile

А я люблю его жёстким и ершистым Smile
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеЧт Окт 13, 2011 09:13    Ответить с цитатой
Полезность: Нет оценки
nataly пишет:

_____________
ненавижу PLPLUS

Некрасиво и не вежливо так писать на форуме разработчиков ЦФТ.
Если Вы ненавидите PLPLUS, то возможно Вам не стоит работать с ЦФТ. Тем более, что судя по количеству глупых вопросов и истерических реплик, у Вас не очень-то и получается..
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеЧт Окт 13, 2011 10:19    Ответить с цитатой
Полезность: Нет оценки
maestro пишет:
nataly пишет:

_____________
ненавижу PLPLUS

Некрасиво и не вежливо так писать на форуме разработчиков ЦФТ.
Если Вы ненавидите PLPLUS, то возможно Вам не стоит работать с ЦФТ. Тем более, что судя по количеству глупых вопросов и истерических реплик, у Вас не очень-то и получается..

Да я на вежливость не претендую.
Вы ж не сильно со мной деликатничаете, когда я тут в чем-то косячу, так почему мне париться с откровеннми багами PLPLUS?
По поводу не очень-то получается - нада же, какое тонкое наблюдение Smile Только сейчас заметили ? Smile


Вобщем спасибо за советы Smile Заниматься мне этой хренью приходится только по той причине, что не удалось найти другого героя Smile Как-то все любители откосили Smile
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеЧт Окт 13, 2011 10:23    Ответить с цитатой
Полезность: Нет оценки
Random пишет:
nataly пишет:
Девочка последние свои 20 лет только тем и занимается, что разгребает подобное быдлокодерство.

Ох, что-то не похоже на 20... максимум - год.
"Мы наш, мы новый мир построим... с блекджеком и леди. За выходные." как всегда.

Ох, вы не поверите, сколько гениев на моей памяти разрабатывали собственные языки и модели, даже собственные СУБД. И какой ничтожный процент из всего этого получило путевку в жизнь Smile
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеЧт Окт 13, 2011 10:28    Ответить с цитатой
Полезность: Нет оценки
Random пишет:

Лично я, когда устроился на работу, первым делом тупо прочитал ВЕСЬ хелп от начала до конца. И книжку по Oracle. По 8 часов в день. Потом я знал, где что искать. И Тома Кайта до сих пор почитываю Smile

Задавайте вопросы, как сможем - ответим Smile


Спасибо Smile
В качестве благодарности готова ответить на любой ваш вопрос из сферы Оракла Smile
причем большей часть правильно Wink
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4  След.
Страница 3 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru