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

Часовой пояс: 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 часа


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

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


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

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