SAPфорум.RU
https://www.sapboard.ru/forum/

Изменение DMS документа
https://www.sapboard.ru/forum/viewtopic.php?f=77&t=44248
Страница 1 из 1

Автор:  _Shurik_ [ Чт, ноя 20 2008, 00:00 ]
Заголовок сообщения:  Изменение DMS документа

Здравствуйте!
Может кто-нибудь подскажет, как можно проконтролировать изменяет ли пользователь DMS документ из меню SAP (тр. CV02N) или выполняет ЭПО по его изменению из своего Business Workplace. Или как можно запретить изменение DMS документа из меню SAP, чтобы пользователь мог изменять его только из Business Workplace.

Автор:  John Doe [ Чт, ноя 20 2008, 10:41 ]
Заголовок сообщения: 

Поскольку метод EDIT у бизнес-объекта DRAW основан как раз на транзакции CV02N - то определить либо будет невозможно, либо очень нетривиально. Я склоняюсь к первому.

Я бы создал свой БО на основе DRAW и переопределил метод EDIT на собственную транзакцию в которой бы и проверял вариант запуска. К примеру, можно передавать какой нибудь флаг в методе БО через SET/GET параметр и считывать в своей транзакции: есть флаг - режим редактирования, нет флага - просмотр.

Автор:  _Shurik_ [ Чт, ноя 20 2008, 12:01 ]
Заголовок сообщения: 

John Doe написал:
Я бы создал свой БО на основе DRAW и переопределил метод EDIT на собственную транзакцию в которой бы и проверял вариант запуска. К примеру, можно передавать какой нибудь флаг в методе БО через SET/GET параметр и считывать в своей транзакции: есть флаг - режим редактирования, нет флага - просмотр.

А можно подробнее про переопределение транзакции..... Метод EDIT я уже переделал, но транзакция там у меня используется таже. Но это наверное врядли поможет. Ведь пользователь будет запускать из меню SAP именно CV02N.

Автор:  John Doe [ Чт, ноя 20 2008, 12:57 ]
Заголовок сообщения: 

Извиняюсь, но с транзакцией видимо тоже не получится.
Остается самый страшный и некрасивый вариант - поабапить и то только при условии, что система ECC 6.0.
В группе функций CV110, в подпрограмме D100_INIT_DATA создать точку расширения после определения транзакции, в которой считывать передаваемый флаг и подменять значение переменной GF_TRANSACTION. Таким образом можно полностью отрубить возможность редактирования "не-через-поток".

Но это как-то дико...

Автор:  Monarch [ Пн, дек 15 2008, 15:06 ]
Заголовок сообщения:  Re:

John Doe написал:
Извиняюсь, но с транзакцией видимо тоже не получится.
Остается самый страшный и некрасивый вариант - поабапить и то только при условии, что система ECC 6.0.
В группе функций CV110, в подпрограмме D100_INIT_DATA создать точку расширения после определения транзакции, в которой считывать передаваемый флаг и подменять значение переменной GF_TRANSACTION. Таким образом можно полностью отрубить возможность редактирования "не-через-поток".

Но это как-то дико...


Лучше активировать расширение и использовать ГФ XCV110.

Автор:  _Shurik_ [ Вт, дек 23 2008, 17:39 ]
Заголовок сообщения:  Re: Re:

Monarch написал(а):
Лучше активировать расширение и использовать ГФ XCV110.

так ведь это расширение добавляет пользовательскую закладку в инфокарточке :?

Автор:  Monarch [ Чт, дек 25 2008, 12:52 ]
Заголовок сообщения:  Re: Re:

_Shurik_ написал(а):
Monarch написал(а):
Лучше активировать расширение и использовать ГФ XCV110.

так ведь это расширение добавляет пользовательскую закладку в инфокарточке :?

Это расширение много чего позволяет сделать)
А насчет закладок - их можно добавить до 3-х штук, но это произойдет, если соотв. переменным (PFX_TAB*) названия присвоить в ФМ 'EXIT_SAPLCV110_001'.

Автор:  slim [ Пн, фев 07 2011, 16:42 ]
Заголовок сообщения:  Re: Re:

Monarch написал(а):
А насчет закладок - их можно добавить до 3-х штук, но это произойдет, если соотв. переменным (PFX_TAB*) названия присвоить в ФМ 'EXIT_SAPLCV110_001'.
Добрый день.
Подскажите пожалуйста каким образом у Вас получилось сделать 3 вкладки в DMS карточке?
1. В PFX_TAB1 и PFX_TAB2 прописываю значения(PFX_TAB1 отображается)
2. Нашел место где вызывается этот user-exit, в нем передается только один параметр PFX_TAB1(Программа LCV110F70)
Code:
FORM cust_screen_check.
  CHECK gf_pbo_called IS INITIAL.
  CHECK gf_cust_tab_title1 IS INITIAL.
  CALL CUSTOMER-FUNCTION '001'
       EXPORTING: ps_draw  = gs_draw
       IMPORTING: pfx_tab1 = gf_cust_tab_title1.
ENDFORM.

3. Нот по этому поводу на service.sap.com не нашел.
4. Система ERP 6.0

Автор:  Monarch [ Пн, фев 07 2011, 20:33 ]
Заголовок сообщения:  Re: Изменение DMS документа

Slim,

я давно не занимался DMS и, ксожалению, не имею доступа к тем разработкам, о которых писал в 2008 году.
Попробуйте посмотреть в сторону имплементации классов внедрения для интерфейсов IF_EX_DOCUMENT_MAIN* (это по памяти, могу ошибаться ...). Ну и пройтись по ФМам ГФ XCV110.

Удачи!

Автор:  PP [ Вт, мар 01 2011, 14:03 ]
Заголовок сообщения:  Re: Изменение DMS документа

Почему бы не сделать так:
- В пееропределенном методе Edit БО перед вызовом CV02N устанавливать, напр, Memory ID (после вызова снять).
- В определении (se18) DOCUMENT_AUTH01 проверять данный Memory ID и разрешать или запрещать открытие документа.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/