Текущее время: Ср, авг 20 2025, 06:35

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Пакет планированя в BI BPS
СообщениеДобавлено: Пт, дек 18 2009, 15:42 
Ассистент
Ассистент

Зарегистрирован:
Пн, ноя 23 2009, 17:05
Сообщения: 48
Добрый день коллеги!

Подскажите пожалуйста такой вопрос: Мне нужно при выполнении функции планированя (которая выполняется на уровне с 3-мя пакетами) в зависимости от того на каком пакете она выполняется делать в коде разные вычисления. В связи с этим мне нужно както получить в АВАР коде значение (именя) пакета на котором в данное время отрабатывает функция.
Вапрос: Можно ли както внутри кода программы динамически получать значенин пакета на котором в данное время она отрабатывает?

Огромное спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пт, дек 18 2009, 20:33 
Почетный гуру
Почетный гуру

Зарегистрирован:
Чт, фев 03 2005, 10:18
Сообщения: 503
Попробуйте создать функцию планирования "Функция программы пользователя (exit)" и выбрать один из ФМ: UPF_MODIFY_KEY_FIGURE, UPF_EXIT_INIT_EXAMPLE_01, TEMPLATE_EXIT.
В них вроде бы передается пакет планирования.
Можно будет посмотреть откуда оно приходит.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 12:27 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
В функцию планирования передаются параметры:
1) I_PACKAGE - имя пакета,
2) ITO_CHASEL - табличка ограничений

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 12:45 
Ассистент
Ассистент

Зарегистрирован:
Пн, ноя 23 2009, 17:05
Сообщения: 48
В этих модулях на вход подается название пакета, а вот интересует как его получить на выходе в зависимости от того на каком пакете выполняется функция?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 13:16 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
Lester написал(а):
В этих модулях на вход подается название пакета, а вот интересует как его получить на выходе в зависимости от того на каком пакете выполняется функция?

Что-то совсем непонятно что вы хотите сделать? Что значит "получить на выходе"?

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 13:21 
Ассистент
Ассистент

Зарегистрирован:
Пн, ноя 23 2009, 17:05
Сообщения: 48
Хочу при запуске одной и той же функции на разных пакетах получать имя этих пакетов внутри этой функции заранее не зная на каком пакете она будит отрабатывать. Т.е. К примеру внутри функции стоит IF который в проверяет имя пакета, на котором в данный момент отрабатывает функция и в зависимости то этого выполняет разные сегменты кода.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 13:39 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
Ну так проверяете IF I_PACKAGE = <пакет1> в коде - в чем проблема???

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 15:01 
Ассистент
Ассистент

Зарегистрирован:
Пн, ноя 23 2009, 17:05
Сообщения: 48
Я прост не знаю к какой таблице пренадлежит это поле? Просто нужно это делать еще и в ФОХ формулах и соответственно надо написать модуль, который проверяет название этого пакета, а через какую функцию его можно получить я не знаю...... Или какая системная таблица заполняется значением актуального пакета? Т.Е Суть в том, что мне надо это значение получить на в самой функции планирования типа EXIT, а написать ФМ который бы получал его. Нашел вот эту функцию, току она чето не работает....


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 15:26 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
Ну сходу могу предложить решение в лоб из последовательности планирования, содержащую 2 функции:
1) функция планирования типа exit, пишете ФМ только для инициализации (т.к. запустить процедуру надо только 1 раз) и для основного ФМа используете TEMPLATE_EXIT. В ините делаете EXPORT <пакет1> TO MEMORY ID имя пакета.
2) FOX-функция, в ней вызываете некий ФМ, который делает IMPORT <пакет1> FROM MEMORY ID и им возвращаете в FOX искомое имя пакета.

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

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 15:54 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
Soulsurfer написал(а):
Вообще я бы не завязывался на такую схему работы, а все-таки придумал иной способ, чем завязывать логику на тех.имя пакета.

+1
FOX это все же язык формул, а не язык программирования. Проще написать несколько похожих формул под каждый пакет (в каждой поставить комментарий, что править в случае ошибки или изменения логики), чем огород городить.

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 17:55 
Ассистент
Ассистент

Зарегистрирован:
Пн, ноя 23 2009, 17:05
Сообщения: 48
Soulsurfer, G
Наверное вы правы... С функцией типа выход все элементарно... справился с этим через ФМ UPC_TRACE_PACKAGE_GETDETAIL , хотя, можно было и через другие ФМы... но, в ФОХе когда я вызываю эту функцию косвенно (через CALL FUNCTION), она не возвращает ничего, т.к. ничего не получает... К, стати, тоже интересно почиму....?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Пн, дек 21 2009, 18:27 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
Не знаю, зачем вам UPC_TRACE_PACKAGE_GETDETAIL, но есть следующие ограничения для вызовов ФМ в FOX:
справка написал(а):
EXPORTING, IMPORTING, and CHANGING parameters can be transferred to function modules. The parameters have to have simple types (F, I, D, STRING and types of characteristics and attributes). Class references, structures and some table parameters are not permitted. All non-optional IMPORTING parameters for a function module have to be filled. If the function module raises an exception, you have to work with construct MESSAGE .... RAISING. This is shown in the following example. The messages are transferred to the log. Class-based exceptions are also not permitted.

В моем варианте ограничения можно тоже экспортировать в первом ФМе и импортировать во втором. Вариант с использованием API_SEMBPS_PACKAGE_GETDETAIL увы не прокатит, т.к. не будет подхватывать изменения в переменных :)

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Вт, дек 22 2009, 17:49 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, фев 11 2008, 16:13
Сообщения: 59
Откуда: UA_Kyiv
Пол: Мужской
Прикол в том, что я нашело довольно таки много модулей из группы функций UPC_TRACE которые получают значение текущего пакета планирования, но проблема в том, что не один из них его не возвращает через импорт, они просто получаются в тело этих модулей через перформ и от туда никуда не идут больше. Т.Е. нет не одного модуля, который бы на импорт подавал значение пакета планирования.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Ср, дек 23 2009, 12:38 
Ассистент
Ассистент

Зарегистрирован:
Пн, ноя 23 2009, 17:05
Сообщения: 48
Решил проблему с определением значения пакета! Всем спасибо!

Осталась одна проблема, когда вызываю эту функцию косвенно (из другого ФМ) то она не работает, а когда непосредственно на этом фм отрабатывает функция выхода, тогда все ок.
Поясните пожалуйста, кто может, из за чего такая фигня??


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакет планированя в BI BPS
СообщениеДобавлено: Ср, дек 23 2009, 17:42 
Ассистент
Ассистент

Зарегистрирован:
Пн, ноя 23 2009, 17:05
Сообщения: 48
Решил данную проблему, кому интересно, рассказываю:
В функции типа user exit просто подвесил модуль в котором без проблем считываю значения пакета. Потом делаю set parameters id: i_pack А в ФОХе вызываю другой модуль, в котором get parameters id: i_pack.
Единственный изъян это то, что на каждом уровне, в котором надо сдельть такой вызов в ФОХе предварительно надо подвесить такую функцию user exit.
Думаю, что это наилучшее решение.
Всем спасибо за помощь!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB