Текущее время: Пт, апр 19 2024, 00:08

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Флаг блокировки на время расчета
СообщениеДобавлено: Пт, дек 17 2021, 16:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Привет,
Собственно в HR спрашивал, но вопрос технический.
Нужно организовать блокировку запуска определенных транзакций на время расчёта аванса.
Нашёл расширения куда вставить контроль флажка блокировки (FP50PE11_DO_NOTHING).
Вопрос - как "флажок" лучше организовать? Смотрел SET/GET, MEMORY ID - не то что-то...думал через учётки - не хочется давать доступ..Z-таблу?
Куда вставить тоже нашёл - (Z)HFIUCPL0.
Подбросьте, плз, идею :)
p.s. предчувствие, что решение простое и "где-то вот" :)

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Флаг блокировки на время расчета
СообщениеДобавлено: Пт, дек 17 2021, 19:44 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Ну как бы объект блокировки для SM12 создаете и пользуетесь им.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Флаг блокировки на время расчета
СообщениеДобавлено: Вт, дек 28 2021, 12:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
LKU написал:
Ну как бы объект блокировки для SM12 создаете и пользуетесь им.

Перепробовал разные варианты, но пришлось z-табличкой
Как, интересно, закрыть свою сессию без дампа? Выйти корректно не пролучается из DO_NOTHING - пришлось raise exception...

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Флаг блокировки на время расчета
СообщениеДобавлено: Чт, дек 30 2021, 09:53 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Если я правильно понимаю, то DO_NOTHING вызывается из LOAD-OF-PROGRAM. А из него нельзя вызывать процедуры, прекращающие выполнение блока.
https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapload-of-program.htm
Цитата:
Global data objects of the program can be initialized here. The event block must be fully executed, otherwise a runtime error occurs. This means that statements can be specified that exit the event block without returning to it.


Тем не менее можно попробовать просто завершить выполнение программы без дампа, такой конструкцией:
Code:
MESSAGE 'Блокировано на время расчета аванса' TYPE 'S' DISPLAY LIKE 'E'.
LEAVE PROGRAM.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Флаг блокировки на время расчета
СообщениеДобавлено: Ср, янв 19 2022, 15:46 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
Skif написал:
LKU написал:
Ну как бы объект блокировки для SM12 создаете и пользуетесь им.

Перепробовал разные варианты, но пришлось z-табличкой

С z-табличкой настройки и накладываемой на её записи enqueue-блокировкой?
Довольно удобно получается - прописал в табличке нужное число записей на все транзакции, подлежащие блокировке; заблокировал их программно при старте расчёта; если расчёт закончен, или вылетел дампом, блокировки сами снялись.

Заодно этим же функционалом решается задача "ограничить количество одновременно запускаемых экземпляров тяжёлой транзакции - кто первый зашёл, того и тапки" :)


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

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


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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