Текущее время: Чт, мар 28 2024, 19:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Создание сессии в SAP
СообщениеДобавлено: Чт, окт 27 2022, 16:11 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 08 2018, 14:09
Сообщения: 87
Откуда: Челябинск
Пол: Мужской
Добрый день!
Подскажите реально ли создать сессию в SAP по RFC? Т.е, например, ФМ1 создает сессию в 08:00, а ФМ2 удаляет эту же сессию в 08:15 (пользователь один и тот же)...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Чт, окт 27 2022, 20:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Что такое сессия по твоему?

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пт, окт 28 2022, 08:40 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 08 2018, 14:09
Сообщения: 87
Откуда: Челябинск
Пол: Мужской
Тогда вопрос на уровень глубже.
Возможно ли установить блокировку от изменений на стандартный объект в SAP (заказ, заявка) по RFC ? Аналогично, когда пользователь заходит в транкцию ME22N, остальные не смогут зайти в этот же заказ, пока 1 не выйдет.
Возможно ли организовать работу пользователя при подключении из внешней системы, аналогично возможностям с диалоговым режимом (блокировки и т.д), закрытие внешней системы = закрытие сессии в SAP ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пт, окт 28 2022, 09:40 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
proga19 написал:
Тогда вопрос на уровень глубже.
Возможно ли установить блокировку от изменений на стандартный объект в SAP (заказ, заявка) по RFC ? Аналогично, когда пользователь заходит в транкцию ME22N, остальные не смогут зайти в этот же заказ, пока 1 не выйдет.
Возможно ли организовать работу пользователя при подключении из внешней системы, аналогично возможностям с диалоговым режимом (блокировки и т.д), закрытие внешней системы = закрытие сессии в SAP ?

По RFC могут работать все BAPI, в том числе BAPI изменения закупочного заказа. И там блокировка работает по умолчанию в том числе и по RFC.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пт, окт 28 2022, 09:53 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 131
Откуда: Набережные Челны
Пол: Мужской
Теоретически, разве нельзя через RFC запустить фоновое задание? А там уже оно пусть блокирует нужные объекты и работает столько, сколько нужно?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пт, окт 28 2022, 09:54 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 08 2018, 14:09
Сообщения: 87
Откуда: Челябинск
Пол: Мужской
Всё верно.
Только задача не просто послать изменения из внешней системы в SAP, а открыть этот объект, подождать и только потом сделать изменения.
В этот момент "подождать" никто другой не должен вносить изменения, пока не отработает первый.
Возможно ли реализовать такое по RFC или с помощью каких то других технологий?

Смысл в том, что интерфейс карточки объекта мы рисуем на WEB форме, т.к там мы можем расположить объекты, как нам угодно (без ограничений по длине симвовлов полей и т.д), а база остается в SAP-е от него пока не уйти.
Поэтому идея в том, чтобы не дать никому вносить изменения в этот объект SAP-а, пока USER1 не закончит с ним работу.....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пт, окт 28 2022, 13:28 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
proga19 написал:
Всё верно.
Только задача не просто послать изменения из внешней системы в SAP, а открыть этот объект, подождать и только потом сделать изменения.
В этот момент "подождать" никто другой не должен вносить изменения, пока не отработает первый.
Возможно ли реализовать такое по RFC или с помощью каких то других технологий?

Смысл в том, что интерфейс карточки объекта мы рисуем на WEB форме, т.к там мы можем расположить объекты, как нам угодно (без ограничений по длине симвовлов полей и т.д), а база остается в SAP-е от него пока не уйти.
Поэтому идея в том, чтобы не дать никому вносить изменения в этот объект SAP-а, пока USER1 не закончит с ним работу.....

Вы же по RFC вызываете в SAP какой-то Функциональный модуль? В нём и заблокируйте нужный объект от изменений.


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

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 473
Пол: Мужской
proga19 написал:
Смысл в том, что интерфейс карточки объекта мы рисуем на WEB форме, т.к там мы можем расположить объекты, как нам угодно (без ограничений по длине симвовлов полей и т.д), а база остается в SAP-е от него пока не уйти.
В рамках концепции блокировок SAP, боюсь, не получится. Насколько понимаю, вы хотите первым RFC-вызовом заблокировать объект, а последующим сохранить изменения и разблокировать?


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

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 473
Пол: Мужской
broker.chelny написал:
Теоретически, разве нельзя через RFC запустить фоновое задание? А там уже оно пусть блокирует нужные объекты и работает столько, сколько нужно?

Можно и так, только потом разбираться с такой "самодеятельностью" будет сложно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пт, окт 28 2022, 20:33 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 08 2018, 14:09
Сообщения: 87
Откуда: Челябинск
Пол: Мужской
Самая большая проблема в том, что когда USER1 зайдет на редактирования объекта на WEB-страницу, мы заблокируем объект в SAP, а он потом возьмет и просто закроет браузер. Как мы в этом случае снимем блокировку в SAP?

