Текущее время: Пт, мар 01 2024, 16:14

Часовой пояс: 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
Сообщения: 470
Пол: Мужской
proga19 написал:
Смысл в том, что интерфейс карточки объекта мы рисуем на WEB форме, т.к там мы можем расположить объекты, как нам угодно (без ограничений по длине симвовлов полей и т.д), а база остается в SAP-е от него пока не уйти.
В рамках концепции блокировок SAP, боюсь, не получится. Насколько понимаю, вы хотите первым RFC-вызовом заблокировать объект, а последующим сохранить изменения и разблокировать?


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

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 470
Пол: Мужской
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
Сообщения: 3073
Откуда: Москва
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
Сообщения: 1564
Откуда: Пермь
Пол: Мужской
Наколхозить-то более или менее можно и через обычные блокировки.
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 часа


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

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


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

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