Текущее время: Чт, авг 07 2025, 04:22

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Как дать полномочия на свое разработанное поле в карточке основного средства
СообщениеДобавлено: Чт, ноя 26 2009, 11:47 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Здравствуйте! У нас имеется следующая задача..
Как известно, изменение ОС делается транзакцией AS02.
Прорезали несколько полей в своем разработанном экране в карточке ОС (использовали структуру CI_ANLU).
Теперь необходимо дать полномочия на изменение данных полей некоторому пользователю (не бухгалтер по ОС) , при этом не давать ему полномочия на изменения остальных полей в карточке.
Как это можно осуществить?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как дать полномочия на свое разработанное поле в карточке основного средства
СообщениеДобавлено: Чт, ноя 26 2009, 18:47 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, сен 22 2006, 10:07
Сообщения: 369
Откуда: Ставрополье
Пол: Мужской
Сделайте Z* объект полномочий и в USER-экзите/расширении выполняйте проверку этого объекта полномочий:операция + значение полномочия. Вполне безобидный ABAP. А разработанный объект включите в роль и присваивайте ответственным пользователям.

_________________
SAP R/3 Enterprise (4.7)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как дать полномочия на свое разработанное поле в карточке основного средства
СообщениеДобавлено: Пн, ноя 30 2009, 15:51 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
С помощью объекта полномочий и роли можно ограничить доступ к данным, разработанным Z-полям... Но вопрос немного в другом. Пользователь получает полномочия на изменения значений разработанных Z-полей в карточке ОС, когда ему дается некая роль, где есть транзакция AS02 (изменение ОС). Если пользователь имеет полномочия на AS02, то он автоматически имеет доступ ко всем остальным (стандартным) полям в карточке ОС. Задача состоит в том, чтобы пользователь при запуске операции изменения ОС, увидел открытыми только Z-поля, а остальные стандартные поля оставались серыми - не редактируемыми.... :) Существует ли какой-нибудь механизм, реализующий данную задачу? Или же придется разработать некий свой интерфейс на ABAP для решения этой задачи?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как дать полномочия на свое разработанное поле в карточке основного средства
СообщениеДобавлено: Пн, ноя 30 2009, 17:51 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, фев 08 2006, 15:02
Сообщения: 168
Откуда: Питер
Пол: Женский
А сделать копию транзакции(ZAS02) для данного пользователя и там в ней уже все позакрывать не получится?

_________________
тараканов надо бить!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как дать полномочия на свое разработанное поле в карточке основного средства
СообщениеДобавлено: Пн, ноя 30 2009, 23:39 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 16 2008, 16:50
Сообщения: 138
Откуда: Россия
Пол: Женский
Karmen написал(а):
С помощью объекта полномочий и роли можно ограничить доступ к данным, разработанным Z-полям... Но вопрос немного в другом. Пользователь получает полномочия на изменения значений разработанных Z-полей в карточке ОС, когда ему дается некая роль, где есть транзакция AS02 (изменение ОС). Если пользователь имеет полномочия на AS02, то он автоматически имеет доступ ко всем остальным (стандартным) полям в карточке ОС. Задача состоит в том, чтобы пользователь при запуске операции изменения ОС, увидел открытыми только Z-поля, а остальные стандартные поля оставались серыми - не редактируемыми.... :) Существует ли какой-нибудь механизм, реализующий данную задачу? Или же придется разработать некий свой интерфейс на ABAP для решения этой задачи?


А вот тут вы ошибаетесь. Мы например, с помощью абапа так сделали несколько проверок на стандартных полях. Все как Кросафчег!!! описал. В вашем случае можно сделать объект полномочий и добавить его в стандартную роль для отдела учета, при сохранении, либо по enter система будет проверять есть ли пользователя объект на изменение таких-то полей, если нет, то система будет выдавать сообщение о нехватке полномочий.
Примерно выглядет это так:
DO 1 TIMES.
AUTHORITY-CHECK OBJECT 'Z_AA_MSFO'
ID 'ACTVT' FIELD '02'.
CHECK sy-subrc NE 0.

DATA: lv_ord42_global TYPE string VALUE '(SAPLXAIS)anla-ord42',
lv_with1 TYPE string,
lv_with2 TYPE string,
lv_with3 TYPE string,
lv_num TYPE i.
FIELD-SYMBOLS <fs_ord42> LIKE anla-ord42.
FIELD-SYMBOLS <fs_anla> LIKE LINE OF t_anla.
READ TABLE t_anla INDEX 1 ASSIGNING <fs_anla>.
ASSIGN (lv_ord42_global) TO <fs_ord42>.
IF <fs_ord42> IS ASSIGNED AND <fs_anla> IS ASSIGNED.
IF <fs_anla>-ord42 NE <fs_ord42>.
<fs_anla>-ord42 = <fs_ord42>.
MESSAGE w155(zfi) DISPLAY LIKE 'E' WITH 'поле "Группа имущ. МСФО" ' '[ORD42]'.
ENDIF.
ENDIF.