Это для размышления, мысли вслух...
Если бы была технология, которая бы устанавливала онлайн-связь с SAP-ом, а не просто запрос бы делала....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пт, окт 28 2022, 20:34 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 08 2018, 14:09
Сообщения: 87
Откуда: Челябинск
Пол: Мужской
Korvax написал:
proga19 написал:
Смысл в том, что интерфейс карточки объекта мы рисуем на WEB форме, т.к там мы можем расположить объекты, как нам угодно (без ограничений по длине симвовлов полей и т.д), а база остается в SAP-е от него пока не уйти.
В рамках концепции блокировок SAP, боюсь, не получится. Насколько понимаю, вы хотите первым RFC-вызовом заблокировать объект, а последующим сохранить изменения и разблокировать?


Да, всё верно.....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Сб, окт 29 2022, 09:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
proga19 написал:
Самая большая проблема в том, что когда USER1 зайдет на редактирования объекта на WEB страницу, мы заблокируем объект в SAP, а потом возьмет и просто закроет браузер, как мы в этом случае снимем блокировку в SAP?

Логичным кажется способ, при котором на стороне SAP бы хранилась информация о том, с какого фронтенда был выполнен вход, при каждом обращении к RFC/OData/Web-сервису эта информация бы обновлялась.
В этом случае можно отследить период неактивности и сбрасывать блокировки к этой сессии.

proga19 написал:
Это для размышления, мысли в слух...
Если бы была технология, которая бы устанавливала онлайн связь в SAP-ом, а не просто запрос бы делала....

В старом CRM была такая технология - stateful, при этом управление web-интерфейсом происходило через SAP.
Но идеология stateless такое не позволяет, т.к. управление фронтэндом не связано с бэкендом..
Но как я писал выше, ситуацию можно решить с помощью 2-х дополнительных сервисов - вход в сессию/обновление сессии и выход из сессии.
Фактически это будет аналог работы с SAP GUI.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Вс, окт 30 2022, 12:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Тут кто-то изобретает концепцию BOPF + Odata. И у вас явно не хватает для этого понимания того, как сап устроен. Лучше не стоит. Выдавайте пользователю ошибку в своем вебе, если что-то пошло не так и объект поменялся.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пн, окт 31 2022, 08:00 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 08 2018, 14:09
Сообщения: 87
Откуда: Челябинск
Пол: Мужской
Kengur написал(а):
Тут кто-то изобретает концепцию BOPF + Odata. И у вас явно не хватает для этого понимания того, как сап устроен. Лучше не стоит. Выдавайте пользователю ошибку в своем вебе, если что-то пошло не так и объект поменялся.

В таком случае, например, USER1 изменяет объект и ставит ему статус "K9" - т.е изменять объект нельзя (например, в ДМС-объекте). Сохраняет всё ок.
В это же время USER2 тоже редактирует этот же объект и сохраняет уже после USER1.
Получается, кто последний, тот и сохранил (но при этом статус USER1 уже не предполагает изменений).

Тогда при каждом изменении в SAP нужно ещё проверять, можно менять или нет.......
Спасибо.
Знаний действительно не хватает, а тема интересная!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание сессии в SAP
СообщениеДобавлено: Пн, окт 31 2022, 11:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1570
Откуда: Пермь
Пол: Мужской
Наколхозить-то более или менее можно и через обычные блокировки.
1. Пользователь открыл WEB-интерфейс: отправка в sap через rfc информации о блокировке объекта.
2. Зафиксировать допустимое время работы с объектом, например, 15 минут.
3. При сохранении из Web-интерфейса отправка в sap через rfc изменений и снятие блокировки.
4. При незакрытом web-интерфейсе выкидывать сообщение "Продлевать будете?" При нажатии "Да" отправка в sap через rfc запроса на снятие блокировки и мгновенное блокирование повторно. При этом время блокирования объекта обновляется в sap. При нажатии "Нет" выходить из интерфейса, отправлять в sap снятие блокирования.
5. Все это время в фоне в SAP работает программа, которая каждые N минут проверяет, когда был блокирован объект. При достижении критичного порога снимать блокировку принудительно (предполагая, что ранее в web-интерфейсе пользователь продлил или вышел). При этом предполагается, что время счетчика в sap в фоне должно чуточку превышать время счетчика в web-интерфейсе, потому что после достижения 15 минут и долгого разглядывания сообщения в web-интерфейсе объект в sap уже будет разблокирован. Например, контроль в фоне в сапе 20 минут, в интерфейсе 15 минут. Разница между этими двумя отметками - это холостое простаивание объекта в заблокированном состоянии при закрытом браузере или при игнорировании сообщения в web-интерфейсе.
6. Финальная нотка - это определение времени на обработку сообщения о продлении в web-интерфейсе. Например, на принятие решения после всплытия сообщения дается минута. Таким образом, 15 минут до вывода сообщения, минута на обработку (после отсутствия реакции останавливать работу в web-сервисе). В фоне в сапе обрубать после 17 минут. Программа в фоне могла бы работать каждые N минут (чем меньше будет шаг, тем меньше будет холостое простаивание). Сама программа абсолютно невесомая, нагрузки на систему не дает особой: посмотреть все заблокированные типовые объекты и отследить время блокирования. При достижении критического времени X снимать блокировку.

Ссаными тряпками не кидаться :D

_________________
Алё, это Пакистан? Нам нужен один килограмм


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

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


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

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


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

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