Текущее время: Сб, авг 09 2025, 18:24

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Mixail167


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

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