Текущее время: Сб, июл 05 2025, 08:00

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Монопольный доступ к работе с программой
СообщениеДобавлено: Пн, окт 03 2005, 06:48 
Гость
В общем такая проблема, когда несколько пользователей одновременно создают акт приемки-передачи ОС, то у всех генерируется один и тот же номер акта, как сделать монопольный доступ пользователя к программе, то есть пока один пользователь заводит акт, второй не имеет доступа к этой операции?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 06:56 
Директор
Директор
Аватара пользователя

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

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 07:11 
Гость
А можно подробнее на счет этого индекса?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 07:18 
Директор
Директор
Аватара пользователя

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

зы Если что, то блокировку может снять и Админ.

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 07:55 
Гость
то есть CALL FUNCTION 'DEQUEUE_ESINDX'
EXPORTING
srtfd = 'PRNAME'.
if sy-sybrc = 0.
и дальше продолжение программы, а как в конце?
CALL FUNCTION 'DEQUEUE_ESINDX'
importing
srtfd = 'PRNAME'?
PS не работала с функциями :oops:


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 07:58 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 26 2004, 05:04
Сообщения: 922
Откуда: Челябинск
Пол: Мужской
Code:
  call function 'ENQUEUE_ESINDX'
       exporting
            relid          = 'ZZ'
            srtfd          = index
            srtf2          = 0
       exceptions
            foreign_lock   = 1
            system_failure = 2.
  if sy-subrc ne 0.
* bla bla bla... go to hell!!!
  else.
ну тут уже что надо то и делай
  endif

  call function 'DEQUEUE_ESINDX'
    exporting
*       MODE_INDX       = 'E'
*       MANDT           = SY-MANDT
       relid           = 'ZZ'
       srtfd           = index
       srtf2           = 0
*       X_RELID         = ' '
*       X_SRTFD         = ' '
*       X_SRTF2         = ' '
*       _SCOPE          = '3'
*       _SYNCHRON       = ' '
*       _COLLECT        = ' '
             .

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 08:20 
Гость
что-то не работает:(


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 09:00 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Единственное, что мне неясно (доки к ф.модулю нет, к сожалению...), как будет вести себя такая блокировка при аварийном завершении программы: удалится ли она автоматом или нет. Если нет, как отловить "пустую" блокировку?


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

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Это зависит от значения параметра _SCOPE - см. справку по технологии блокировок.

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 09:06 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Проверил - все работает. Более того, если выйти из программы (вообще), то блокировка снимается автоматом - ф.модуль DEQUEUE_ESINDX я не использовал.

З.Ы. Извини, Ники, твой пост не видел. Пока отвечал сам себе, один пост успел проскочить... :)
Спасибо за идеи и практические примеры! (это всем, не только Нику:)


Последний раз редактировалось RoadRunner Пн, окт 03 2005, 09:13, всего редактировалось 1 раз.

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

Зарегистрирован:
Чт, авг 26 2004, 05:04
Сообщения: 922
Откуда: Челябинск
Пол: Мужской
RoadRunner написал:
Проверил - все работает. Более того, если выйти из программы (вообще), то блокировка снимается автоматом - ф.модуль DEQUEUE_ESINDX я не использовал

некоректно однако :roll:

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


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

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


приведите ваш код, плс

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 09:22 
Гость
* Global Data
INCLUDE ZAATX012_TOP.
DATA INDEX LIKE INDX-PGMID.
CALL FUNCTION 'DEQUEUE_ESINDX'
EXPORTING
RELID = 'ZZ'
SRTFD = INDEX
SRTF2 = 0
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2.

IF SY-SUBRC NE 0.


МESSAGE s001 WITH 'Акт приемки-передачи формируется другим пользоватем'.
ENDIF.
* PBO Module
INCLUDE ZAATX012_PBO.
* PAI Module
INCLUDE ZAATX012_PAI.
INCLUDE ZAATX012_FORM.

*&---------------------------------------------------------------------*
*& Form VIG_EXCEL
*&---------------------------------------------------------------------*

CALL FUNCTION 'DEQUEUE_ESINDX'
EXPORTING
RELID = 'ZZ'
SRTFD = INDEX
SRTF2 = 0.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 03 2005, 09:34 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Дык, вначале надо вызывать ENQUEUE_ESINDX!


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

Зарегистрирован:
Вт, авг 17 2004, 16:09
Сообщения: 202
А если у вас 50 человек должны ети акты вводить - а один начал ето делать и ушел в отпуск :) - понятно что можно выкинуть - но не в эетом дело - для решение таких задач специально было придумано нумерация.
Транзакция SNUM - создаем новый диапазон номеров

ФМ NUMBER_GET_NEXT - получение номеров - хоть 200 человек могут теперь вводит ваши документы - каждому будет выдан свой номер ... :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2, 3  След.

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


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

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


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

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