TYPES: tt_anlb TYPE TABLE OF anlb.
DATA: lv_afasl_global TYPE string VALUE '(SAPLXAIS)GT_ANLB[]',
wa_anlb_pred TYPE anlb.
FIELD-SYMBOLS <fs_anlb_pred> TYPE tt_anlb.
FIELD-SYMBOLS <fs_anlb> LIKE LINE OF t_anlb.

ASSIGN (lv_afasl_global) TO <fs_anlb_pred>.
IF <fs_anlb_pred> IS ASSIGNED.
READ TABLE <fs_anlb_pred> WITH KEY afabe = '05' INTO wa_anlb_pred.
IF sy-subrc EQ 0.
READ TABLE t_anlb WITH KEY afabe = '05' ASSIGNING <fs_anlb>.
IF sy-subrc EQ 0.
IF wa_anlb_pred-afasl NE <fs_anlb>-afasl OR wa_anlb_pred-ndjar NE <fs_anlb>-ndjar OR wa_anlb_pred-ndper NE <fs_anlb>-ndper.
CLEAR: lv_with1, lv_with2, lv_with3, lv_num.
IF wa_anlb_pred-afasl NE <fs_anlb>-afasl.
<fs_anlb>-afasl = wa_anlb_pred-afasl.
lv_with1 = '"Код амортизации [AFASL]" '.
ADD 1 TO lv_num.
ENDIF.
IF wa_anlb_pred-ndjar NE <fs_anlb>-ndjar.
<fs_anlb>-ndjar = wa_anlb_pred-ndjar.
lv_with2 = '"СрокЭспл [NDJAR]" '.
ADD 1 TO lv_num.
ENDIF.
IF wa_anlb_pred-ndper NE <fs_anlb>-ndper.
<fs_anlb>-ndper = wa_anlb_pred-ndper.
lv_with3 = '"Период [NDPER]" '.
ADD 1 TO lv_num.
ENDIF.
IF lv_num EQ 1.
CONCATENATE 'поле' lv_with1 INTO lv_with1 SEPARATED BY ' '.
ELSE.
CONCATENATE 'поля' lv_with1 INTO lv_with1 SEPARATED BY ' '.
ENDIF.
MESSAGE w155(zfi) DISPLAY LIKE 'E' WITH lv_with1 lv_with2 lv_with3 ' для 5-й области'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDDO.

_________________
"Каждый хочет, чтобы правда была на его стороне, но не каждый хочет быть на стороне правды". Ричард Уэйтли


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как дать полномочия на свое разработанное поле в карточке основного средства
СообщениеДобавлено: Вт, дек 01 2009, 10:51 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 16 2008, 16:50
Сообщения: 138
Откуда: Россия
Пол: Женский
Можно еще попробовать через стандартную транзакцию ansicht. Только у меня не получилось ее использовать. Но может это то что нужно вам. Попробуйте, а потом расскажете, что и как :)

_________________
"Каждый хочет, чтобы правда была на его стороне, но не каждый хочет быть на стороне правды". Ричард Уэйтли


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как дать полномочия на свое разработанное поле в карточке основного средства
СообщениеДобавлено: Ср, дек 02 2009, 13:19 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Когда прорезаются поля создаю новый экран с номером 900X и там рисую. Это все создается в группе функций XAIS. Получается, в PAI-логике этого 900X экрана надо поставить проверку на остальные поля в ОД ОС (которые находятся в других вкладках и других стандартных экранах)?
Я сейчас думаю, насколько возможно сделать следующее.. В группе функций AIST (где контролируются все стандартные поля) найти место, куда можно написать свой код, который будет вызываться раньше всех PBO и там сделать "серыми" все стандартные поля кроме своих разработанных при срабатывании какого-то условия (например, в этом условии можно поставить проверку на объект полномочий)...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как дать полномочия на свое разработанное поле в карточке основного средства
СообщениеДобавлено: Вт, дек 08 2009, 10:13 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, апр 08 2008, 13:49
Сообщения: 80
Через транзакцию ansicht дйствительно можно сделать то что вы хотите. Определяете в одном из ракурсов, который будете использовать для закрытия стандартных полей, поля на ведение и просмотр. Затем заменяете в роли старый ракурс на свой. Работает! :idea:


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

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


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

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


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

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