Текущее время: Вс, июл 27 2025, 12:14

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Собственные блокировки в сгенерированном диалоге ведения
СообщениеДобавлено: Пт, июн 25 2010, 17:39 
Ассистент
Ассистент

Зарегистрирован:
Чт, окт 05 2006, 16:13
Сообщения: 36
Всем привет,

Есть 4 Z-таблицы и 4 Z-ракурса (ракурсы нужны только для подтягивания текстового описания). По каждому ракурсу сгенерирован отдельный диалог ведения. Впрочем, извиняюсь - то что таблиц 4, а не 1 не играет никакой роли.
Диалоги ведения вызываются из транзакции, каждый - по отдельной кнопке.
Вызов диалога ведения - с помощью ФМ VIEW_MAINTENANCE_CALL в который с помощью параметра DBA_SELLIST (это - внутренняя таблица) передается фильтр - какие записи в диалоге ведения отображать.
Когда вызывается диалог ведения сгенерированный САПом код блокирует всё содержимое Z-таблицы.
Хотелось бы чтобы блокировалась лишь та часть записей, которая отображается (т.е. согласно критериям переданным в параметре DBA_SELLIST).
Есть ли возможность этого добиться, продолжая использовать сгенерированный диалог ведения и без вмешательства грязными руками в сгенерированный код (например используя моменты времени или еще чего в этом духе)?

В голову приходит создать форму на событие 14 'After lock/unlock in main function module' (см также список событий ниже в этом посте) и в ней
1) снять блокировку с таблицы и
2) заблокировать нужную область данных.
Смущает в этом решении то что доступ в этом сценарии всё равно возможен будет только монопольный:
-Пользователь1 заблокировал часть данных (заблокировал сначала всё, потом эта блокировка моей формой снимается и накладывается другая, на часть записей)
-Пользователь2 согласно сгенерированному коду пытается заблокировать сначала всю таблицу и из этого, конечно, ничего не получается, потому что Пользователь1 ужЕ работает с малой частью записей.

Возможно кто-то сталкивался -
может есть способ попросить ФМ ведения накладывать блокировку только на часть записей указанных в DBA_SELLIST,
может перед генерированием диалога ведения можно крыжик какой выставить,
может есть более подходящие моменты времени для вмешательства...

На всякий случай напомню список событий...
Цитата:
Extended Table Maintenance Events (SE54)
Event 01 before saving the data in the database
Event 02 after saving the data in the database
Event 03 before deleting data in the display
Event 04 after deleting data in the display
Event 05 when inserting a new entry
Event 06 after completely performing the function 'Get original'
Event 07 before correcting the contents of a selected field
Event 08 after correcting the contents of a selected field
Event 09 after 'Get original' for one entry
Event 10 after creating the change request header entry
Event 11 after changing a key entry in the change request
Event 12 after changing the key entries in the change request
Event 13 end processing (leave main function module)
Event 14 after lock/unlock in main function module
Event 15 before retrieving deleted entries
Event 16 after retrieving deleted entries
Event 17 before printing entries
Event 18 after the data change check
Event 19 after initializing global variables, field symbols, etc.
Event 20 after input in date subscreen (time-dep.tables/views)
Event 21 fill hidden fields
Event 22 go to long text maintenance for other languages
Event 23 before calling address maintenance screen
Event 25 at start of maintenance dialog
Event 26 before displayed data is output in a list
Event 27 after filling a GUID field
Event AA instead of the standard data read routine
Event AB instead of the standard database change routine
Event AC instead of the standard 'Get original' routine
Event AD instead of the standard RO field read routine
Event AE instead of the standard positioning code
Event AF instead of reading texts in other languages
Event AG instead of 'Get original' for texts in other languages
Event AH instead of database changes for texts in other languages
Event ST GUI menu main program name


Спасибо


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

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
я бы попробовала создать свой объект блокировки в SE11 и нарисовала свои экраны ведения.

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собственные блокировки в сгенерированном диалоге ведения
СообщениеДобавлено: Пн, июн 28 2010, 16:24 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Silence1 написала:
я бы попробовала создать свой объект блокировки в SE11 и нарисовала свои экраны ведения.

Здорово!!!
Почемы бы просто тогда не взять и не переписать вес SAP заодно?

Boozila написал(а):
... Вызов диалога ведения - с помощью ФМ VIEW_MAINTENANCE_CALL ...

Используйте другие ФМ
Extended table maintenance

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собственные блокировки в сгенерированном диалоге ведения
СообщениеДобавлено: Вт, июн 29 2010, 07:59 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
sy-uname написал(а):
Здорово!!!
Почемы бы просто тогда не взять и не переписать вес SAP заодно?

Речь вроде идет о своих z-таблицах, или я чего-то не поняла? Свой бизнес-процесс, своя логика этого процесса. И чем же плоха идея для реализации этого нарисовать свой экран и обработать логику его заполнения?
Извиняюсь, что спорю с гуру :lol:

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собственные блокировки в сгенерированном диалоге ведения
СообщениеДобавлено: Вт, июн 29 2010, 08:12 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Silence1 написала:
Речь вроде идет о своих z-таблицах, или я чего-то не поняла? Свой бизнес-процесс, своя логика этого процесса. И чем же плоха идея для реализации этого нарисовать свой экран и обработать логику его заполнения?
Извиняюсь, что спорю с гуру :lol:

Таблицы то Z, да только ракурс ведения - вещь стандартная. Конечно можно нарисовать Z-программы для ведения Z-таблиц, но зачем рисовать, если можно не рисовать? Если функциональности стандартного ракурса ведения вполне достаточно?

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собственные блокировки в сгенерированном диалоге ведения
СообщениеДобавлено: Вт, июн 29 2010, 08:58 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
sy-uname написал(а):
Таблицы то Z, да только ракурс ведения - вещь стандартная. Конечно можно нарисовать Z-программы для ведения Z-таблиц, но зачем рисовать, если можно не рисовать? Если функциональности стандартного ракурса ведения вполне достаточно?

В принципе да, согласна, можно обойтись стандартом, если его хватает.
Но иногда хочется ведь что-нибудь и самой "порисовать" :D , почувствовать хоть чуточку себя "художником", а не просто "сборщиком бетонных блоков" :gigi:

_________________
Silence v.2.0


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

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


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

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


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

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