Текущее время: Ср, май 14 2025, 15:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Ограничение на запуск единственного экземпляра. Как?
СообщениеДобавлено: Пт, июл 15 2005, 07:53 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Как при запуске своего скрипта сделать так, чтобы запущенный процесс блокировал повторный запуск себя же. Типа "Запуск невозможен. Пользователь AIvanov уже работает с данной программой".

Где там семафоры и как предотвратить ситуацию когда зависшая прога не отпустит семафор?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 08:03 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Семафор нужно поставить в самом начале, а отпускать в самом конце. Нужно будет создать объект блокирования, в котором только одно поле - мандант. Зависшие блокировки отпускать, думаю, только через SM12.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 08:13 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
А можно как-нибудь типа

Code:
IF GetProcessStatus('MyProgramName', flGetStatus) = flExecuted.
   Message('Уже запущено пользователем ' + GetProcessStatus('MyProgramName', flGetUser))
ELSE.
   // Основной код программы
ENDIF.


?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 08:30 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
И еще насчет SM12...
Как ее правильно пользовать? Где можно посмотреть примеры использования таких блокировок, почитать документацию?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 08:35 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
lumer написал:
И еще насчет SM12...
Как ее правильно пользовать? Где можно посмотреть примеры использования таких блокировок, почитать документацию?


можно сделать объект блокирования на фиктивную таблицу и её лочить. В sy-msgv1 будет имя того, кто уже залочил таблицу.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 09:51 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Можно кусок кода или ссылку?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 10:02 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
lumer написал:
Можно кусок кода или ссылку?


конечно можно
в SE11 - пункт "Объект блокирования"


потом в АВАР чтото похожее на :

CALL FUNCTION 'ENQUEUE_EZWMS2_PP_LOCK'
EXPORTING
mode_zwms2_pp_plan = 'E'
mandt = sy-mandt
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID 'ZSHRMSG' TYPE 'E' NUMBER '005' WITH sy-msgv1.
EXIT.
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 10:24 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 14:35
Сообщения: 1519
Откуда: В ВЕЧНОМ БАНЕ
А можно просо использовать поиск по форума тут есть такой большой себе трейд на эту тему... :P


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 10:43 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 26 2004, 05:04
Сообщения: 922
Откуда: Челябинск
Пол: Мужской
Можно просто использовать блокировку по индексу, а то что в этот индекс всобачишь - это уже твое личное дело.

_________________
Все будет хорошо...
http://sap-blog.ru/


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 10:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
А почему бы не использовать память SAP? Заполнять/чистить переменную, например.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 10:54 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 26 2004, 05:04
Сообщения: 922
Откуда: Челябинск
Пол: Мужской
Parazit написал:
А почему бы не использовать память SAP? Заполнять/чистить переменную, например.

Другой пользователь эту переменную не увидит, если только в бд

_________________
Все будет хорошо...
http://sap-blog.ru/


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 15 2005, 11:09 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 26 2004, 05:04
Сообщения: 922
Откуда: Челябинск
Пол: Мужской
ENQUEUE_ESINDX

_________________
Все будет хорошо...
http://sap-blog.ru/


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

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


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

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


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

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